Имя: Пароль:
1C
1С v8
Использование расширения для вызова типовой процедуры
0 serz165
 
01.11.18
17:35
Здравствуйте, я начинающий программист 1С работаю 6 с 1С пол года.
1С:Предприятие 8.3 (8.3.13.1549) ЗУП 3.1

Подскажите пожалуйста. Мне поставили задачу автоматически по регламенту создавать документ разовое начисление. Я создал его с помощью регламента, все ок. Дальше я хочу его пересчитать вызвав типовую процедуру 1С РасчетЗарплатыРасширенный.ПересчитатьСотрудникаНаСервере. В регламенте это сделать невозможно так как он требует передать форму. А типовой документ править не хочу. Да и рекомендуют так не делать.

Я решил эту ситуацию так я добавил форму документа в расширение и написал вот такой код.

&НаСервере
Процедура тн1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Если Лев(Объект.Комментарий,1) = "#" Тогда
        Сообщить("Этот документ был создан автоматически");
        Для Каждого Стр из Объект.Начисления Цикл
            Элементы.Начисления.ВыделенныеСтроки.Добавить(Стр.НомерСтроки - 1);
        КонецЦикла;
        ВыбранныеСтроки = Элементы.Начисления.ВыделенныеСтроки;
        РасчетЗарплатыРасширенный.ПересчитатьСотрудникаНаСервере(ЭтаФорма,"Начисления",ВыбранныеСтроки,"Сотрудник",Тип("СправочникСсылка.Сотрудники"));
    КонецЕсли;
КонецПроцедуры

Моя коллега меня критикует за это решение и говорит что не надо добавлять в расширение, если что то поменяется все отвалится. Я понимаю что если что то поменяется то отвалится. Это ясно но на мой взгляд это кажется не достаточной аргументацией почему так нельзя делать.

Подскажите как мое решение на ваш взгляд и как лучше сделать. Заранее спасибо!
1 AlvlSpb
 
01.11.18
17:53
(0) А коллега не сказал как бы он сделал? Вот то-то и оно. Языком все мастера. Не парься. Что-то изменится, отвалится - поправишь чтобы работало. Да и когда оно еще изменится. Сделал? Работает? Не тормозит все и вся? Значит все ОК.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший