Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как получить список всех форм в 1С , 1С:Предприятие 8.3 (8.3.5.1517) - управляемое приложение          
Gigi Подменю пользователя
сообщение 15.10.19, 11:17
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Всем опять привет!
Вообще есть формы системные. Это формы для метаданных. Которые разделены по категориям: ФормаОбъекта, формаСписка и ФормаВыбора.
А есть созданные в конфигурации формы.
Так вот, нужна функция возвращающая значения списка созданных форм. В формате на пример структуры или списка значений ... Не важно.
Для лучшего понимания вопроса вот на пример следующая функция. Написать которую, в чем плюс было не сложно:
//СписокЭлементовМетаданных = ОбщийМодуль_МетаДанные.СписокЭлементовМетаданных(МетаданныеГруппа,"СписокЗначений");
Функция СписокЭлементовМетаданных(МетаданныеГруппа,ФорматВозрата) Экспорт
Перем СписокЭлементовМетаданных, ЭлементМетаданных;
Если ФорматВозрата="СписокЗначений" Тогда
    СписокЭлементовМетаданных = Новый СписокЗначений();
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    СписокЭлементовМетаданных.Добавить(ЭлементМетаданных.Имя,ЭлементМетаданных.Синоним);
    КонецЦикла;
    Возврат СписокЭлементовМетаданных;
ИначеЕсли ФорматВозрата="Структура" Тогда
    СписокЭлементовМетаданных = Новый Структура();
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    СписокЭлементовМетаданных.Вставить(ЭлементМетаданных.Имя,ЭлементМетаданных.Синоним);
    КонецЦикла;
    Возврат СписокЭлементовМетаданных;    
Иначе
    Возврат Неопределено;    
КонецЕсли;
КонецФункции

Данная функция выводит список элементов метаданных по указанной в функции группе.
И как понимается тут все легко и просто.
Нужно то же самое, только для форм.
Т.е. таким же маккаром получить его в виде структуры или списка значений.
Если 1С позволяет это то просьба скинуть готовую функцию в примерно подобном стиле. Если конечно не трудно.
Буду признателен!

Vofka Подменю пользователя
сообщение 15.10.19, 11:18
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

ЭлементМетаданных.Формы?

Gigi Подменю пользователя
сообщение 15.10.19, 11:20
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Vofka @ Сегодня, 11:18 * ,
Цитата(Vofka @ 15.10.19, 11:18) *
ЭлементМетаданных.Формы?

Ну да ... список вообще всех форм в конфигурации... которые были созданы программистом.
Вот что..

Gigi Подменю пользователя
сообщение 15.10.19, 13:51
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Сегодня, 11:20 * ,
Короче ... по указанному вопросу кое что нарыл. А потом прописал функцию в таком виде:
//СписокЭлементовМетаданных = ОбщийМодуль_МетаДанные.СписокФормМетаданных("МетаданныеГруппа","МетаданныеИмя","СписокЗначений");
Функция СписокФормМетаданных(МетаданныеГруппа,МетаданныеИмя,ФорматВозрата) Экспорт
Формы = Метаданные[МетаданныеГруппа][МетаданныеИмя].Формы;
Если ФорматВозрата="СписокЗначений" Тогда
    СписокФорм = Новый СписокЗначений();
    Для Каждого ТекФорма Из Формы Цикл
    СписокФорм.Добавить(ТекФорма.Имя,ТекФорма.Синоним);
    КонецЦикла;
    Возврат СписокФорм;
Иначе
    стрСписокФорм = Новый Структура();
    Для Каждого ТекФорма Из Формы Цикл
    стрСписокФорм.Вставить(ТекФорма.Имя,ТекФорма.Синоним);
    КонецЦикла;
    Возврат стрСписокФорм;    
КонецЕсли;
КонецФункции

Т.е. в том же стиле как и для случая списка элементов метаданных по группе. С единственной разницей. С той что в этой функции (по списку форм) вынужден был добавить еще один третий аргумент: "МетаданныеИмя". А мне нужно без этого аргумента. А еще лучше и вообще без каких либо главных аргументов.... т.е. Без "МетаданныеГруппа" и "МетаданныеИмя".
Т.е. команда или функция которая выводит список ПОЛНЫХ ИМЕН всех созданных программистом форм в конфигурации. Вне зависимости от Группы метаданных.
Вот что...

Gigi @ Сегодня, 13:16 * ,
Гуу ... как понимаю исходя из возможностей языка 1С по данной теме, можно написать функцию только в таком думаю финальном виде:
//СписокФорм = Config_МетаДанные.СписокФорм("МетаданныеГруппа","МетаданныеИмя","СписокЗначений");
Функция СписокФорм(МетаданныеГруппа,МетаданныеИмя,ФормаВозрата) Экспорт
//======================================        
Попытка    
    Если МетаданныеГруппа=Неопределено или МетаданныеИмя=Неопределено Тогда    
        Формы = Метаданные.ОбщиеФормы;
    Иначе
        Формы = Метаданные[МетаданныеГруппа][МетаданныеИмя].Формы;    
    КонецЕсли;
Исключение
    Возврат Неопределено; Сообщить(ОписаниеОшибки());
КонецПопытки;
//======================================
Если ФормаВозрата="СписокЗначений" Тогда
    СписокФорм = Новый СписокЗначений();
    Для Каждого ТекФорма Из Формы Цикл
    СписокФорм.Добавить(ТекФорма.Имя,ТекФорма.Синоним);
    КонецЦикла;
    Возврат СписокФорм;
Иначе
    стрСписокФорм = Новый Структура();
    Для Каждого ТекФорма Из Формы Цикл
    стрСписокФорм.Вставить(ТекФорма.Имя,ТекФорма.Синоним);
    КонецЦикла;
    Возврат стрСписокФорм;    
КонецЕсли;
КонецФункции

И как догадываюсь по другому в более универсальном стиле никак не сделаешь.
На пример так:
Формы = Метаданные.Формы;

или так
Формы = Метаданные[МетаданныеГруппа].Формы;

Никак не пропишешь. Потому, что в 1С это не корректно.
А мне именно так и надо.
В стиле:
Цитата
Формы = Метаданные.Формы

И именно в таком. Т.е. в стиле простой функции которая возвращает список полных имен по ВСЕМ ФОРМАМ КОНФИГУРАЦИИ!
Вот в каком...




Gigi @ Сегодня, 13:45 * ,
Ладно! Все ясно ... Пока!

Gigi Подменю пользователя
сообщение 15.10.19, 21:02
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Сегодня, 14:51 * ,
Да... еще ... все таки решил сделать постскриптум...
Так .. для большей наглядности того что было нужно. Да и вообще если кому то из гостей сайта будет нужно.
Вот финальный полный вариант решения вопроса темы:
&НаКлиенте
Процедура МетадданныеСписокФорм(Команда)
СписокФорм = СписокФорм(,,"СписокЗначений");
СписокЗнач=ОкноВыбора(СписокФорм,"Значение");
КонецПроцедуры

&НаКлиенте
Функция ОкноВыбора(СписокЗнач,СвойствоВозврата) Экспорт
ВыбранныйЭлементСписка = СписокЗнач.ВыбратьЭлемент();
Если ВыбранныйЭлементСписка = Неопределено Тогда
     Возврат Неопределено;
КонецЕсли;
Если СвойствоВозврата = Неопределено Тогда
    Возврат ВыбранныйЭлементСписка;
Иначе
    Возврат ВыбранныйЭлементСписка[СвойствоВозврата];
КонецЕсли;
КонецФункции

//СписокФорм = СписокФорм("МетаданныеГруппа","МетаданныеИмя","СписокЗначений");
&НаСервере
Функция СписокФорм(МетаданныеГруппа,МетаданныеИмя,ФорматВозрата) Экспорт
//======================================        
Попытка    
    Если МетаданныеГруппа<>Неопределено и МетаданныеИмя<>Неопределено Тогда     
        ствСписокФорм = СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,);
    Иначе
        ствСписокФорм = СписокВсехФорм();
    КонецЕсли;
Исключение
     Сообщить(ОписаниеОшибки()); Возврат Неопределено;
КонецПопытки;
//======================================
Если ФорматВозрата="СписокЗначений" Тогда
    СписокФорм = Новый СписокЗначений();
    Для Каждого Эл из ствСписокФорм Цикл        
     СписокФорм.Добавить(Эл.Ключ,Эл.Значение); //Сообщить(Эл.Ключ+" - "+Эл.Значение);
    КонецЦикла;
    Возврат СписокФорм;
Иначе
    Возврат ствСписокФорм;    
КонецЕсли;
//======================================
КонецФункции

//СписокФормПоГруппе = СписокФормПоГруппе("МетаданныеГруппа","МетаданныеИмя",стрСписокФорм);
&НаСервере
Функция СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,стрСписокФорм) Экспорт
Если ТипЗнч(стрСписокФорм)<>Тип("Соответствие") Тогда    
стрСписокФорм = Новый Соответствие();    
КонецЕсли;    
//======================================        
Попытка    
    Если МетаданныеГруппа="ОбщиеФормы" Тогда    
        Формы = Метаданные.ОбщиеФормы;
    Иначе    
        Формы = Метаданные[МетаданныеГруппа][МетаданныеИмя].Формы;        
    КонецЕсли;
Исключение
     Сообщить(ОписаниеОшибки()); Возврат Неопределено;
КонецПопытки;
//======================================
    Для Каждого ТекФорма Из Формы Цикл
    ПолноеИмя=МетаданныеГруппа+"."+ТекФорма.Имя;ПолноеИмяСиноним=МетаданныеГруппа+" - "+ТекФорма.Синоним;
    стрСписокФорм.Вставить(ПолноеИмя,ПолноеИмяСиноним);
    КонецЦикла;    
//======================================    
    Возврат стрСписокФорм;    
КонецФункции

&НаСервере
Функция СписокВсехФорм() Экспорт
//============================
    СписокВсехФорм = СписокФормПоГруппе("ОбщиеФормы",,);
//----------------------------
    МетаданныеГруппа="Справочники";
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    МетаданныеИмя=ЭлементМетаданных.Имя;
    СписокВсехФорм = СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,СписокВсехФорм);
    КонецЦикла;    
//----------------------------
    МетаданныеГруппа="Документы";
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    МетаданныеИмя=ЭлементМетаданных.Имя;
    СписокВсехФорм = СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,СписокВсехФорм);
    КонецЦикла;    
//----------------------------
    МетаданныеГруппа="Отчеты";
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    МетаданныеИмя=ЭлементМетаданных.Имя;
    СписокВсехФорм = СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,СписокВсехФорм);
    КонецЦикла;    
//----------------------------
    МетаданныеГруппа="Обработки";
    Для Каждого ЭлементМетаданных Из Метаданные[МетаданныеГруппа] Цикл
    МетаданныеИмя=ЭлементМетаданных.Имя;
    СписокВсехФорм = СписокФормПоГруппе(МетаданныеГруппа,МетаданныеИмя,СписокВсехФорм);
    КонецЦикла;    
//----------------------------
    // и так далее ...
//============================
Возврат СписокВсехФорм;
КонецФункции

Ну как понимается по вопросу темы и тут не обошлось всего одной короткой строкой ... на пример одной строкой какой нибудь встроенной системной функции. И опять и тут программист вынужден сам писать.
Хотя слава богу, что физический 1С все же позволяет сделать то что было нужно.
По крайней мере ... ну не знаю...., может можно было сделать иначе, но решил не париться и сделать по быстрому.
Однако если будут более оптимальные предложения то буду признателен!
Ладно! Пока!

Gigi Подменю пользователя
сообщение 16.10.19, 12:56
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Вчера, 22:02 * ,
Хотя стоп …. Еще малое дополнение…
Мною была допущена одна ошибка … по запарке на скорую руку. Из-за которой, выбранную форму из списка полученных форм, открыть невозможно. Ибо полные имена форм некорректные.
Хотя можно было забить и оставить с ошибкой. Но все-таки…. Раз решил скинуть функцию решающую вопрос темы. Ту функцию, которая думаю, подавляющему большинству зареганых на данном сайте не нужна на фиг … smile.gifsmile.gif))…, а думаю, может понадобиться только гостям данного сайта. И раз решил все таки выставил решение то, все должно быть все таки без ошибок.
Короче … где там ошибка… которую зареганные пользователи думаю, заметили. И как устранить ее.
Ко всему изложенному выше нужно добавить одну функцию, на пример вот эту:

&НаСервере
Функция ГруппаМетаданныхФормы(МетаданныеГруппа)
    Если МетаданныеГруппа="ОбщиеФормы" Тогда
    знМетаданныеГруппа="ОбщаяФорма";    
    ИначеЕсли МетаданныеГруппа="Справочники" Тогда
    знМетаданныеГруппа="Справочник";
    ИначеЕсли МетаданныеГруппа="Документы" Тогда
    знМетаданныеГруппа="Документ";
    ИначеЕсли МетаданныеГруппа="Отчеты" Тогда
    знМетаданныеГруппа="Отчет";
    ИначеЕсли МетаданныеГруппа="Обработки" Тогда
    знМетаданныеГруппа="Обработка";
    Иначе
    // и т.д. Перечисления-Перечисление; Задачи-Задача; и т.д. ... Тьфу ... блиин … сколько приходиться мудохаться с этой опять очередной какой-то ерундой. И это вместо того, что бы воспользоваться готовой системной функцией. Которой в 1С опять просто НЕТ!
    КонецЕсли;
Возврат знМетаданныеГруппа;
КонецФункции



А еще …

в функции с именем: «СписокФормПоГруппе» текст кода:
Для Каждого ТекФорма Из Формы Цикл
ПолноеИмя=МетаданныеГруппа+"."+ТекФорма.Имя;ПолноеИмяСиноним=МетаданныеГруппа+" - "+ТекФорма.Синоним;
стрСписокФорм.Вставить(ПолноеИмя,ПолноеИмяСиноним);
КонецЦикла;

Нужно сменить на вот этот:
Для Каждого ТекФорма Из Формы Цикл
знМетаданныеГруппа=ГруппаМетаданныхФормы(МетаданныеГруппа);//Сообщить(МетаданныеГруппа);
Если знМетаданныеГруппа="ОбщаяФорма" Тогда
ФормаПолноеИмя=знМетаданныеГруппа+"."+ТекФорма.Имя;ФормаПолноеИмяСиноним=знМетаданныеГруппа+" - "+ТекФорма.Синоним;
Иначе
ФормаПолноеИмя=знМетаданныеГруппа+"."+МетаданныеИмя+".Форма."+ТекФорма.Имя;ФормаПолноеИмяСиноним=знМетаданныеГруппа+" - "+ТекФорма.Синоним;
КонецЕсли;
стрСписокФорм.Вставить(ФормаПолноеИмя,ФормаПолноеИмяСиноним);
КонецЦикла;



Кроме того в команде: «МетадданныеСписокФорм» нужно прописать так:

&НаКлиенте
Процедура МетадданныеСписокФорм(Команда)
СписокФорм = СписокФорм(,,"СписокЗначений");
ФормаВыбора=ОкноВыбораВыбор(СписокФорм,"Значение");
Если ФормаВыбора<>Неопределено Тогда
ОткрытьФорму(ФормаВыбора);
КонецЕсли;
КонецПроцедуры



Вот теперь нормально…

Gigi @ Сегодня, 12:42 * ,
И все это касательно для списка созданных форм. А для вывода системных форм нужно доработать.
Кстати в 1С и тут малая недоработка.
Когда выбираешь формы для рабочего стола то система 1С выводит список только созданных форм.
А где же список системных? И тут, лично я думаю что перед появлением списка форм система до этого должна вообще давать возможность выбора. Формы: "Системные" или "Созданные".
Вот еще недоработка, хотя малая.
Поэтому тут опять нужно самому дорабатывать.

И НАКОНЕЦ РЕЗЮМЕ"


Исходя из выше изложенного, ВЫВОД СЛЕДУЮЩИЙ!
Как понимается, система 1С очень удобна и функциональна. И в ней куча разных возможностей, которые сильно облегчают жизнь программиста. Именно поэтому в программировании офисных приложений пользуется широким юзом. И очень популярна. Ибо если такой системы не имелось, то это был бы ужас для разработчика. И тогда программисту пришлось бы в другой среде разработки писать все с нуля.
Однако для до конца удобной работы в этой среде очень много недоработок. Их не мало. И уже настолько, что думаю аж статью написать на эту тему. Где детально перечислить те многочисленные недоработки, с которыми столкнулся.
А если же говорить о не доработках, по теме то, как видно по выше изложенному по объему длинного текста кода (и это, что самое смешное, для решения аж до предела простой задачи), одна из недоработок системы 1С в отсутствии кое каких нужных функций. Имею ввиду то, что в 1С есть очень большое количество системных функций. Что, конечно же, безусловный плюс. Но при этом, минус в том, что язык 1С включает в себя только основные функции. И только самые необходимые. Т.е. те функции, без которых и вовсе невозможно было бы работать в этой среде разработки. Но дело в том, что для до конца удобной работы программиста этого МАЛО. Ибо, что бы было удобно в полной мере, кроме основных функций нужны еще и вспомогательные. И вот тут, что видно невооруженным глазом великий и могучий язык 1С скуп. И ему часто просто нечего предложить. О чем и свидетельствует вышеуказанный, совсем не короткий пример кода. Именно поэтому в вопросе наличия вспомогательных функций у языка 1С и получается жалкое зрелище.
И это всего лишь один из многочисленных вопросов, который в языке 1С отсутствует в готовом виде. Могу привести кучу и других вопросов. Одно из них, например, не по вопросу темы, пример одной простой функции, которая в языке 1С тоже отсутствует в готовом виде. На пример вот этой:
Цитата
«Парсер(<ИскомыйТекст>,<СимволПовтора>,<НомерВхожения>)

За всю историю профессии программиста, если посчитать количество программистов которым приходилось писать подобную функцию. Как думается, какую цифру получим? 1000, 10 000 или 100 000? Нет! Цифра будет не 10 тыс. и даже не 100 тыс. а миллион и больше.
Т.е. вопрос примера, не из чем то особенных, а это просто даже банально. smile.gifsmile.gif Аж, до предела. Более того, это просто чистой воды Банальщина. А подобной функции в языке 1С опять нет. Даже, такой аж до предела банальной. Так же как многих других функций.
И дело в том, что язык 1С это не низкоуровневый и не среднеуровневый, а высокоуровневый.
Поэтому нужно стремиться вверх, вместо того, что бы оставаться на месте, или хуже того спускаться вниз smile.gifsmile.gif


Вот теперь у меня все!

andr_andrey Подменю пользователя
сообщение 18.10.19, 9:51
Сообщение #7

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Gigi @ 16.10.19, 13:56 * ,
[необходимо зарегистрироваться для просмотра ссылки]


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Gigi Подменю пользователя
сообщение 18.10.19, 10:11
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

andr_andrey @ Сегодня, 10:51 * ,
[необходимо зарегистрироваться для просмотра ссылки]
smile.gifsmile.gif

Сообщение отредактировал Vofka - 18.10.19, 10:20

