gifts2017

v8.2 Управляемые формы: Динамические элементы формы и переопределяемые события или как изменить поведение и внешний вид управляемой формы программно без лишних хлопот

Опубликовал Сергей Марченко (MarSeN) в раздел Программирование - Инструментарий

В продолжении статьи "v8: Концепция минимального изменения конфигурации для легкого обновления" (http://infostart.ru/public/170935/) предлагаю вашему вниманию небольшую подсистему, позволяющую динамически размещать реквизиты формы, элементы формы переопределять события существующих и назначать новые на уровне "настроек"

Предисловие:

В предыдущей статье я предложил методику модификации конфигурации 1С, находящейся на поддержке с описанием некоторых применяемых мною подходов программирования, позволяющих с минимальными изменениями объектов конфигурации добиться, по моему мнению, максимально "простого" обновления типовой конфигурации. Хочу уточнить что речь идет о тех случаях, когда Вам необходимо менять типовой объект. 

Ограничения: подсистема разрабатывалась для 8.2 управляемое приложение, а именно - конфигурация УТ11. Но механизм может быть применен для любой конфигурации на базе 8.2 управляемые формы. Данная статья и прикрепленная конфигурация направлена на то чтобы продемострировать возможности возможности платформы 8.2 и не является 100% решением всех потребностей динамического изменения формы. 

В данной редакции реализованны механизмы:

  1. Добавление динамических реквизитов любых форм (форм объектов, списков, общих форм и т.п.).
  2. Добавление динамических элементов форм связанных с реквизитами объектов или реквизитами форм (ПолеФормы, ТаблицаФормы)
  3. Переопределение старнадтных обработчиков с возможностью их "наследования"

В качестве примера реализации в конфигурации присутствуют:

  1. Динамическое добавление условного оформления формы (в т.ч. и использование при оформлении динамических реквизитов).
  2. Замена таблицы-источника динамического списка на запрос и модификация запроса динамического списка по "правилам", описаным в предыдущей статье.
  3. Динамическое добавление комманды формы.
К форме документа была применена технология динамической модификации, при этом добавлено условное оформление и добавлены/переопределены обработчики событий и Прошу принять во внимание, что данное решение было написано в процессе доработки конкретной конфигурации и не является механизмом (касается динамических элементов форм), позволяющим реализовать "бантики" на форме ввиде групп, декораций и т.п. В то же время в механизм заложено "ядро" которое может быть доработанно по потребностям.
 
В прикреплении вы можете скачать демонстрационную конфигурацию.

Конфигурация несет в себе только "обучающую" нагрузку. 

Предполагается, что все объекты системы (кроме общего молуля "ДинамическиеЭлементыКлиентСервер" и обработки "ДинамическиеНастройкиФорм") без префикса являются объектами/реквизитами созданными поставщиком. Все "корневые" объекты и реквизиты с префиксом "н" созданы в процессе доработки конфигурации.
 
Описание конфигурации "От поставщика".
 
  1. Константа "Работа с заказами". 
  2. Справочник "Номенклатура" 
    • Реквизиты:
      • Код
      • Наименование
      • ИспользованиеВЗаказах - если "ложь" то отказ от выбора в документе заказа.
    • Формы:
      • Форма элемента - на форме (Код, Наименование, ИспользованиеВЗаказах)
      • Форма списка - источник динамического списка физическая таблица Справочник.Номенклатура.
  3. Документ "Заказ"
    • Реквизиты 
      • Номер
      • Дата
    • Табличные части
      • Товары
        • номер строки
        • Номенклатура
        • Количество
    • Формы
      • Форма документа. 
        • Поведение формы: Если константа "Работа с заказами" = ложь тогда форма заказа не открывается с предупреждением. При попытке выбрать номенклатуру с признаком ИспользованиеВЗаказах = ложь отказ от выбора с сообщением.
      • Форма списка
        • Источник динамического списка - запрос.
 Еще раз повторюсь, функционал бредовый, но он направлен на то чтобы раскрыть возможности механизма динамического изменения формы.
 
Реализованные изменения:
По "ТЗ" в справочник "Номенклатура" добавлены 2 новых реквизита "вес" и "объем" в существющую группу Дополнительные реквизиты.
Результат и потребовавшиеся изменения ниже:
 
По "ТЗ" систему добавлен новый регистр "нАртикулыОсновногоПоставщика" Измерение Номенклатура, ресурс "Артикл". Его требуестя вывести в списке справочника "Номенклатура".
Результат и изменения ниже:
 
 
Так же как и в для пред. объекта существуют настройки макета в которых прописано добавление колонки "артикул".
 
Документ заказ. Пожалуй это основной пример во всей конфигурации.
Изменение функционала по "ТЗ"
  1. При открытии документа система должна игнорировать константу "Работа с заказами". т.е. открываться всегда.
  2. Добавить Табличную Часть "График оплаты" обязательную для заполнения. Реквизиты: Дата, Сумма
  3. Добавить в таблицу Товары реквизиты Цена, Сумма. Сумма должна пересчитываться автоматически при изменении кол-ва и цены.
  4. Добавить в таблицу товары реквизит Отменена - булево. При значении Истина цвет строки устанавливать в серый.
  5. Добавить реквизит формы общее количество и ссумировать количество товаров в документе кроме отмененных строк. пересчет при изменениях количества цены и флага Отменен
  6. Добавить реквизит формы Сумма документа и как итог суммы в таблице товары кроме отмененных строк. пересчет при изменениях количества цены и флага Отменен
  7. Добавить проверку заполнения (при проведении) чтобы сумма по документу была равной итогу по строкам Графика оплат.
  8. Игнорировать флаг "ИспользованиеВЗаказах" при выборе номенклатуры.
  • Результат и изменения ниже:
 
так-же существует настройка в макете динамических элементов аналогии в изменением спр. Номенклатура. 

Доработан в список докумета Заказ колонку  - выведена колонка сумма документа посредством модификации запроса и динам. вывода колонки. Реализация аналогична.

В конфигурации так же добавлен вывод реквизита формы в таблице Товары (не объекта). Реквизит выведен на форму, на него настроено событие и условное оформление
Так же добавлен пример вывода динамической Комманды в заказе в таблице график оплаты.

Если Вы хотите посмотреть как выглядят формы без динамических модификаций установите константу "Использовать динамическую модификацию" в ложь.

Надеюсь эта статья будет Вам полезной а решение достаточно понятным и легким в использовании.
Готов ответить на все интересующие вопросы. По результатам обсуждений готов изменять статью.

Спасибо, и, извините за возможные ошибки в тексте статьи. Писал быстро и не проверял из-за катастрофической нехватки времени. 
 

Скачать файлы

Наименование Файл Версия Размер
Демо конфигурация 294
.zip 73,08Kb
31.01.13
294
.zip 73,08Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Сергей Марченко (MarSeN) 31.01.13 12:55
Хочу уточнить, то в примере используются переопределение и установка событий &НаКлиенте, но механизм расчитан на все события формы и элементов. т.е. пожно переопределять и устанавливать события как &НаКлиенте так и &НаСервере
2. Юрий Лазаренко (TitanLuchs) 01.02.13 13:21
В реальной жизни уже пробовали тестировать? Как-нибудь отражается на быстродействии, тормозов нет?
3. Сергей Марченко (MarSeN) 01.02.13 13:49
(2) Все написанное в обоих статьях с успехом применяется в разрабатываемой и уже внедренной конфигурации УТ11.
Тормозов нет
4. Андрей Овсянкин (Evil Beaver) 01.02.13 16:15
А в 8.3 обещают подписку на события форм. Тогда даже модуль формы менять не придется.
5. Сергей Марченко (MarSeN) 01.02.13 16:59
(4) скорее бы, но пока мы жевем реальностью и приходится как-то выкручиваться ))
6. Ловыгин Антон (wunderland) 05.02.13 02:15
В стандартных тоже иногда применяется динамическое формирование формы, например в УНФ форма элемента для спр. ФизЛица. Но здесь намного красивее. Мне понравилось, возьму на вооружение...
7. Игорь Сарафанов (ivs200999) 06.02.13 07:13
(4) Обещают? Это было бы прекрасно, если было бы правдой.
(1) С какой целью создание реквизитов, элементов и назначение обработчиков реализовано тремя вызовами процедур общего модуля? Для наглядности? Не лучше ли сделать один вызов?
8. Сергей Марченко (MarSeN) 06.02.13 11:06
(7) для того чтобы не перебирать макет если там нет настроек для этой формы. И конечно так нагляднее.
9. Eugeneer (Eugeneer) 07.02.13 20:25
Молодцы!) Изобрели велосипед)) Который ЯРКО и в полном объеме уже давно известен и используется самой 1С в своих конфигурациях.
И ярчайший этому пример - документ Установка цен номенклатуры. Причем с УТ10, на Ут11 он повторяется.

Посмотрите форму и вы поймете о чем идет речь.

Там две табличные части, но на самой форме расположена таблица значений, динамически формирующаяся из двух табличных частей. Чтобы выстроить итоговую таблицу в которой безразмерное количество колонок с ценами для работы с ценами.
Причем таким образом что и формирует обработчики этой самой табличной части.
Работу полей, ввода и всего прочего.

Можно было не пистаь статью а просто дать ссылку на этот типовой документ. В нем гораздо больше код говорит сам за себя.
10. Сергей Марченко (MarSeN) 07.02.13 20:57
(9) Эх...
Цитирую:
"Данная статья и прикрепленная конфигурация направлена на то чтобы продемострировать возможности возможности платформы 8.2".
Никто не говорит о том что это ноу-хау. Есть гораздо продуманные системы по "программному добавлению элементов". И подходов множество. Речь совсем не об этом. А о точ то есть такие возможности и, как вариант, этот механизм.
НО - я еще не встречал механизма который бы давал возможность модифицировать формы (элементы/реквизиты) + их поведение (переопределение событий) в одном флаконе.
Если бы подобный механизм/функционал был хоть бы в одной конфе - статьи бы тут не было.
Попробуйте в пару строк распространить механизм документа Установка цен на всю конфу. Для внедрения моего механихма надо перенести 1 общий модуль и одну обработку.
11. Eugeneer (Eugeneer) 07.02.13 21:04
(10) ну согласен. плюс.
Просто про типовую установку цен я бы упомянул. очень там ярко все выражено. много кода, и сама задача интересная.
12. Сергей Марченко (MarSeN) 07.02.13 21:18
(11) Я только за чтоб в комментах обсуждалось и приводились примеры других реализаций. Но, желательно, не в таком тоне.
Спасибо за понимание.
13. Евгений Фамилия (internetname) 08.02.13 12:56
Управляемые формы рулят. Кстати, когда там рабочая версия 8.3 появится?
14. Сергей Марченко (MarSeN) 08.02.13 15:21
(13) сам жду с нетерпением )
15. Александр Кирилюк (ArtfulCrom) 09.02.13 16:51
(13) ) хотел бы я взглянуть в глаза человеку ЗНАЮЩЕМУ ответ на этот вопрос )
Статья хорошая. Спасибо. Побольше бы таких простых и безхистростных "учебников" для отрастающего поколения
16. Алексей Марочкин (marochkin) 13.02.13 11:34
Спасибо за метод, давно не видел столь грамотного способа. Сам делал нечто подобное (переопределение действий с сохранением вызова типового) для элементов форм. Чувствуется опыт программирования не только в 1С ;)

Скорее всего сталкивались со следующим вопросом, очень интересует как решали!?

БСП входит в состав УТ 11. В своих объектах тоже очень хочется пользоваться плюшками БСП. Самые простые примеры: - структура подчиненности, движения документов, виды объектов доступа и права.

При обновлении БСП, в классическом варианте нужно снимать с поддержки некоторые объекты и снимать галки при обновлении. Как поступить в случае когда в УТ добавляются новые документы и удаляются старые. Вариантов кроме как делать для своих объектов каждый раз руками некий перечень действий, не нашел.

Очень интересен комментарий автора статьи на этот счет!
17. Сергей Марченко (MarSeN) 13.02.13 13:16
(16) Спасибо за высокую оценку.

Я сам пока не заморачивался по "таким" вопросам, так как методику разработал и начал применять относительно недавно. Но на вскидку думаю но структуре подчиненности и движениям документа или другим командам можно просто существующую комманду скопировать в "свою" некую обработку и на нее назначить нужные объекты. при этом больше править ничего не нужно будет. А вот в с составом объектов метаданных, к сожалениию, решений нет. (
По ролям я делаю на все объекты новые роли. Если нужно убрать на сущ. роли часть прав то копирую нужную - ее правлю и потом в профиле перевыбираю свою вместо преджней.
Можно устроить мозговой штурм при желании )
18. Алексей Марочкин (marochkin) 13.02.13 13:42
(17) Да тоже думал над копированием команд, но в некоторых случаях возможно придется копировать объекты целиком, поэтому это пока не сложилось в вариант решения вопроса ))

