1с 7.7 Бухгалтерия Подскажите как заполнить значениями таблицу Печатной формы?
12.08.2009
14:59
#1
"Сделал отчет "Возврат товаров", все данные получены, но встал вопрос каким методом их заполнить в таблицу.<br><br>вот код отчета:<br>Процедура Выполнить()<br> <br> Док=СоздатьОбъект("Документ.РасходнаяНакладная");<br> Док.ВыбратьДокументы(Дата1,Дата2);<br> <br> Таб=СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица(""""); <br> Таб.ВывестиСекцию("Шапка");<br> <br> Пока Док.ПолучитьДокумент()=1 Цикл<br> Если Док.ВозвратГП=1 Тогда<br> ДатаПер=Док.ПолучитьАтрибут("ДатаДок");<br> НомерДока=Док.ПолучитьАтрибут("НомерДок");<br> Контр=Док.ПолучитьАтрибут("Контрагент");<br> Док.ВыбратьСтроки();<br> Если Док.КоличествоСтрок()>0 Тогда<br> Пока Док.ПолучитьСтроку()=1 Цикл <br> <br> Тов=Док.ПолучитьАтрибут("Товар");<br> Км=Док.ПолучитьАтрибут("Количество"); <br> К=Км*(-1); <br> Таб.ВывестиСекцию("Строка|Строка1");<br> <br> КонецЦикла;<br> КонецЕсли;<br> КонецЕсли;<br> <br> <br> КонецЦикла;<br> // Таб.ВывестиСекцию("Подвал");<br> Таб.ТолькоПросмотр(1); <br> Таб.Опции(0,0,0,0);<br> Таб.Показать("""");<br> <br>КонецПроцедуры<br><br>таблица должна иметь следующий вид.<br> | товар | товар | товар | товар | товар<br>контрагент число число ... ... ...<br>контрагент ... ... ... ... ...<br>контрагент ... ... ... ... ...<br><br>Если кто знает подскажите, оч. буду благодарен."
12.08.2009
16:29
#3
Тудность в том что номенклатуры много, нужно чтобы заполнение таблица было автоматическим, то есть что бы и контрагенты и возвращаемые им товары и их колличество заполнялось автоматически в виде таблицы, а в моем коде выводится простым списком. Возможно нужно использлвать Таблицу Значений или Список значений только я вот не могу сообразить как это сделать(
12.08.2009
16:33
#4
Есть такое дело, как конструктор запросов, в том числе и на 7.7! Попробуйте его!
12.08.2009
20:28
#5
"С помощью макета печатных форм получилось=><br>код:<br>Процедура Сформировать_Колонки(Таб, Стр, Док)<br> Таб.ВывестиСекцию(Стр+"|Начало");<br> Док.ВыбратьСтроки();<br> Если Док.КоличествоСтрок()>0 Тогда<br> Пока Док.ПолучитьСтроку()=1 Цикл <br> <br> Тов=Док.ПолучитьАтрибут("Товар");<br> Км=Док.ПолучитьАтрибут("Количество"); <br> К=Км; <br> Таб.ПрисоединитьСекцию(Стр+"|Колонка_1");<br> КонецЦикла;<br> КонецЕсли; <br> Таб.ПрисоединитьСекцию(Стр+"|Конец");<br> КонецПроцедуры<br><br>Процедура Сформировать() <br> Док=СоздатьОбъект("Документ.РасходнаяНакладная");<br> Док.ВыбратьДокументы("01.05.09","31.05.09");<br> Таб = СоздатьОбъект("Таблица");<br> Таб.ИсходнаяТаблица("Сформировать");<br> Таб.ВывестиСекцию("Заголовок");<br> Сформировать_Колонки(Таб, "Шапка",Док);<br> Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);<br> Пока Док.ПолучитьДокумент()=1 Цикл<br> Если Док.ВозвратГП=1 Тогда<br> Дат=Док.ПолучитьАтрибут("ДатаДок");<br> Контр=Док.ПолучитьАтрибут("Контрагент");<br> Таб.ВывестиСекцию("Строка1");<br> Сформировать_Колонки(Таб, "Строка_1",Док);<br> КонецЕсли;<br> КонецЦикла;<br> Сформировать_Колонки(Таб, "Подвал",Док);<br> Таб.ТолькоПросмотр(1);<br> Таб.Показать("Сформировать","""");<br>КонецПроцедуры<br><br>печатается так:<br><br><br> <br>контрагент1 Номенклатура1 Номенклатура2 <br> Кол-во Кол-во<br>контрагент2 Номенклатура3 Номенклатура4 <br> Кол-во Кол-во<br>контрагент3 Номенклатура2 <br> Кол-во<br>контрагент4 Номенклатура4 Номенклатура5 Номенклатура6<br> Кол-во Кол-во Кол-во<br>контрагент5 ... <br> ...<br><br><br>но должно быть так:<br><br> Номенклатура1 Номенклатура2 Номенклатура3 Номенклатура4 Номенклатура5 ...<br>контрагент1 Кол-во Кол-во<br>контрагент2 Кол-во Кол-во<br>контрагент3 Кол-во<br>контрагент4<br>контрагент5 Кол-во<br> ...<br><br><br>Понимаю конечн, что голову можно сломать, но если кто нибудь разберется большое спасибо.<br>"
13.08.2009
10:56
#6
делай запросом!<br><br>пришли скрин макета в конфигураторе - накатаю тебе текст запроса
1C8.2 УПП 1.3: Ошибка СУБД: Не удалось привязать составной идентификатор - что делать?Установка локальной 1С 7.7 на Windows 7 64bit Home Edition
Читают тему
(гостей: 1)