Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > использование таблицы значений


Автор: dmd1980 14.5.2009, 04:23
Здраствуйте. 
Есть документ Корректировка амортизации. в нем есть колонка Способ начисления амортизации, необходимо сделать так чтобы в этой колонке автоматически поменять значение. Проблема в том ччто написал листинг все работает документ перебирается даже значение меняется но это значение в документ не подставляется а меняется только в созданной таблице значений. Подскажите как это выгрузить в документ
Вот листинг:
//*******************************************
Процедура Выполнить()
ТЗ=СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("ОС");
ТЗ.НоваяКолонка("ФКР_ОС"); 
ТЗ.НоваяКолонка("Сумма"); 
ТЗ.НоваяКолонка("ДатаПостОС"); 
ТЗ.НоваяКолонка("СрокПолезногоИспользования"); 
ТЗ.НоваяКолонка("СчетНачисленияАмортизации");
ТЗ.НоваяКолонка("СпособНачисленияАмортизации"); 
ТЗ.НоваяКолонка("СчетУчетаЗатрат"); 
ТЗ.НоваяКолонка("ФКР_Затрат");
ТЗ.НоваяКолонка("СубконтоЗатрат1"); 
ТЗ.НоваяКолонка("СубконтоЗатрат2"); 
ТЗ.НоваяКолонка("СубконтоЗатрат3");
ТЗ.НоваяКолонка("НачисленнаяАмортизация"); 
ТЗ.НоваяКолонка("КорректировкаАмортизации"); 
ТЗ.НоваяКолонка("Количество");
ТЗ.НоваяКолонка("НоваяАмотизация"); 
ТЗ.НоваяКолонка("Доначислять");
ТЗ.НоваяКолонка("ОставшийсяСрок");
ТЗ.НоваяКолонка("Цена"); 
Док=СоздатьОбъект("Документ.ОС_КорректировкаАмортизации"); 
Док.ВыбратьДокументы();
Пока Док.ПолучитьДокумент()=1 Цикл 
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
ТЗ.НоваяСтрока(); 
ТЗ.ОС=Док.ОС;
ТЗ.ФКР_ОС=Док.ФКР_ОС; 
ТЗ.Сумма=Док.Сумма; 
ТЗ.ДатаПостОС=Док.ДатаПостОС; 
ТЗ.СрокПолезногоИспользования=Док.СрокПолезногоИспользования; 
ТЗ.СчетНачисленияАмортизации=Док.СчетНачисленияАмортизации;
ТЗ.СпособНачисленияАмортизации=Док.СпособНачисленияАмортизации; 
ТЗ.СчетУчетаЗатрат=Док.СчетУчетаЗатрат;
ТЗ.ФКР_Затрат=Док.ФКР_Затрат;
ТЗ.СубконтоЗатрат1=Док.СубконтоЗатрат1; 
ТЗ.СубконтоЗатрат2=Док.СубконтоЗатрат2;
ТЗ.СубконтоЗатрат3=Док.СубконтоЗатрат3;
ТЗ.НачисленнаяАмортизация=Док.НачисленнаяАмортизация;
ТЗ.КорректировкаАмортизации=Док.КорректировкаАмортизации; 
ТЗ.Количество=Док.Количество;
ТЗ.НоваяАмотизация=Док.НоваяАмотизация;
ТЗ.Доначислять=Док.Доначислять;
ТЗ.ОставшийсяСрок=Док.ОставшийсяСрок;
ТЗ.Цена=Док.Цена;
КонецЦикла; 
КонецЦикла;
ТЗ.Свернуть("ОС,СпособНачисленияАмортизации", "");
// в таблице значений заполняем колонку "СпособНачисленияАмортизации" конкретным значением "3"
ТЗ.Заполнить("3",,,"СпособНачисленияАмортизации");

Таб=Создатьобъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
ТЗ.ВыбратьСтроки();
Таб.ВывестиСекцию("Шапка");
Пока ТЗ.ПолучитьСтроку()=1 Цикл 
Таб.ВывестиСекцию("Элемент");
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать("Таблица");
КонецПроцедуры

1.строки для вывода на печать сделаны для своей проверки того что перебор работате и значение меняется.
2.и вобще если мне нужна только одна колонка надо расписывать весь документ или нет?

Автор: AkelaSQL 14.5.2009, 08:51
ВыгрузитьТабличнуюЧасть()
ЗагрузитьТабличнуюЧасть()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)