Насчет прав я не про роли. А про возможность использовать RLS шаблоны самой БСП. Там нужно в нескольких объектах изменять типы, примеры: ПВХ.Виды объектов доступа, некоторые подписки на события, типы измерений некоторых регистров.
19. Сергей Марченко (MarSeN) 13.02.13 13:57
(18) К сожалению приходится нсимать с поддержки и править ручками то что нельзя "отнаследовать". В каждом случае приходится решать проблемку конкретно. Иногда, если есть такая возможность правильнее упростить задачу или решить ее бругим путем. Но 1С в некоторых случаях не оставляет нам другого пути, как решать задачу "В лоб" (
20. ivanov660 ivanov660 (ivanov660) 09.03.13 17:08
Интересный подход. Хотел бы спросить по поводу ограничения доступа на уровне реквизитов, проблем с этим не было? Или задачу динамического размещения необходимо создавать в привилегированном режиме, или данный функционал не зависит от этой особенности?
21. Сергей Марченко (MarSeN) 09.03.13 20:30
(20) ivanov660
Все "динамические" модификации делаются в привелегированном режиме. С правами реквизитов объекта "только на просмотр" все работает корректно. Если отсутствуют права на чтение то будет ошибка. Я делал этот механизм на УТ11 и у в моих задачах не было необходимости запрещать чтение реквизитов.
но не проблема проверить перед добавлением элемента на форму права пользователя на чтение динамически добавляемых реквизитов.
22. Антон Коваленко (Kaval88) 11.03.13 11:53
Интересный подход. Хорошо применялась для моих прикладных задач.
23. Сергей Марченко (MarSeN) 11.03.13 12:06
(22) Kaval88
По моему мнению, на данный момент, это наиболее "полный" вариант из имеющихся на инфостарте включающий подписки, элементы формы и реквизиты.
Задумываюсь над тем чтобы перевести настройку в режим предприятия посредством обработки - визуально чтоб можно было все делать.
24. Сергей Марченко (MarSeN) 11.03.13 12:07
(22) я рад, что данная разработка будет применена не только в моих решениях )
25. Ирина Киселева (irishka77) 16.04.13 12:58
Спасибо, ко времени.Начала работать с бух3.0.
26. Сергей Марченко (MarSeN) 16.04.13 13:58
(25) irishka77,
всегда пожалуйста )
27. Игорь Х (HIgor) 08.08.13 11:49
События &НаСервере пробовали переопределять? У меня ошибки посыпались (хотя мог и я недоглядеть что-нибудь, вместо макета справочник дополнительный завел). &НаКлиенте - все отлично переопределяется.
28. Сергей Марченко (MarSeN) 08.08.13 11:58
(27) HIgor,
Да, должно быть в примере. на документе Заказ. Кажись итоги там подчитываются
29. pbazelyuk (pbazeliuk) 23.08.13 16:05
На версии УТ 11.1.2.8 и выше - не сработает переопределение событий, например в документе реализация товаров услуг.
30. Евгений Пономаренко (Evgen.Ponomarenko) 23.08.13 17:19
Годится, откладываю статью в "закладки"! Вернусь после командировки - разберу по винтикам :)
31. Сергей Марченко (MarSeN) 23.08.13 17:38
(29) pbazelyuk,
А на версии ниже работает??
Думаю, что проблема не в версиях.
Код в студию )) или в личку.
32. Gennady Gennady (mister_tula) 21.03.14 14:29
Интересное решение, но есть большое сомнение в эффективности его применения к изменению типовых конфигураций. Очень большой объем кода приходится вставлять в модули форм, может проще и быстрее вставить "визуальные" элементы и описать на месте все обработчики? Форму-то всё равно придётся скопировать, а потом исправлять! Или Вы меняете существующую форму?
На первый взгляд вижу только некую "классификацию-напоминалку" внесенных изменений в макете "ДинамическиеЭлементыФорм" и "ДинамическиеРеквизитыФорм"?!! Какое мнение автора? Хотелось бы обсудить!
Прикрепленные файлы:
33. Сергей Марченко (MarSeN) 21.03.14 15:08
(32) mister_tula,
Меняется модуль формы и реквизиты. Вставляются только шаблоны обработчиков и строчка вызова общего модуля.
Все что в статье описано как пример и работает на демо конфе - в статье отражено ввиде принтскринов. Думаю это не большие изменения.
или я не понял Вашего вопроса?
готов обсудить.
я не совсем понял о чем Вы "Какое мнение автора?"
mister_tula; +1 Ответить
34. Gennady Gennady (mister_tula) 21.03.14 16:16
Возможно Вы меня не совсем поняли. Шаблоны обработчиков необходимо вставлять в форму, сами обработчики в общий модуль. Я пишу о том, что текста то-полно!! Может всё это сразу вставить в форму и будет проще! Зачем такие сложности? Я не вижу достоинств Вашего решения перед более простым. Возможно я ошибаюсь. Я пытаюсь практически применить Ваши решения и пока не заметил преимуществ. Поэтому и хотел с обсудить. Если , конечно, у Вас есть время.
35. Сергей Марченко (MarSeN) 21.03.14 16:35
(34) mister_tula,
Да, давайте обсудим.
Макеты можно добавлять в конкретные объекты - тогда нудно переписать общий модуль подключений чтоб смотрел модули объектов.
конечно же все тексты обработчков надо хранить в общих модулях.

