Изменить данные в документе "Перенос данных" программно. Не могу получить табличную часть для изменения.
Добрый день, господа и дамы.
Есть проблема, после переноса из ЗКБУ в ЗКГУ информация по среднему заработку перешла не корректно, в частности суммы годовой премии учитываются без рай.коэфициента, более 400 человек менять руками сами понимаете займет день целый.
Решил написать обработку, но столкнулся с проблемой.
Не могу получить табличную часть документа для того что бы ее изменить, не подскажите как?
на текущий момент код такой
Рис.1 результат кода
Рис.2.Вкладки в документе Перенос Данных
Есть проблема, после переноса из ЗКБУ в ЗКГУ информация по среднему заработку перешла не корректно, в частности суммы годовой премии учитываются без рай.коэфициента, более 400 человек менять руками сами понимаете займет день целый.
Решил написать обработку, но столкнулся с проблемой.
Не могу получить табличную часть документа для того что бы ее изменить, не подскажите как?
на текущий момент код такой
&НаСервере
Процедура ИзменитьРКНаСервере()
Документ = Объект.Документ.ПолучитьОбъект();
ТабЧасть = Документ.ТаблицаРегистров.Выгрузить();
Для каждого Строка из ТабЧасть Цикл
Строка.Сумма = Строка.Сумма*1.15
КонецЦикла;
Документ.Записать();
КонецПроцедуры
ПоказатьРис.1 результат кода
Рис.2.Вкладки в документе Перенос Данных
Прикрепленные файлы:


По теме из базы знаний
Найденные решения
(1)
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
&НаСервере
Процедура ИзменитьРКНаСервере()
Документ = Объект.Документ;
Регистр = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий;
Набор = Регистр.СоздатьНаборЗаписей();
Набор.Отбор.регистратор.Установить(Документ);
НАбор.Прочитать();
Цифр=0;
Для каждого Движение из Набор цикл
Движение.Сумма = Движение.Сумма * 1.15;
цифр=цифр+1;
КонецЦикла;
Сообщить ("Изменено " + цифр + " строк в регистре");
Набор.Записать(Истина);
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
&НаСервере
Процедура ИзменитьРКНаСервере()
Документ = Объект.Документ;
Регистр = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий;
Набор = Регистр.СоздатьНаборЗаписей();
Набор.Отбор.регистратор.Установить(Документ);
НАбор.Прочитать();
Цифр=0;
Для каждого Движение из Набор цикл
Движение.Сумма = Движение.Сумма * 1.15;
цифр=цифр+1;
КонецЦикла;
Сообщить ("Изменено " + цифр + " строк в регистре");
Набор.Записать(Истина);
КонецПроцедуры
Показать
НЕ НУЖНО выгружать
&НаСервере
Процедура ИзменитьРКНаСервере()
Документ = Объект.Документ.ПолучитьОбъект();
ТабЧасть = Документ.ТаблицаРегистров
Для каждого Строка из ТабЧасть Цикл
Строка.Сумма = Строка.Сумма*1.15
КонецЦикла;
Документ.Записать();
КонецПроцедуры
Показать
(6)Тут так не прокатит, На форме документа выведены движения регистров.
Как вариант при проведении документа отловить нужный регистр и уже там применить Строка.Сумма = Строка.Сумма*1.15 , либо выбрать движение нужного регистра по регистратору (документ переноса) и перезаписать из.
Как вариант при проведении документа отловить нужный регистр и уже там применить Строка.Сумма = Строка.Сумма*1.15 , либо выбрать движение нужного регистра по регистратору (документ переноса) и перезаписать из.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот