Имя: Пароль:
1C
1С v8
v8: Прошу о помощи
0 volfy
 
20.12.12
13:24
Молю о помощи =( кто нибудь помогите 3 дня бьюсь над обработкой которая будет в один счет на оплату включать все данные из табличных частей заказов ...в табличной части документа находится список заказов... вот запрос который просто выбирает заказ

Модуль оригинальный

Если МассивОбъектов[0].РазныеТабличныеЧастиДляПечати Тогда
       ИмяТЧТоваров = ".ТоварыДляПечатныхФорм";
   Иначе
       ИмяТЧТоваров = ".Товары";
   КонецЕсли;
   
   Запрос = Новый Запрос(
   "ВЫБРАТЬ
   |    Документы.Ссылка КАК Ссылка,
   |    Документы.Номер КАК Номер,
   |    Документы.Дата КАК Дата,
   |    НЕОПРЕДЕЛЕНО КАК ДокументОснование,
   |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец, Документы.Организация) КАК Организация,
   |    Документы.Организация КАК ОрганизацияПоставщик,
   |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийРуководитель.Наименование, Документы.Организация.ТекущийРуководитель.Наименование) КАК Руководитель,
   |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийГлавныйБухгалтер.Наименование, Документы.Организация.ТекущийГлавныйБухгалтер.Наименование) КАК ГлавныйБухгалтер,
   |    ВЫБОР
   |        КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
   |                ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
   |            ТОГДА ЛОЖЬ
   |        ИНАЧЕ ИСТИНА
   |    КОНЕЦ КАК УчитыватьНДС,
   |    Документы.Организация.Префикс КАК Префикс,
   |    Документы.Контрагент КАК Контрагент,
   |    Документы.БанковскийСчет КАК БанковскийСчет,
   |    Документы.БанковскийСчет.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
   |    Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
   |    Документы.Валюта КАК Валюта,
   |    Документы.Менеджер.ФизическоеЛицо.Наименование КАК Менеджер,
   |    Документы.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
   |    Документы.СуммаДокумента КАК СуммаКВозврату,
   |    ЛОЖЬ КАК ЧастичнаяОплата,
   |    """" КАК НазначениеПлатежа,
   |    100 КАК ПроцентОплаты,
   |    Документы.СуммаДокумента КАК СуммаДокумента,
   |    ЛОЖЬ КАК СчетКВозврату,
   |    Документы.Организация.ТекущийРуководитель КАК РуководительСсылка,
   |    Документы.Организация.ТекущийГлавныйБухгалтер КАК ГлавныйБухгалтерСсылка,
   |    Документы.Менеджер.ФизическоеЛицо КАК МенеджерСсылка
   |ИЗ
   |    Документ.ЗаказКлиента КАК Документы
   |ГДЕ
   |    Документы.Ссылка В(&МассивОбъектов)
   |
   |УПОРЯДОЧИТЬ ПО
   |    Документы.МоментВремени
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ЭтапыГрафикаОплаты.Ссылка КАК Ссылка,
   |    ЭтапыГрафикаОплаты.НомерСтроки КАК НомерСтроки,
   |    ЭтапыГрафикаОплаты.ДатаПлатежа КАК ДатаПлатежа,
   |    ЭтапыГрафикаОплаты.ПроцентПлатежа КАК ПроцентПлатежа,
   |    ЭтапыГрафикаОплаты.СуммаПлатежа КАК СуммаПлатежа
   |ИЗ
   |    Документ.ЗаказКлиента.ЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
   |ГДЕ
   |    ЭтапыГрафикаОплаты.Ссылка В(&МассивОбъектов)
   |
   |УПОРЯДОЧИТЬ ПО
   |    НомерСтроки
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    Товары.Ссылка КАК Ссылка,
   |    Товары.НомерСтроки КАК НомерСтроки,
   |    Товары.Номенклатура КАК Номенклатура,
   |    Товары.Номенклатура.Код КАК Код,
   |    Товары.Номенклатура.Артикул КАК Артикул,
   |    Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
   |    ВЫБОР
   |        КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
   |            ТОГДА ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
   |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Товары.Упаковка.ЕдиницаИзмерения)
   |    КОНЕЦ КАК ЕдиницаИзмерения,
   |    Товары.КоличествоУпаковок КАК Количество,
   |    Товары.Цена КАК Цена,
   |    Товары.Сумма КАК Сумма,
   |    Товары.СтавкаНДС КАК СтавкаНДС,
   |    Товары.СуммаНДС КАК СуммаНДС,
   |    Товары.ДатаОтгрузки КАК ДатаОтгрузки,
   |    Товары.Характеристика.НаименованиеПолное КАК Характеристика,
   |    ВЫБОР
   |        КОГДА ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1) = 1
   |            ТОГДА НЕОПРЕДЕЛЕНО
   |        ИНАЧЕ Товары.Упаковка.Наименование
   |    КОНЕЦ КАК Упаковка,
   |    Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки КАК СуммаСкидки,
   |    Товары.Сумма + Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
   |    Товары.Содержание КАК Содержание
   |ИЗ
   |    Документ.ЗаказКлиента" + ИмяТЧТоваров + " КАК Товары
   |ГДЕ
   |    Товары.Ссылка В(&МассивОбъектов)
   |    И Товары.Отменено = ЛОЖЬ
   |
   |УПОРЯДОЧИТЬ ПО
   |    НомерСтроки");
   
   Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
   
   ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();
   
   СтруктураДанныхДляПечати = Новый Структура;
   СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
   СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
   СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[2]);
   
   Возврат СтруктураДанныхДляПечати;




Модуль измененный

       Запрос = Новый Запрос(
       "ВЫБРАТЬ
       |    СчетНаГруппуЗаказовСписокДокументов.ЗаказКлиента.Ссылка
       |ПОМЕСТИТЬ СсылкиНаЗаказы
       |ИЗ
       |    Документ.СчетНаГруппуЗаказов.СписокДокументов КАК СчетНаГруппуЗаказовСписокДокументов
       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаГруппуЗаказов КАК СчетНаГруппуЗаказов
       |        ПО СчетНаГруппуЗаказовСписокДокументов.Ссылка = СчетНаГруппуЗаказов.Ссылка
       |ГДЕ
       |    СчетНаГруппуЗаказов.Ссылка = &Ссылка
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    СсылкиНаЗаказы.ЗаказКлиентаСсылка.Номер КАК ЗаказКлиентаСсылкаНомер,
       |    СсылкиНаЗаказы.ЗаказКлиентаСсылка.Ссылка
       |ПОМЕСТИТЬ МинимальныйНомер
       |ИЗ
       |    СсылкиНаЗаказы КАК СсылкиНаЗаказы
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ЗаказКлиентаТовары.Номенклатура,
       |    ЗаказКлиентаТовары.Характеристика,
       |    СУММА(ЗаказКлиентаТовары.КоличествоУпаковок) КАК КоличествоУпаковок,
       |    СУММА(ЗаказКлиентаТовары.Количество) КАК Количество,
       |    СУММА(ЗаказКлиентаТовары.Сумма) КАК Сумма,
       |    ЗаказКлиентаТовары.НомерСтроки,
       |    ЗаказКлиентаТовары.Номенклатура.Артикул,
       |    ЗаказКлиентаТовары.Номенклатура.Код,
       |    ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное,
       |    ЗаказКлиентаТовары.Цена,
       |    ЗаказКлиентаТовары.СтавкаНДС,
       |    СУММА(ЗаказКлиентаТовары.СуммаНДС) КАК СуммаНДС,
       |    ЗаказКлиентаТовары.ДатаОтгрузки,
       |    ЗаказКлиентаТовары.Содержание,
       |    ВЫБОР
       |        КОГДА ЗаказКлиентаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
       |            ТОГДА ПРЕДСТАВЛЕНИЕ(ЗаказКлиентаТовары.Номенклатура.ЕдиницаИзмерения)
       |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ЗаказКлиентаТовары.Упаковка.ЕдиницаИзмерения)
       |    КОНЕЦ КАК Поле1,
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(ЗаказКлиентаТовары.Упаковка.Коэффициент, 1) = 1
       |            ТОГДА НЕОПРЕДЕЛЕНО
       |        ИНАЧЕ ЗаказКлиентаТовары.Упаковка.Наименование
       |    КОНЕЦ КАК Поле2,
       |    СУММА(ЗаказКлиентаТовары.СуммаРучнойСкидки + ЗаказКлиентаТовары.СуммаАвтоматическойСкидки) КАК Поле3,
       |    СУММА(ЗаказКлиентаТовары.Сумма + ЗаказКлиентаТовары.СуммаРучнойСкидки + ЗаказКлиентаТовары.СуммаАвтоматическойСкидки) КАК Поле4,
       |    ЗаказКлиентаТовары.Ссылка
       |ПОМЕСТИТЬ СуммаТоваровИзВсехЗаказов
       |ИЗ
       |    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
       |        ЛЕВОЕ СОЕДИНЕНИЕ МинимальныйНомер КАК МинимальныйНомер
       |        ПО ЗаказКлиентаТовары.Ссылка = МинимальныйНомер.ЗаказКлиентаСсылкаСсылка,
       |    СсылкиНаЗаказы КАК СсылкиНаЗаказы
       |
       |СГРУППИРОВАТЬ ПО
       |    ЗаказКлиентаТовары.Номенклатура,
       |    ЗаказКлиентаТовары.Характеристика,
       |    ЗаказКлиентаТовары.НомерСтроки,
       |    ЗаказКлиентаТовары.Номенклатура.Артикул,
       |    ЗаказКлиентаТовары.Номенклатура.Код,
       |    ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное,
       |    ЗаказКлиентаТовары.Цена,
       |    ЗаказКлиентаТовары.СтавкаНДС,
       |    ЗаказКлиентаТовары.ДатаОтгрузки,
       |    ЗаказКлиентаТовары.Содержание,
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(ЗаказКлиентаТовары.Упаковка.Коэффициент, 1) = 1
       |            ТОГДА НЕОПРЕДЕЛЕНО
       |        ИНАЧЕ ЗаказКлиентаТовары.Упаковка.Наименование
       |    КОНЕЦ,
       |    ЗаказКлиентаТовары.Ссылка,
       |    ВЫБОР
       |        КОГДА ЗаказКлиентаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
       |            ТОГДА ПРЕДСТАВЛЕНИЕ(ЗаказКлиентаТовары.Номенклатура.ЕдиницаИзмерения)
       |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ЗаказКлиентаТовары.Упаковка.ЕдиницаИзмерения)
       |    КОНЕЦ
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    Документы.Ссылка КАК Ссылка,
       |    МинимальныйНомер.ЗаказКлиентаСсылкаНомер КАК Номер,
       |    Документы.Дата КАК Дата,
       |    НЕОПРЕДЕЛЕНО КАК ДокументОснование,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец, Документы.Организация) КАК Организация,
       |    Документы.Организация КАК ОрганизацияПоставщик,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийРуководитель.Наименование, Документы.Организация.ТекущийРуководитель.Наименование) КАК Руководитель,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийГлавныйБухгалтер.Наименование, Документы.Организация.ТекущийГлавныйБухгалтер.Наименование) КАК ГлавныйБухгалтер,
       |    ВЫБОР
       |        КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
       |                ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
       |            ТОГДА ЛОЖЬ
       |        ИНАЧЕ ИСТИНА
       |    КОНЕЦ КАК УчитыватьНДС,
       |    Документы.Организация.Префикс КАК Префикс,
       |    Документы.Контрагент КАК Контрагент,
       |    Документы.БанковскийСчет КАК БанковскийСчет,
       |    Документы.БанковскийСчет.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
       |    Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
       |    Документы.Валюта КАК Валюта,
       |    Документы.Менеджер.ФизическоеЛицо.Наименование КАК Менеджер,
       |    Документы.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
       |    Документы.СуммаДокумента КАК СуммаКВозврату,
       |    ЛОЖЬ КАК ЧастичнаяОплата,
       |    """" КАК НазначениеПлатежа,
       |    100 КАК ПроцентОплаты,
       |    Документы.СуммаДокумента КАК СуммаДокумента,
       |    ЛОЖЬ КАК СчетКВозврату,
       |    Документы.Организация.ТекущийРуководитель КАК РуководительСсылка,
       |    Документы.Организация.ТекущийГлавныйБухгалтер КАК ГлавныйБухгалтерСсылка,
       |    Документы.Менеджер.ФизическоеЛицо КАК МенеджерСсылка
       |ИЗ
       |    МинимальныйНомер КАК МинимальныйНомер
       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК Документы
       |            ЛЕВОЕ СОЕДИНЕНИЕ СсылкиНаЗаказы КАК СсылкиНаЗаказы
       |            ПО Документы.Ссылка = СсылкиНаЗаказы.ЗаказКлиентаСсылка
       |        ПО МинимальныйНомер.ЗаказКлиентаСсылкаСсылка = Документы.Ссылка
       |
       |УПОРЯДОЧИТЬ ПО
       |    Документы.МоментВремени
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ЭтапыГрафикаОплаты.Ссылка КАК Ссылка,
       |    ЭтапыГрафикаОплаты.НомерСтроки КАК НомерСтроки,
       |    ЭтапыГрафикаОплаты.ДатаПлатежа КАК ДатаПлатежа,
       |    ЭтапыГрафикаОплаты.ПроцентПлатежа КАК ПроцентПлатежа,
       |    ЭтапыГрафикаОплаты.СуммаПлатежа КАК СуммаПлатежа
       |ИЗ
       |    Документ.ЗаказКлиента.ЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ЗаказКлиента.Товары.(
       |        СуммаТоваровИзВсехЗаказов.Номенклатура,
       |        СуммаТоваровИзВсехЗаказов.Характеристика КАК Характеристика,
       |        СуммаТоваровИзВсехЗаказов.КоличествоУпаковок КАК КоличествоУпаковок,
       |        СуммаТоваровИзВсехЗаказов.Количество КАК Количество,
       |        СуммаТоваровИзВсехЗаказов.Сумма КАК Сумма,
       |        СуммаТоваровИзВсехЗаказов.НомерСтроки КАК НомерСтроки,
       |        СуммаТоваровИзВсехЗаказов.НоменклатураАртикул КАК НоменклатураАртикул,
       |        СуммаТоваровИзВсехЗаказов.НоменклатураКод КАК НоменклатураКод,
       |        СуммаТоваровИзВсехЗаказов.НоменклатураНаименованиеПолное КАК НоменклатураНаименованиеПолное,
       |        СуммаТоваровИзВсехЗаказов.Цена КАК Цена,
       |        СуммаТоваровИзВсехЗаказов.СтавкаНДС КАК СтавкаНДС,
       |        СуммаТоваровИзВсехЗаказов.СуммаНДС КАК СуммаНДС,
       |        СуммаТоваровИзВсехЗаказов.ДатаОтгрузки КАК ДатаОтгрузки,
       |        СуммаТоваровИзВсехЗаказов.Содержание КАК Содержание,
       |        СуммаТоваровИзВсехЗаказов.Поле1 КАК Поле1,
       |        СуммаТоваровИзВсехЗаказов.Поле2 КАК Поле2,
       |        СуммаТоваровИзВсехЗаказов.Поле3 КАК Поле3,
       |        СуммаТоваровИзВсехЗаказов.Поле4 КАК Поле4,
       |        Ссылка КАК Ссылка18
       |    ) КАК Ссылка
       |ИЗ
       |    Документ.ЗаказКлиента КАК ЗаказКлиента
       |        ЛЕВОЕ СОЕДИНЕНИЕ СуммаТоваровИзВсехЗаказов КАК СуммаТоваровИзВсехЗаказов
       |        ПО ЗаказКлиента.Ссылка = СуммаТоваровИзВсехЗаказов.Ссылка");