andr_andrey Подменю пользователя
сообщение 18.10.19, 10:17
Сообщение #9

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Gigi @ Сегодня, 11:11 * ,
Там же написано: "Писалось студентом-программистом и студентом-лингвистом."
И дата указанной публикации "махровая".


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Gigi Подменю пользователя
сообщение 18.10.19, 10:44
Сообщение #10

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Сегодня, 11:11 * ,
Все таки, ту функцию которая представлена на странице infostart.ru/public/16470/, хорошо что в свое время не мне самому пришлось писать.
И подумать только сколько времени на это у меня ушло бы. Да я просто замучился бы с написанием подобной функции самому.
Так что к счастью, эта функция оказалась в готовом виде хоть не в самой системе 1С, а в другом источнике написанная профессионалом.
И это ОЧЕНЬ НУЖНАЯ функция.... Тем более для офисов. Где в одном из справочников на пример "Поставщики" есть на пример реквизит: "Директор". И есть текст договора где нужно склонять ФИО.
А по поводу v8.1c.ru/o7/201408str/index.htm
Ну ладно .. понял ... smile.gif
И понятное дело что наш уважаемый 1c.ru не сидит на месте, а развивается. Все больше и больше расширяя возможности.
И по поводу на пример таких функций как: "СтрНайти()"; СтрШаблон(); и т.д. знаю я их. И это конечно же плюсы.
Но я считаю что такая функция как на пример СтрПарсер(текст,символ,номер), все таки нужна. Хотя бы на пример для вот этой цели:
МетаДанныеПолноеИмя=Значение.Метаданные().ПолноеИмя();
МетаданныеГруппа=Config_String_серв.Парсер(МетаДанныеПолноеИмя,".",1); // Самому пришлось написать в общем модуле!
МетаданныеИмя=Config_String_серв.Парсер(МетаДанныеПолноеИмя,".",2);// Самому пришлось написать в общем модуле!

И еще ... в 1С есть такая функция как
ТипЗнч(Значение)

Говорю Вам честно... я просто не могу понять ... я не врубаюсь как можно было ее так написать. И написать ее таким образом, что бы программист мучился с ней.
[необходимо зарегистрироваться для просмотра ссылки]
Я тоже с этим столкнулся smile.gif .... с тем о чем идет речь на этой странице - forum.mista.ru/topic.php?id=511214
Поэтому о функции ТипЗнч() поделюсь в новой теме отдельно. Если это не нарушит регламент данного сайта.
А по данной теме у меня все!

Gigi Подменю пользователя
сообщение 18.10.19, 11:59
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Сегодня, 11:44 * ,
Все таки решил создать новую тему. И там и поделится просто мнением по функции "ТипЗнч()" .
Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Просто так ... без веской на то причины.
А тут у меня все!
Всем спасибо за отклики!
Пока!

P.S.
Цитата(andr_andrey @ 18.10.19, 11:17) *
Там же написано: "Писалось студентом-программистом и студентом-лингвистом."

Кем написано не важно. Главное рабочая (лично проверял), и полезная. И то, что в системе 1С такой функции опять нет!
Ладно! Кончаю уже с этой темой...
Пока!

getnight Подменю пользователя
сообщение 19.10.19, 13:46
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Gigi @ 18.10.19, 10:44) *
И есть текст договора где нужно склонять ФИО.


Честно, мне сложно представить договор серьёзной фирмы, где в начале текста не написано примерно следующее:

ФОП Андрей Иванович Криворуков (далее ИСПОЛНИТЕЛЬ) обязуется создать программу для управления деревообрабатывающими станками для ООО "Дерево" (далее ЗАКАЗЧИК)
[...и далее по тексту]

Какие склонения в договорах? Это что, 18й век?..

П.С. склонения ФИО, безусловно, полезная и интересная задача. Но не в приведённом примере.

Gigi Подменю пользователя
сообщение 19.10.19, 21:05
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

getnight @ Сегодня, 14:46 * ,
И тут я тоже уже устал...
Ладно ... да точно .. оказывается склонение ФИО НЕ НУЖНА!
Равно как и многое другое в системе 1С.
Вы это хотите услышать?
И студенты программист и лингвист в таком случае наверно в пустую тратили свое время.
Пожалуйста уважаемые ... не пытайтесь оправдывать ГРЕХИ производителей системы 1С.
Я не буду с вами спорить и доказывать что функция склонения ФИО НУЖНА!
Она на мой взгляд НУЖНА! Так же как многое другое.
Может мне Вам скинуть копию текста договора?
Ладно... не буду..
Устал уже.. извините.. так что воздержусь.
И поэтому и тут на этом остановлюсь.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 10:42
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!