Типовой механизм упрощенного изменения конфигурации ERP

1. Manticor 66 28.04.17 11:03 Сейчас в теме
Доброго времени суток.

Есть такая статья:
Инфостарт

Возникла необходимость обновления 1С:ERP 2.2

В форме документа Акт выполненных работ для клиента я на форме добавил процедуру перерасчета суммы НДС:

&НаКлиенте
Процедура УслугиСуммаНДСПриИзменении(Элемент)
	ТекущаяСтрока = Элементы.Услуги.ТекущиеДанные;
	ПромСуммаНДС = ТекущаяСтрока.СуммаНДС;
	ПроцентНДС = ЦенообразованиеКлиентСервер.ПолучитьСтавкуНДСЧислом(ТекущаяСтрока.СтавкаНДС)*100;	
	РасчСуммаНДС =  (ТекущаяСтрока.СуммаСНДС/(100+ПроцентНДС))* ПроцентНДС;
	РазнНДС = РасчСуммаНДС - ПромСуммаНДС;
	
	Если (РазнНДС < -0.03) ИЛИ (РазнНДС > 0.03) Тогда	
		ТекущаяСтрока.Сумма = ТекущаяСтрока.СуммаНДС/ПроцентНДС*100;
		УслугиСуммаПриИзменении(Элемент);		
	КонецЕсли;	
	ТекущаяСтрока.СуммаНДС = ПромСуммаНДС;	
КонецПроцедуры
Показать


Также ввиду "элегантного" нового решения для несогласованных изменений пришлось добавить описание новой процедуры сюда:

&НаКлиенте
Процедура КонтрольНеСогласованныхИзмененийОбработатьСобытиеПриИзменени­и(Элемент)
....................
ИначеЕсли Элемент.Имя = "УслугиСуммаНДС" Тогда
		УслугиСуммаНДСПриИзменении(Элемент);
..........................
КонецПроцедуры


Каким теперь образом на основании статьи, что привел выше возможно все это хозяйство перенести в специально отведенный модули для обновления?

Каким образом при помощи этого механизма возможно переопределять типовые процедуры модуля формы?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. TODD22 18 28.04.17 11:08 Сейчас в теме
А внешнюю обработку табличной части к Акту выполненных работ нельзя приделать?

Если ничего не путаю то пересчёт табличной части в управляемых формах надо делать на стороне сервера для минимизации вызовов сервера.
3. Manticor 66 28.04.17 12:32 Сейчас в теме
(2) Борян, внешняя обработка она что подразумевает?

заполнение или модификацию ТЧ, а мне нужно ИМЕННО событие при изменении, чтобы при изменении именно конкретного поля пересчитались значения.
надо делать на стороне сервера для минимизации вызовов сервера

Зачем же к серверу обращаться, если все данные доступны на клиенте.
4. TODD22 18 28.04.17 12:36 Сейчас в теме
(3)
Зачем же к серверу обращаться, если все данные доступны на клиенте.

Да не обратил внимание что нужно пересчитывать строку. Думал надо всю ТЧ пересчитывать.
5. user633533_encantado 11 28.04.17 12:39 Сейчас в теме
Все сделано не так как надо. Из-за таких "доработок" конфигурации и становятся необновляемыми.

У вас в конфигурации есть модуль "модификация конфигурации", в нем нужно свои процедуры "подключать" к событиям типовых элементов, а не напрямую на форме.
6. Manticor 66 28.04.17 13:40 Сейчас в теме
(5) Помогите пожалуйста с примером - как мою процедурину по пересчету подключить к их модулю???
7. necropunk 9 28.04.17 14:07 Сейчас в теме
(6) Смотрите в процедуру "ПриСозданииНаСервере" вашей формы. В конце нее должен быть вызов типа "СобытияФорм.ПриСозданииНаСервере()". Зайдите в него. Увидите, что в нем вызывается что-то типа "МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка)".
Заходите в эту процедуру и пишете, как и рекомендовано вам в статье "Если Форма = ...", затем переопределяете нужные вам команды и обработчики и все. С примером не помогу - нет под рукой типовой конфы на управляемых.
8. user633533_encantado 11 28.04.17 14:35 Сейчас в теме
Процедура ПриСозданииНаСервереФормыПоступлениеТоваровУслуг(Форма, Отказ, СтандартнаяОбработка)
	
	Элементы = Форма.Элементы;
	   
	Элементы.ТоварыСтатьяРасходов.УстановитьДействие("ПриИзменении", "Подключаемый_ТоварыСтатьяРасходовПриИзменении");
	Элементы.ТоварыПодразделение.УстановитьДействие("ПриИзменении",  "Подключаемый_ТоварыПодразделениеПриИзменении");
	   
КонецПроцедуры
Показать
necropunk; +1 Ответить
9. Manticor 66 28.04.17 17:10 Сейчас в теме
(8)
Подключаемый_ТоварыПодразделениеПриИзменении


Если я вас правильно понимаю, то второй парметр действие Подключаемый_ТоварыПодразделениеПриИзменении нужно описывать тут же в модуле формы????

А есть вариант чтобы саму процедуру действия описать в общем модуле??
10. user633533_encantado 11 28.04.17 18:11 Сейчас в теме
(9) Нет, сами процедуры событий или новых команд должны быть в форме. Их можно будет сохранять при обновлении путем настройки объединения.
И такие процедуры должны иметь префикс "Подключаемый_", так рекомендуется.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)