Давайте я помогу разглядеть их - достоинства, но если только Вы их хотите увидеть. В противном случае лучше поступать так:
Может всё это сразу вставить в форму и будет проще!

какие у Вас лично проблемы возникают с применением данного метода?
36. Gennady Gennady (mister_tula) 21.03.14 17:09
Проблем с "простым" изменением форм - никаких. Я копирую исходную форму, называю её myФормаЭлемента, назначаю основной и вношу все изменения непосредственно в модуль формы.
конечно же все тексты обработчков надо хранить в общих модулях
. В данном случае зачем мне это делать?
Если я воспользуюсь Вашей методикой:
шаблоны обработчиков вставляю в мою форму myФормаЭлемента, затем в общем модуле их описываю. Дописываю метод ПриСозданииНаСервере. Если необходимо добавить доп.реквизиты - добавляю в любом случае. Описываю все изменения в шаблоне ДинамическиеЭлементыФорм. Мне кажется манипуляций даже больше. Объективно, в чем преимущества? Пока я вижу только два:
1) текстовое описание добавляемых реквизитов в шаблоне ДинамическиеЭлементыФорм и ДинамическиеРеквизитыФорм, помогает разобраться в омуте внесенных изменений, СОГЛАСЕН.
2) если вдруг типовая форма изменилась, мне придется ее скопировать вновь и добавить блок по Вашей методике, по моей методике путь немного длиннее - вставляю реквизиты "руками" и привязываю обработчики событий. Не вижу разницы.
Возможно несколько примитивно я описал. Но всё-таки есть другие достоинства?
37. Gennady Gennady (mister_tula) 21.03.14 17:25
Если не сложно, напишите, как действуете Вы для изменения типовой формы, чтобы потом было легче обновляться. Может я не тем путем хожу (:
38. Сергей Марченко (MarSeN) 21.03.14 17:37
(37) mister_tula,
В статье вроде все подробно описано, ну да ладно
1. снимаю форму с поддержки
2. добавляю нужные реквизиты
3. в макете для элементов прописываю куда и какой реквизит поместить
4. в при создании на сервере прописываю вызов метода для динамической вставки элементов
----------------------
обычные реквизиты без обработчиков готовы.

если нужны обработчики как на новые так и на существующие элементы.
1. Прописываю обработчик в макете. если большой текст обработчика - перенаправление в макете в общий модуль
2. Снимаю, если еще не снята, форму с поддержки
3. вставляю подключаемые команды (тексты которые я привел с статье и есть в демке) в модуль формы
4 . подключаю при создании на сервере вызов метода подключения обработчика.

с реквизитами форм все аналогично

что это дает?
При обновлении я вижу что форма поменялась и мне не надо смотреть что там поменялось. Я просто в существующую форму добавляю свои вставки и все. если таковых много - пользуюсь KDiff3

и никаких заново выкладываний на форму, проверок старого и нового функционала в случае если вы делаете свою форму основной и тп.
mister_tula; +1 Ответить
39. Gennady Gennady (mister_tula) 21.03.14 17:46
СПасибо огромное за разъяснение, я был не прав, использую копирование форм. Ваш метод ГОРАЗДО привлекательнее.
А KDiff3 по-моему это какая-то прога для сравнения файлов? А что она может интегрироваться как-то с 1С?
40. Сергей Марченко (MarSeN) 21.03.14 18:01
(39) mister_tula,
KDiff3 - программа которая намного удобнее чем то что предлагает нам 1С
В ней есть возможность сравнивать и объединять до 3-х файлов одновременно. Широко применял для 7.7 в связке с GComp
Нет. она не интегрирована. Нужно выгрузить модули из 1С ч/з выгрузить модули (есть до версии 8.3) или просто ручками создать 2 текстовых файла старого и нового модуля. Объединить и ручками вернуть обратно.
если выгружать из 1С то потом загрузить обратно. Все просто.
Спасибо
DoReMi; mister_tula; +2 Ответить
41. Gennady Gennady (mister_tula) 21.03.14 18:04
42. Сергей Марченко (MarSeN) 22.03.14 00:17
(41) mister_tula,
поделитесь результатами экспериментов )
43. ффф ыыы (zqzq) 17.04.14 08:32
Глянул демо-конфу, достаточно красиво и главное просто реализовано (в отличии от соседней темы где внешние обработки и черт ногу сломит). Единственное, повторяющийся код типа
	МассивИнструкций = ДинамическиеЭлементыКлиентСервер.ПолучитьИнструкцииПереопределаемыхОбработчиков(ЭтаФорма, "ПослеЗаписи");
	
	Для Каждого Инструкция из МассивИнструкций Цикл 
		Выполнить(Инструкция);
	КонецЦикла;	
...Показать Скрыть
можно было бы заменить на одну строчку типа
Выполнить(ДинамическиеЭлементыКлиентСервер.ПолучитьВсеИнструкцииПереопределаемыхОбработчиков(ЭтаФорма, "ПослеЗаписи")); 
44. Сергей Марченко (MarSeN) 17.04.14 09:14
(43) zqzq,
Спасибо
Нет, Ваш код не подходит. Цикл сделан специально, так как подсистема способна нетолько добавлять и заменять сущеструюшие обработчики, но и выполнять новый обработчик до или после существующего.
45. ффф ыыы (zqzq) 17.04.14 11:16
(44) MarSeN, ну так загнать массив инструкций в многострочную строку в общем модуле и её уже выполнять на форме.
46. Сергей Марченко (MarSeN) 17.04.14 11:19
(45) zqzq,
) Согласен, ступил. Спасибо.
47. Th Ft (knasa) 18.03.15 08:17
Здравствуйте MarSeN.
Подскажите пожалуйста, а можно ли на основе Вашей разработки полностью создать таблицуформы и определить в ней колонки. Наподобии как если бы я сделал это в ручную на управляемой форме?
48. Сергей Марченко (MarSeN) 26.03.15 13:45
(47) Да, можно.
это есть в примере
49. Kostya Zhurov (It-developer) 08.05.15 10:10
Не знаю, не знаю. Пробовал динамически добавлять элементы, но в обычные формы. Довольно геморройное дело. Слишком много кода.
Наверно, для каких-то целей такая реализация может подойти. Например, когда у тебя пару сотен узлов, которые ты обновлять не хочешь.
Но опять же, писать кучу всяких обработчиков в самой форме нужно (не считая события ПриСозданииНаСервере) :(
И потом ... в макетах куча описалова по обработчикам, элементам, реквизитам. Приколол макет с реквизитами - куча свойств формы в макете :) - в конце проекта в этом макете будут все свойства реквизитов форм :))
Не знаю как автору, но мне было бы неудобно больше всего не видеть визуально изменяемую форму.
Я поставил плюс, т. к. сама идея мне лично интересна
50. Сергей Марченко (MarSeN) 08.05.15 13:43
(49)
Я объединение делал через KDiff 3 при этом использовал 3 версии текстов (cf) - конфа поставщика, новая версия, и текущая версия.
при этом кадиф автоматом предлагает, если нет изменений между поставщиком и новой от поставщика, вставить код от текущей версии
51. Михаил В (mikhailv) 26.10.15 12:58
(4) Evil Beaver, обещанного 3 года ждут. Исходя из даты сообщения, 01.02.2016 должно случиться чудо:)
52. Василий Пупкин (Cyberhawk) 06.06.16 14:50
1. Я правильно понимаю, что переопределить обработчик ПриСозданииНаСервере не получится?
2. Также желательно описать (и добавить в демо-конфигурацию) переопределение обработчика, получающего на вход больше одного параметра
53. Сергей Марченко (MarSeN) 06.06.16 18:29
(52)
1. Можно переопределить обработчик ПриСозданииНаСервере, но я не заморачивался тогда по причине отсутствия надобности.
2. Принцип всегда один, но количество параметров зависит от конкретного обработчика. Тут особо описывать нечего. Я всегда брал типовой и на основе него делал переопределеное.