1 volfy
 
20.12.12
13:24
Ну очень требуется помощь ..это последний пункт тз ... =(
2 volfy
 
20.12.12
13:25
При печати говорит что таб части пусты у документов ...
3 volfy
 
20.12.12
13:25
так как печ.форма внешняя отлаживать очень тяжело =(
4 cw014
 
20.12.12
13:26
ВЫБРАТЬ
       |    СчетНаГруппуЗаказовСписокДокументов.ЗаказКлиента.Ссылка
       |ПОМЕСТИТЬ СсылкиНаЗаказы
       |ИЗ
       |    Документ.СчетНаГруппуЗаказов.СписокДокументов КАК СчетНаГруппуЗаказовСписокДокументов
       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаГруппуЗаказов КАК СчетНаГруппуЗаказов
       |        ПО СчетНаГруппуЗаказовСписокДокументов.Ссылка = СчетНаГруппуЗаказов.Ссылка
       |ГДЕ
       |    СчетНаГруппуЗаказов.Ссылка = &Ссылка
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////

       |ВЫБРАТЬ
       |    СсылкиНаЗаказы.ЗаказКлиентаСсылка.Номер КАК ЗаказКлиентаСсылкаНомер,
       |    СсылкиНаЗаказы.ЗаказКлиентаСсылка.Ссылка
       |ПОМЕСТИТЬ МинимальныйНомер
       |ИЗ
       |    СсылкиНаЗаказы КАК СсылкиНаЗаказы
       |;

Зашибись написал :)
5 Eugene_life
 
20.12.12
13:26
(0) Сделай через запрос в цикле, и успокойся. Работать будет, а красота не стоит 3х дней работы.
6 PLUT
 
20.12.12
13:26
(3) добавь к ВПФ форму и ссылку на объект. и отлаживай на здоровье
7 volfy
 
20.12.12
13:27
(4) там потом надо будет минимальный номер взять
8 volfy
 
20.12.12
13:28
мол заказ 4 , 7, 23 , надо в шапку будет 4 вывести (4)
9 volfy
 
20.12.12
13:28
(5) уже кипю,....остыну попробую
10 volfy
 
20.12.12
13:29
всё же есть решение как можно сделать запросом?
11 pessok
 
20.12.12
13:35
а сделать циклом обработку заполнения нельзя?
12 volfy
 
20.12.12
13:43
Так это же медленнее ... нет?
13 volfy
 
20.12.12
13:43
(11) у меня стажа месяц... так что не надо делать "рука лицо" =)
14 volfy
 
