Изменить данные в документе "Перенос данных" программно. Не могу получить табличную часть для изменения.

1. mcgoblin 3 07.05.18 14:20 Сейчас в теме
Добрый день, господа и дамы.

Есть проблема, после переноса из ЗКБУ в ЗКГУ информация по среднему заработку перешла не корректно, в частности суммы годовой премии учитываются без рай.коэфициента, более 400 человек менять руками сами понимаете займет день целый.

Решил написать обработку, но столкнулся с проблемой.
Не могу получить табличную часть документа для того что бы ее изменить, не подскажите как?

на текущий момент код такой
&НаСервере
Процедура ИзменитьРКНаСервере()
	
Документ = Объект.Документ.ПолучитьОбъект();
	ТабЧасть = Документ.ТаблицаРегистров.Выгрузить();

	Для каждого Строка из ТабЧасть Цикл
		Строка.Сумма = Строка.Сумма*1.15
	КонецЦикла;

	Документ.Записать();
			
КонецПроцедуры
Показать

Рис.1 результат кода
Рис.2.Вкладки в документе Перенос Данных
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
8. mcgoblin 3 07.05.18 16:04 Сейчас в теме
(1)
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
&НаСервере
Процедура ИзменитьРКНаСервере()
	Документ = Объект.Документ;
	Регистр = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий;
	Набор = Регистр.СоздатьНаборЗаписей();
	Набор.Отбор.регистратор.Установить(Документ);
	НАбор.Прочитать();
	Цифр=0;
	Для каждого Движение из Набор цикл
		Движение.Сумма = Движение.Сумма * 1.15;
		цифр=цифр+1;
	КонецЦикла;
	Сообщить ("Изменено " + цифр + " строк в регистре");
	Набор.Записать(Истина);		
КонецПроцедуры
Показать
GeterX; an1c; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. mcgoblin 3 07.05.18 16:04 Сейчас в теме
(1)
(2) Зашел к решению проблемы немного с другого конца, вот решение которое полностью удовлетворяет поставленной задаче.
Спасибо за помощь
&НаСервере
Процедура ИзменитьРКНаСервере()
	Документ = Объект.Документ;
	Регистр = РегистрыНакопления.ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий;
	Набор = Регистр.СоздатьНаборЗаписей();
	Набор.Отбор.регистратор.Установить(Документ);
	НАбор.Прочитать();
	Цифр=0;
	Для каждого Движение из Набор цикл
		Движение.Сумма = Движение.Сумма * 1.15;
		цифр=цифр+1;
	КонецЦикла;
	Сообщить ("Изменено " + цифр + " строк в регистре");
	Набор.Записать(Истина);		
КонецПроцедуры
Показать
GeterX; an1c; +2 Ответить
9. user1145086 28.05.19 23:09 Сейчас в теме
(8) дай бог здоровья, забыл использовать "Прочитать" , а то уже полез форму менять)
2. harvester_sorrow 24 07.05.18 14:22 Сейчас в теме
НЕ НУЖНО выгружать

&НаСервере
Процедура ИзменитьРКНаСервере()
    
Документ = Объект.Документ.ПолучитьОбъект();
    ТабЧасть = Документ.ТаблицаРегистров

    Для каждого Строка из ТабЧасть Цикл
        Строка.Сумма = Строка.Сумма*1.15
    КонецЦикла;

    Документ.Записать();
            
КонецПроцедуры
Показать
4. mcgoblin 3 07.05.18 14:26 Сейчас в теме
(2)Я пробовал, но все равно не смог провалиться в табличную часть регистра
5. harvester_sorrow 24 07.05.18 14:43 Сейчас в теме
(4)Стоп....Документ.ТаблицаРегистров это Вы хотите обратится к Табл.Части документа или к таблице движений документа?
6. mcgoblin 3 07.05.18 14:48 Сейчас в теме
(5)Для документа "Перенос данных" это одно и тоже, как по мне, В принципе, все движения создаются из табличной части, поэтому я хочу изменить данные табличной части.
В частности сумму
Прикрепленные файлы:
7. harvester_sorrow 24 07.05.18 14:54 Сейчас в теме
(6)Тут так не прокатит, На форме документа выведены движения регистров.
Как вариант при проведении документа отловить нужный регистр и уже там применить Строка.Сумма = Строка.Сумма*1.15 , либо выбрать движение нужного регистра по регистратору (документ переноса) и перезаписать из.
Elucidator; mcgoblin; +2 Ответить
3. harvester_sorrow 24 07.05.18 14:23 Сейчас в теме
выгрузив, вы получили таблицу значений, она уже никак не связана с документом, обрабытывайте саму ТЧ без выгрузки
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот