Типовой механизм упрощенного изменения конфигурации ERP
Доброго времени суток.
Есть такая статья:
Инфостарт
Возникла необходимость обновления 1С:ERP 2.2
В форме документа Акт выполненных работ для клиента я на форме добавил процедуру перерасчета суммы НДС:
Также ввиду "элегантного" нового решения для несогласованных изменений пришлось добавить описание новой процедуры сюда:
Каким теперь образом на основании статьи, что привел выше возможно все это хозяйство перенести в специально отведенный модули для обновления?
Каким образом при помощи этого механизма возможно переопределять типовые процедуры модуля формы?
Есть такая статья:
Возникла необходимость обновления 1С:ERP 2.2
В форме документа Акт выполненных работ для клиента я на форме добавил процедуру перерасчета суммы НДС:
&НаКлиенте
Процедура УслугиСуммаНДСПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Услуги.ТекущиеДанные;
ПромСуммаНДС = ТекущаяСтрока.СуммаНДС;
ПроцентНДС = ЦенообразованиеКлиентСервер.ПолучитьСтавкуНДСЧислом(ТекущаяСтрока.СтавкаНДС)*100;
РасчСуммаНДС = (ТекущаяСтрока.СуммаСНДС/(100+ПроцентНДС))* ПроцентНДС;
РазнНДС = РасчСуммаНДС - ПромСуммаНДС;
Если (РазнНДС < -0.03) ИЛИ (РазнНДС > 0.03) Тогда
ТекущаяСтрока.Сумма = ТекущаяСтрока.СуммаНДС/ПроцентНДС*100;
УслугиСуммаПриИзменении(Элемент);
КонецЕсли;
ТекущаяСтрока.СуммаНДС = ПромСуммаНДС;
КонецПроцедуры
ПоказатьТакже ввиду "элегантного" нового решения для несогласованных изменений пришлось добавить описание новой процедуры сюда:
&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменении(Элемент)
....................
ИначеЕсли Элемент.Имя = "УслугиСуммаНДС" Тогда
УслугиСуммаНДСПриИзменении(Элемент);
..........................
КонецПроцедуры
Каким теперь образом на основании статьи, что привел выше возможно все это хозяйство перенести в специально отведенный модули для обновления?
Каким образом при помощи этого механизма возможно переопределять типовые процедуры модуля формы?
По теме из базы знаний
- Типовой механизм упрощенного изменения конфигурации в ERP 2.0 и УТ 11
- Генерация кода управляемой формы (декомпиляция элементов)
- Опыт успешного внедрения УТ 11 в небольшом подразделении большой компании
- 1С:Полиграфия 2. Модуль для 1С:ERP, 1С:КА и 1С:УТ
- Программное создание реквизита управляемой формы с помощью механизма расширений
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Борян, внешняя обработка она что подразумевает?
заполнение или модификацию ТЧ, а мне нужно ИМЕННО событие при изменении, чтобы при изменении именно конкретного поля пересчитались значения.
Зачем же к серверу обращаться, если все данные доступны на клиенте.
заполнение или модификацию ТЧ, а мне нужно ИМЕННО событие при изменении, чтобы при изменении именно конкретного поля пересчитались значения.
надо делать на стороне сервера для минимизации вызовов сервера
Зачем же к серверу обращаться, если все данные доступны на клиенте.
Все сделано не так как надо. Из-за таких "доработок" конфигурации и становятся необновляемыми.
У вас в конфигурации есть модуль "модификация конфигурации", в нем нужно свои процедуры "подключать" к событиям типовых элементов, а не напрямую на форме.
У вас в конфигурации есть модуль "модификация конфигурации", в нем нужно свои процедуры "подключать" к событиям типовых элементов, а не напрямую на форме.
(6) Смотрите в процедуру "ПриСозданииНаСервере" вашей формы. В конце нее должен быть вызов типа "СобытияФорм.ПриСозданииНаСервере()". Зайдите в него. Увидите, что в нем вызывается что-то типа "МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка)".
Заходите в эту процедуру и пишете, как и рекомендовано вам в статье "Если Форма = ...", затем переопределяете нужные вам команды и обработчики и все. С примером не помогу - нет под рукой типовой конфы на управляемых.
Заходите в эту процедуру и пишете, как и рекомендовано вам в статье "Если Форма = ...", затем переопределяете нужные вам команды и обработчики и все. С примером не помогу - нет под рукой типовой конфы на управляемых.
Процедура ПриСозданииНаСервереФормыПоступлениеТоваровУслуг(Форма, Отказ, СтандартнаяОбработка)
Элементы = Форма.Элементы;
Элементы.ТоварыСтатьяРасходов.УстановитьДействие("ПриИзменении", "Подключаемый_ТоварыСтатьяРасходовПриИзменении");
Элементы.ТоварыПодразделение.УстановитьДействие("ПриИзменении", "Подключаемый_ТоварыПодразделениеПриИзменении");
КонецПроцедуры
Показать
(8)
Если я вас правильно понимаю, то второй парметр действие Подключаемый_ТоварыПодразделениеПриИзменении нужно описывать тут же в модуле формы????
А есть вариант чтобы саму процедуру действия описать в общем модуле??
Подключаемый_ТоварыПодразделениеПриИзменении
Если я вас правильно понимаю, то второй парметр действие Подключаемый_ТоварыПодразделениеПриИзменении нужно описывать тут же в модуле формы????
А есть вариант чтобы саму процедуру действия описать в общем модуле??
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот