helpf.pro
Регистрация

v8: Расшифровка Табличного документа

nonameforme
02.03.2013 18:52Прочитано: 3194
Ниже представлен код, подскажите, почему во все ячейки расшифровки попадает только последнее значение ТЗ?
Код 1C v 8.х
 
Процедура ВывестиМодельТО(Модель)
МакетТО = ПолучитьМакет("МакетТО");
ОбластьШапка = МакетТО.ПолучитьОбласть("ТО");
ЭлементыФормы.ТаблицаТО.Вывести(ОбластьШапка);
ОбластьМодель = МакетТО.ПолучитьОбласть("Модель");

ТЗСостав = Новый ТаблицаЗначений;
ТЗСостав.Колонки.Добавить("Товар");
ТЗСостав.Колонки.Добавить("Количество");
ТЗСостав.Колонки.Добавить("Цена");
ин=0;

ЗапросПоМодели = Новый Запрос;
ЗапросПоМодели.Текст =
"ВЫБРАТЬ
| МодельТО.Ссылка,
| МодельТО.Модель
|ИЗ
| Справочник.МоделиТО КАК МодельТО
|ГДЕ
| МодельТО.Модель = &Модель
|
|СГРУППИРОВАТЬ ПО
| МодельТО.Ссылка,
| МодельТО.Модель";
ЗапросПоМодели.УстановитьПараметр("Модель", Справочники.Модели.НайтиПоКоду(Модель));
ЗапросМоделиТО = ЗапросПоМодели.Выполнить().Выбрать();
Пока ЗапросМоделиТО.Следующий() Цикл

ОбластьМодель.Параметры.Модель = ЗапросМоделиТО.Ссылка;
строка = 1;
Для каждого СтрокаАвтоработы Из ЗапросМоделиТО.Ссылка.Автоработы Цикл
ТЗСостав.Очистить();
//для Розничная ИП, Ремзона ИП, ТО к
ЦенаАвтоработыТО = орПолучитьЦенуАвтоработы(Справочники.ТипыЦен.НайтиПоКоду("ЦБ000005"), СтрокаАвтоработы.Авторабота, Справочники.Модели.НайтиПоКоду(Модель), ,Справочники.Цеха.НайтиПоКоду("ЦБ000002"), Справочники.ВидыРемонта.НайтиПоНаименованию("ТО "+строка));
СтрокаТЗ = ТЗСостав.Добавить();
СтрокаТЗ.Товар = СтрокаАвтоработы.Авторабота;
СтрокаТЗ.Количество = 1;
СтрокаТЗ.Цена = ЦенаАвтоработыТО.Цена;

ЗапросСвязанныхРабот = Новый Запрос;
ЗапросСвязанныхРабот.Текст =
"ВЫБРАТЬ
| СвязанныеРаботы.Авторабота,
| СвязанныеРаботы.СвязаннаяРабота,
| СвязанныеРаботы.Количество
|ИЗ
| РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы
|ГДЕ
| СвязанныеРаботы.Авторабота = &Авторабота";
ЗапросСвязанныхРабот.УстановитьПараметр("Авторабота",СтрокаАвтоработы.Авторабота);
ВыборкаСоставТО = ЗапросСвязанныхРабот.Выполнить().Выбрать();
СуммаВсего = ЦенаАвтоработыТО.Цена;
Пока ВыборкаСоставТО.Следующий() Цикл
ОбработкаПрерыванияПользователя();

ЦенаЗапчасти = обПолучитьЦену(Справочники.ТипыЦен.НайтиПоКоду("ЦБ000005").Ссылка,ВыборкаСоставТО.СвязаннаяРабота,,,Константы.ВалютаРегламентированногоУчетаОрганизаций.Получить(),,,,Справочники.ПодразделенияКомпании.НайтиПоКоду("ЦБ000002"));
//Сообщить(" " + ВыборкаНоменклатуры.СвязаннаяРабота + " цена - "+ЦенаЗапчасти);
СуммаВсего = СуммаВсего + ЦенаЗапчасти*ВыборкаСоставТО.Количество;

СтрокаТЗ = ТЗСостав.Добавить();
СтрокаТЗ.Товар = ВыборкаСоставТО.СвязаннаяРабота;
СтрокаТЗ.Количество = ВыборкаСоставТО.Количество;
СтрокаТЗ.Цена = ЦенаЗапчасти;
КонецЦикла;

ОбластьМодель.Параметры["Стоимость"+строка] = СуммаВсего;
ОбластьМодель.Параметры["СтоимостьРасшифровка"+строка] = ТЗСостав;
//ОбластьМодель.Область("Стоимость"+строка).Текст = СуммаВсего;
//ОбластьМодель.Область("Стоимость"+строка).Расшифровка = ТЗСостав;
строка=строка+1;
КонецЦикла;
ЭлементыФормы.ТаблицаТО.Присоединить(ОбластьМодель);
КонецЦикла;

КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
04.03.2013 10:50Ответ № 1
А что делает расшифровка? Показывает какое-то значение или что? И что есть ТЗ в Вашем примере?
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.