20.12.12
13:46
(11) имеешь ввиду что то типо тз?
15 volfy
 
20.12.12
13:46
Рез = Запрос.Выполнить().Выбрать();
       Пока Рез.Следующий() Цикл
           Вставка = ТЗ.Добавить();
           Вставка.Ссылка                = Рез.Ссылка
           Вставка.НомерСтроки        = Рез.НомерСтроки
           Вставка.Номенклатура        = Рез.Номенклатура
           Вставка.Код                = Рез.Код
           Вставка.Артикул            = Рез.Артикул
           Вставка.НаименованиеПолное    = Рез.НаименованиеПолное
           Вставка.ЕдиницаИзмерения    = Рез.ЕдиницаИзмерения
           Вставка.Количество            = Рез.Количество
           Вставка.Цена                = Рез.Цена    
           Вставка.Сумма                = Рез.Сумма
           Вставка.СтавкаНДС            = Рез.СтавкаНДС
           Вставка.СуммаНДС            = Рез.СуммаНДС
           Вставка.ДатаОтгрузки        = Рез.ДатаОтгрузки
           Вставка.Характеристика        = Рез.Характеристика
           Вставка.Упаковка              = Рез.Упаковка
           Вставка.СуммаСкидки          = Рез.СуммаСкидки
           Вставка.СуммаБезСкидки        = Рез.СуммаБезСкидки
           Вставка.Содержание            = Рез.Содержание
       КонецЦикла;
16 Kashemir
 
20.12.12
13:48
(15) ЗаполнитьЗначенияСвойств() не попроще ли будет
17 volfy
 
20.12.12
13:48
(16) щас СП почитаю .... всех методов так сразу не освоить
18 Alex S D
 
20.12.12
13:48
(16) см. (13) и не усложняй ему жизнь)
19 volfy
 
20.12.12
13:49
Пока Рез.Следующий() Цикл
           ЗаполнитьЗначенияСвойств(ТЗ, Рез)
       КонецЦикла;
так нет?
20 Alex S D
 
20.12.12
13:49
нет
21 НЕА123
 
20.12.12
13:50
(15)
ТЗ = Запрос.Выполнить().Выгрузить()

ну, на худой конец

Выборка = Запрос.Выполнить().Выбрать();
       Пока Выборка.Следующий() Цикл
           ЗаполнитьЗначенияСвойств(ТЗ.Добавить(), Выборка)
       КонецЦикла;
22 volfy
 
20.12.12
13:50
(21) очень большое спасибо )
23 PLUT
 
20.12.12
13:52
(13) франчи - кузница кадров
24 Kashemir
 
20.12.12
13:53
(3) Ничего тяжелого. Пример кода, упрощающего отладку печатных форм

   Если Источник = 1 Тогда   // ссылка на печатную форму из справочника внешних обработок
       
           Попытка
               
               ИмяФайла = ПолучитьИмяВременногоФайла();
               ДвоичныеДанные = Ссылка.ХранилищеВнешнейОбработки.Получить();
               ДвоичныеДанные.Записать(ИмяФайла);
               
               
               Попытка
                   Обработка = ВнешниеОбработки.Создать(ИмяФайла);
               Исключение
                   Обработка = ВнешниеОтчеты.Создать(ИмяФайла);
               КонецПопытки;
                   
               
               УдалитьФайлы(ИмяФайла);
               
           Исключение
               
                   Предупреждение("Выбранный файл не является внешней обработкой/отчетом.
                                  |Либо, данная обработка не предназначена для
                                  |запуска в этой конфигурации.");
           КонецПопытки;
       
   Иначе // путь к файлу внешней обработки
       Обработка = ВнешниеОбработки.Создать(ПутьКОбработке);
   
   КонецЕсли;
   
   Обработка.СсылкаНаОбъект = СсылкаНаОбъект; // владелец (документ)
   
   ТабДок = Обработка.Печать();
   ТабДок.Показать();
25 volfy
 
20.12.12
13:54
(23) Добавить просто реквизит и ссылку? И как это отработает? Временный файл создастся и меня туда перекинет или что?
26 Kashemir
 
20.12.12
13:56
(25) Используй внешний файл

Обработка = ВнешниеОбработки.Создать(ПутьКОбработке);
   Обработка.СсылкаНаОбъект = СсылкаНаОбъект; // владелец (документ)

   
   ТабДок = Обработка.Печать();
   ТабДок.Показать();
27 PLUT
 
20.12.12
13:58
(25) в свою ВПЧ добавь форму и реквизит для выбора ссылки на объект. в обормотчик кнопки Выполнить пишешь вызов экспортной функции печати.

потом эту ВПФ через файл-открыть... и вперед и с песней в отладчик
28 Kashemir
 
20.12.12
14:01
29 volfy
 
20.12.12
14:05
(25) у меня упр формы)
30 Kashemir
 
20.12.12
14:09
(29) А че в толстом никак ?
31 volfy
 
20.12.12
14:10
i'll try ((
32 Kashemir
 
20.12.12
14:10
(31) gl
33 PLUT
 
20.12.12
14:40
34 volfy
 
20.12.12
14:53
Функция ПолучитьДанныеДляПечатнойФормыСчетаНаОплату(МассивОбъектов)
   
   //МассивОбъектов[0].СписокДокументов[0].ЗаказКлиента;
//ПараметрыИсточника.ОбъектыНазначения[0].
   
   //Счетчик = 0;
   
   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Ссылка");
   ТЗ.Колонки.Добавить("НомерСтроки");
   ТЗ.Колонки.Добавить("Номенклатура");
   ТЗ.Колонки.Добавить("Код");
   ТЗ.Колонки.Добавить("Артикул");
   ТЗ.Колонки.Добавить("НаименованиеПолное");
   ТЗ.Колонки.Добавить("ЕдиницаИзмерения");
   ТЗ.Колонки.Добавить("Количество");
   ТЗ.Колонки.Добавить("Цена");
   ТЗ.Колонки.Добавить("Сумма");
   ТЗ.Колонки.Добавить("СтавкаНДС");
   ТЗ.Колонки.Добавить("СуммаНДС");
   ТЗ.Колонки.Добавить("ДатаОтгрузки");
   ТЗ.Колонки.Добавить("Характеристика");
   ТЗ.Колонки.Добавить("Упаковка");
   ТЗ.Колонки.Добавить("СуммаСкидки");
   ТЗ.Колонки.Добавить("СуммаБезСкидки");
   ТЗ.Колонки.Добавить("Содержание");
   //Вставка = ТЗ.Добавить();
   
   Для каждого Док Из МассивОбъектов[0].СписокДокументов Цикл
       
       //

       
       Если Док.ЗаказКлиента.РазныеТабличныеЧастиДляПечати Тогда
           ИмяТЧТоваров = ".ТоварыДляПечатныхФорм";
       Иначе
           ИмяТЧТоваров = ".Товары";
       КонецЕсли;
       
       Запрос = Новый Запрос(
       "ВЫБРАТЬ
       |    Документы.Ссылка КАК Ссылка,
       |    Документы.Номер КАК Номер,
       |    Документы.Дата КАК Дата,
       |    НЕОПРЕДЕЛЕНО КАК ДокументОснование,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец, Документы.Организация) КАК Организация,
       |    Документы.Организация КАК ОрганизацияПоставщик,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийРуководитель.Наименование, Документы.Организация.ТекущийРуководитель.Наименование) КАК Руководитель,
       |    ЕСТЬNULL(Документы.БанковскийСчет.Владелец.ТекущийГлавныйБухгалтер.Наименование, Документы.Организация.ТекущийГлавныйБухгалтер.Наименование) КАК ГлавныйБухгалтер,
       |    ВЫБОР
       |        КОГДА Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
       |                ИЛИ Документы.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяЕНВД)
       |            ТОГДА ЛОЖЬ
       |        ИНАЧЕ ИСТИНА
       |    КОНЕЦ КАК УчитыватьНДС,
       |    Документы.Организация.Префикс КАК Префикс,
       |    Документы.Контрагент КАК Контрагент,
       |    Документы.БанковскийСчет КАК БанковскийСчет,
       |    Документы.БанковскийСчет.ТекстКорреспондента КАК БанковскийСчетТекстКорреспондента,
       |    Документы.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
       |    Документы.Валюта КАК Валюта,
       |    Документы.Менеджер.ФизическоеЛицо.Наименование КАК Менеджер,
       |    Документы.ДополнительнаяИнформация КАК ДополнительнаяИнформация,
       |    Документы.СуммаДокумента КАК СуммаКВозврату,
       |    ЛОЖЬ КАК ЧастичнаяОплата,
       |    """" КАК НазначениеПлатежа,
       |    100 КАК ПроцентОплаты,
       |    Документы.СуммаДокумента КАК СуммаДокумента,
       |    ЛОЖЬ КАК СчетКВозврату,
       |    Документы.Организация.ТекущийРуководитель КАК РуководительСсылка,
       |    Документы.Организация.ТекущийГлавныйБухгалтер КАК ГлавныйБухгалтерСсылка,
       |    Документы.Менеджер.ФизическоеЛицо КАК МенеджерСсылка
       |ИЗ
       |    Документ.ЗаказКлиента КАК Документы
       |ГДЕ
       |    Документы.Ссылка = &МассивОбъектов
       |
       |УПОРЯДОЧИТЬ ПО
       |    Документы.МоментВремени
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    ЭтапыГрафикаОплаты.Ссылка КАК Ссылка,
       |    ЭтапыГрафикаОплаты.НомерСтроки КАК НомерСтроки,
       |    ЭтапыГрафикаОплаты.ДатаПлатежа КАК ДатаПлатежа,
       |    ЭтапыГрафикаОплаты.ПроцентПлатежа КАК ПроцентПлатежа,
       |    ЭтапыГрафикаОплаты.СуммаПлатежа КАК СуммаПлатежа
       |ИЗ
       |    Документ.ЗаказКлиента.ЭтапыГрафикаОплаты КАК ЭтапыГрафикаОплаты
       |ГДЕ
       |    ЭтапыГрафикаОплаты.Ссылка = &МассивОбъектов
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    Товары.Ссылка КАК Ссылка,
       |    Товары.НомерСтроки КАК НомерСтроки,
       |    Товары.Номенклатура КАК Номенклатура,
       |    Товары.Номенклатура.Код КАК Код,
       |    Товары.Номенклатура.Артикул КАК Артикул,
       |    Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
       |    ВЫБОР
       |        КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
       |            ТОГДА ПРЕДСТАВЛЕНИЕ(Товары.Номенклатура.ЕдиницаИзмерения)
       |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Товары.Упаковка.ЕдиницаИзмерения)
       |    КОНЕЦ КАК ЕдиницаИзмерения,
       |    Товары.КоличествоУпаковок КАК Количество,
       |    Товары.Цена КАК Цена,
       |    Товары.Сумма КАК Сумма,
       |    Товары.СтавкаНДС КАК СтавкаНДС,
       |    Товары.СуммаНДС КАК СуммаНДС,
       |    Товары.ДатаОтгрузки КАК ДатаОтгрузки,
       |    Товары.Характеристика.НаименованиеПолное КАК Характеристика,
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1) = 1
       |            ТОГДА НЕОПРЕДЕЛЕНО
       |        ИНАЧЕ Товары.Упаковка.Наименование
       |    КОНЕЦ КАК Упаковка,
       |    Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки КАК СуммаСкидки,
       |    Товары.Сумма + Товары.СуммаРучнойСкидки + Товары.СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
       |    Товары.Содержание КАК Содержание
       |ИЗ
       |    Документ.ЗаказКлиента" + ИмяТЧТоваров + " КАК Товары
       |ГДЕ
       |    Товары.Ссылка = &МассивОбъектов
       |    И Товары.Отменено = ЛОЖЬ
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки");
       
       Запрос.УстановитьПараметр("МассивОбъектов", Док.ЗаказКлиента);
       
       ПакетРезультатовЗапроса = Запрос.ВыполнитьПакет();

       Рез = Запрос.Выполнить().Выбрать();
       Пока Рез.Следующий() Цикл
           Вставка = ТЗ.Добавить();
           Вставка.Ссылка               = Рез.Ссылка;
           Вставка.НомерСтроки          = Рез.НомерСтроки;
           Вставка.Номенклатура         = Рез.Номенклатура;
           Вставка.Код                  = Рез.Код;
           Вставка.Артикул              = Рез.Артикул;
           Вставка.НаименованиеПолное   = Рез.НаименованиеПолное;
           Вставка.ЕдиницаИзмерения     = Рез.ЕдиницаИзмерения;
           Вставка.Количество           = Рез.Количество;
           Вставка.Цена                 = Рез.Цена;    
           Вставка.Сумма                = Рез.Сумма;
           Вставка.СтавкаНДС            = Рез.СтавкаНДС;
           Вставка.СуммаНДС             = Рез.СуммаНДС;
           Вставка.ДатаОтгрузки         = Рез.ДатаОтгрузки;
           Вставка.Характеристика       = Рез.Характеристика;
           Вставка.Упаковка             = Рез.Упаковка;
           Вставка.СуммаСкидки          = Рез.СуммаСкидки;
           Вставка.СуммаБезСкидки       = Рез.СуммаБезСкидки;
           Вставка.Содержание           = Рез.Содержание;
           //Вставка = ТЗ.Добавить();
           //ЗаполнитьЗначенияСвойств(Вставка, Выборка)
       КонецЦикла;
       
       
       
       //Счетчик = Счетчик + 1;
       
               
       //Расчетная = Новый Структура;
       //Расчетная.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
       //Расчетная.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
       //Расчетная.Вставить("РезультатПоТабличнойЧасти", ПакетРезультатовЗапроса[2]);
       
   КонецЦикла;
   
   СтруктураДанныхДляПечати = Новый Структура;
   СтруктураДанныхДляПечати.Вставить("РезультатПоШапке", ПакетРезультатовЗапроса[0]);
   СтруктураДанныхДляПечати.Вставить("РезультатПоЭтапамОплаты", ПакетРезультатовЗапроса[1]);
   СтруктураДанныхДляПечати.Вставить("РезультатПоТабличнойЧасти", ТЗ);

       
   Возврат СтруктураДанныхДляПечати;
       
КонецФункции



МБ туплю но почему то всегда схватывает последний документ из табличной части =(
35 НЕА123
 
20.12.12
14:56
|    Товары.Ссылка = &МассивОбъектов
36 volfy
 
21.12.12
07:06
Всем спасибо =) задача решена еще вчера в обед =) очень помогли