|
Помогите с кодом запроса печатной формой счф для БП 1.6 | ☑ | ||
---|---|---|---|---|
0
zmeyako999
25.01.12
✎
10:14
|
Вообщем сделал и гдет накосячил а найти не могу где:
шибка при вызове метода контекста (Выполнить): В случае использования операторов ОБЪЕДИНИТЬ, поля предложений УПОРЯДОЧИТЬ ПО и ИТОГИ ПО должны находиться в списке выбора. Перем мНадписьПредоплата; Перем мВалютаРегламентированногоУчета Экспорт; #Если Клиент Тогда // Функция возвращает пустую таблицу значений под // табличную часть документа основания. // Функция ИнициализацияТаблицыСтрок() Товары = Новый ТаблицаЗначений(); Товары.Колонки.Добавить("Товар"); Товары.Колонки.Добавить("ТоварНаименование"); Товары.Колонки.Добавить("СтранаПроисхожденияКод"); Товары.Колонки.Добавить("СтранаПроисхождения"); Товары.Колонки.Добавить("ПредставлениеСтраны"); Товары.Колонки.Добавить("НомерГТД"); Товары.Колонки.Добавить("ПредставлениеГТД"); Товары.Колонки.Добавить("Количество"); Товары.Колонки.Добавить("ЕдиницаИзмерения"); Товары.Колонки.Добавить("ЕдиницаИзмеренияКод"); Товары.Колонки.Добавить("Цена"); Товары.Колонки.Добавить("СтавкаНДС"); Товары.Колонки.Добавить("СуммаНДС"); Товары.Колонки.Добавить("Сумма"); Товары.Колонки.Добавить("СуммаВключаетНДС"); Возврат Товары; КонецФункции // Функция собирает данные по документу основанию ОтчетаКомитенту и // возвращает типизированную структуру с данными // Функция СобратьДанныеПоОтчетКомитентуОПродажах(ТекущееОснование) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Запрос.Текст = "ВЫБРАТЬ | ОтчетКомитентуОПродажах.Организация, | ОтчетКомитентуОПродажах.Организация КАК Поставщик, | ОтчетКомитентуОПродажах.Контрагент КАК Покупатель, | ОтчетКомитентуОПродажах.СуммаВознаграждения КАК Сумма, | ОтчетКомитентуОПродажах.СтавкаНДСВознаграждения КАК СтавкаНДС, | ОтчетКомитентуОПродажах.ВалютаДокумента КАК Валюта, | ОтчетКомитентуОПродажах.УслугаПоВознаграждению КАК Товар, | ОтчетКомитентуОПродажах.УслугаПоВознаграждению.НаименованиеПолное КАК ТоварНаименование, | ОтчетКомитентуОПродажах.Товары.( | СУММА(СуммаВознаграждения) КАК Сумма, | СУММА(СуммаНДСВознаграждения) КАК СуммаНДС | ), | ОтчетКомитентуОПродажах.СуммаВключаетНДС, | ОтчетКомитентуОПродажах.УчитыватьНДС |ИЗ | Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах |ГДЕ | ОтчетКомитентуОПродажах.Ссылка = &ДокументОснование"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Организация", Шапка.Организация); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("Дата", СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить("Поставщик", Шапка.Поставщик); ДанныеДляПечати.Вставить("Грузоотправитель", ); ДанныеДляПечати.Вставить("Покупатель", Шапка.Покупатель); ДанныеДляПечати.Вставить("Грузополучатель", ); ДанныеДляПечати.Вставить("Сумма", Шапка.Сумма); ДанныеДляПечати.Вставить("Валюта", Шапка.Валюта); ДанныеДляПечати.Вставить("УчитыватьНДС", Шапка.УчитыватьНДС); ДанныеДляПечати.Вставить("СуммаВключаетНДС", Шапка.СуммаВключаетНДС); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.РуководительПредставление); ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление); Товары = ИнициализацияТаблицыСтрок(); Если ВыборкаСтрокТовары.Следующий() Тогда Строчка = Товары.Добавить(); Строчка.Товар = ?(НЕ ЗначениеЗаполнено(Шапка.Товар), "Комиссионное вознаграждение", Шапка.Товар); Строчка.ТоварНаименование = ?(НЕ ЗначениеЗаполнено(Шапка.Товар), "Комиссионное вознаграждение", Шапка.ТоварНаименование); Строчка.СтранаПроисхождения = ""; Строчка.ПредставлениеСтраны = ""; Строчка.НомерГТД = ""; Строчка.ПредставлениеГТД = ""; Строчка.Количество = 0; Строчка.ЕдиницаИзмерения = ""; Строчка.СтавкаНДС = Шапка.СтавкаНДС; СуммаДляПечати = ?(ВыборкаСтрокТовары.Сумма = Null, 0, ВыборкаСтрокТовары.Сумма); Строчка.СуммаНДС = ?(ВыборкаСтрокТовары.СуммаНДС = Null, 0, ВыборкаСтрокТовары.СуммаНДС); Строчка.Сумма = СуммаДляПечати; Строчка.Цена = 0; КонецЕсли; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); Возврат ДанныеДляПечати; КонецФункции // СобратьДанныеПоОтчетКомитентуОПродажах() // Функция собирает данные по документу основанию ОтчетаКомисиионера и // возвращает типизированную структуру с данными // Функция СобратьДанныеПоОтчетКомиссионераОПродажах(ТекущееОснование) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); Запрос.Текст = "ВЫБРАТЬ | ОтчетКомиссионераОПродажах.Организация, | ОтчетКомиссионераОПродажах.Организация КАК Поставщик, | ВЫБОР | КОГДА ЕСТЬNULL(ОтчетКомиссионераОПродажах.Грузоотправитель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА ""он же"" | ИНАЧЕ ОтчетКомиссионераОПродажах.Грузоотправитель | КОНЕЦ КАК Грузоотправитель, | ОтчетКомиссионераОПродажах.Контрагент КАК Покупатель, | ВЫБОР | КОГДА ЕСТЬNULL(ОтчетКомиссионераОПродажах.Грузополучатель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА ОтчетКомиссионераОПродажах.Контрагент | ИНАЧЕ ОтчетКомиссионераОПродажах.Грузополучатель | КОНЕЦ КАК Грузополучатель, | ОтчетКомиссионераОПродажах.СтавкаНДСВознаграждения КАК СтавкаНДС, | ОтчетКомиссионераОПродажах.СуммаДокумента КАК Сумма, | ОтчетКомиссионераОПродажах.ВалютаДокумента КАК Валюта, | ОтчетКомиссионераОПродажах.УчитыватьНДС, | ОтчетКомиссионераОПродажах.СуммаВключаетНДС, | ОтчетКомиссионераОПродажах.Товары.( | Номенклатура КАК Товар, | ВЫРАЗИТЬ(ОтчетКомиссионераОПродажах.Товары.Номенклатура.НаименованиеПолное КАК СТРОКА(200)) КАК ТоварНаименование, | СтранаПроисхождения КАК СтранаПроисхождения, | СтранаПроисхождения.НаименованиеПолное КАК ПредставлениеСтраны, | НомерГТД КАК НомерГТД, | НомерГТД.Представление КАК ПредставлениеГТД, | Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | Цена, | Количество, | Сумма, | СтавкаНДС, | СуммаНДС | ЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | СтранаПроисхождения.Код КАК СтранаПроисхожденияКод | ) |ИЗ | Документ.ОтчетКомиссионераОПродажах КАК ОтчетКомиссионераОПродажах |ГДЕ | ОтчетКомиссионераОПродажах.Ссылка = &ДокументОснование"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Организация", Шапка.Организация); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("Дата", СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить("Поставщик", Шапка.Поставщик); ДанныеДляПечати.Вставить("Грузоотправитель", Шапка.Грузоотправитель); ДанныеДляПечати.Вставить("Покупатель", Шапка.Покупатель); ДанныеДляПечати.Вставить("Грузополучатель", Шапка.Грузополучатель); ДанныеДляПечати.Вставить("Валюта", Шапка.Валюта); ДанныеДляПечати.Вставить("УчитыватьНДС", Шапка.УчитыватьНДС); ДанныеДляПечати.Вставить("СуммаВключаетНДС", Шапка.СуммаВключаетНДС); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.РуководительПредставление); ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление); Товары = ИнициализацияТаблицыСтрок(); Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл Строчка = Товары.Добавить(); Строчка.Товар = ВыборкаСтрокТовары.Товар; Строчка.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование); Строчка.СтранаПроисхождения = ВыборкаСтрокТовары.СтранаПроисхождения; Строчка.СтранаПроисхожденияКод = ВыборкаСтрокТовары.СтранаПроисхожденияКод; Строчка.ПредставлениеСтраны = ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.ПредставлениеСтраны), ВыборкаСтрокТовары.СтранаПроисхождения, ВыборкаСтрокТовары.ПредставлениеСтраны); Строчка.НомерГТД = ВыборкаСтрокТовары.НомерГТД; Строчка.ПредставлениеГТД = ВыборкаСтрокТовары.ПредставлениеГТД; Строчка.Количество = ВыборкаСтрокТовары.Количество; Строчка.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; Строчка.ЕдиницаИзмеренияКод = ВыборкаСтрокТовары.ЕдиницаИзмеренияКод; Строчка.СтавкаНДС = ВыборкаСтрокТовары.СтавкаНДС; Строчка.СуммаНДС = ВыборкаСтрокТовары.СуммаНДС; Строчка.Сумма = ВыборкаСтрокТовары.Сумма; Строчка.Цена = ВыборкаСтрокТовары.Цена; КонецЦикла; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); Возврат ДанныеДляПечати; КонецФункции // СобратьДанныеПоОтчетКомиссионераОПродажах() // Функция собирает данные по документу основанию реализации и возвращает типизированную // структуру с данными // Функция СобратьДанныеПоРеализацияТоваровУслуг(ТекущееОснование) Запрос = Новый Запрос; Если ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Тогда Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование.ДокументОтгрузки); Иначе Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); КонецЕсли; Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | ВЫБОР | КОГДА ЕСТЬNULL(РеализацияТоваровУслуг.Грузоотправитель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА ""он же"" | ИНАЧЕ РеализацияТоваровУслуг.Грузоотправитель | КОНЕЦ КАК Грузоотправитель, | РеализацияТоваровУслуг.Контрагент КАК Покупатель, | ВЫБОР | КОГДА ЕСТЬNULL(РеализацияТоваровУслуг.Грузополучатель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА РеализацияТоваровУслуг.Контрагент | ИНАЧЕ РеализацияТоваровУслуг.Грузополучатель | КОНЕЦ КАК Грузополучатель, | РеализацияТоваровУслуг.СуммаДокумента КАК Сумма, | РеализацияТоваровУслуг.ВалютаДокумента КАК Валюта, | РеализацияТоваровУслуг.УчитыватьНДС КАК УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС КАК СуммаВключаетНДС, | РеализацияТоваровУслуг.АдресДоставки КАК АдресДоставки |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ДокументОснование"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Если ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Тогда Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование.ДокументОтгрузки); Иначе Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); КонецЕсли; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Номенклатура КАК Товар, | ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | РеализацияТоваровУслугТовары.СтранаПроисхождения КАК СтранаПроисхождения, | РеализацияТоваровУслугТовары.СтранаПроисхождения.НаименованиеПолное КАК ПредставлениеСтраны, | РеализацияТоваровУслугТовары.СтранаПроисхождения.Код КАК СтранаПроисхожденияКод, | РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения, | РеализацияТоваровУслугТовары.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | РеализацияТоваровУслугТовары.НомерГТД КАК НомерГТД, | РеализацияТоваровУслугТовары.НомерГТД.Представление КАК ПредставлениеГТД, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.Цена КАК Цена, | РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки, | 1 КАК ID |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка = &ДокументОснование |"; Если Не (ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Или ТекущееОснование.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности) Тогда Запрос.Текст = Запрос.Текст + "ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслугУслуги.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслугУслуги.Содержание КАК СТРОКА(1000)), | NULL, | """", | РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения, | РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Код, | NULL, | """", | РеализацияТоваровУслугУслуги.Количество, | РеализацияТоваровУслугУслуги.Цена, | РеализацияТоваровУслугУслуги.СтавкаНДС, | РеализацияТоваровУслугУслуги.СуммаНДС, | РеализацияТоваровУслугУслуги.Сумма, | РеализацияТоваровУслугУслуги.НомерСтроки, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка = &ДокументОснование | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки"; КонецЕсли; ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать(); ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Организация", Шапка.Организация); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("Дата", СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить("Поставщик", Шапка.Поставщик); ДанныеДляПечати.Вставить("Грузоотправитель", Шапка.Грузоотправитель); ДанныеДляПечати.Вставить("Покупатель", Шапка.Покупатель); ДанныеДляПечати.Вставить("Грузополучатель", Шапка.Грузополучатель); ДанныеДляПечати.Вставить("АдресДоставки", Шапка.АдресДоставки); ДанныеДляПечати.Вставить("Сумма", Шапка.Сумма); ДанныеДляПечати.Вставить("Валюта", Шапка.Валюта); ДанныеДляПечати.Вставить("УчитыватьНДС", Шапка.УчитыватьНДС); ДанныеДляПечати.Вставить("СуммаВключаетНДС", Шапка.СуммаВключаетНДС); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.РуководительПредставление); ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление); Товары = ИнициализацияТаблицыСтрок(); ЕстьТовары = Ложь; Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл Если ВыборкаСтрокТовары.ID = 1 Тогда ЕстьТовары = Истина; КонецЕсли; Строчка = Товары.Добавить(); Строчка.Товар = ВыборкаСтрокТовары.Товар; Строчка.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование); Строчка.СтранаПроисхождения = ВыборкаСтрокТовары.СтранаПроисхождения; Строчка.ПредставлениеСтраны = ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.ПредставлениеСтраны), ВыборкаСтрокТовары.СтранаПроисхождения, ВыборкаСтрокТовары.ПредставлениеСтраны); Строчка.СтранаПроисхожденияКод = ВыборкаСтрокТовары.СтранаПроисхожденияКод; Строчка.НомерГТД = ВыборкаСтрокТовары.НомерГТД; Строчка.ПредставлениеГТД = ВыборкаСтрокТовары.ПредставлениеГТД; Строчка.Количество = ВыборкаСтрокТовары.Количество; Строчка.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; Строчка.ЕдиницаИзмеренияКод = ВыборкаСтрокТовары.ЕдиницаИзмеренияКод; Строчка.Цена = ВыборкаСтрокТовары.Цена; Строчка.СтавкаНДС = ВыборкаСтрокТовары.СтавкаНДС; Строчка.СуммаНДС = ВыборкаСтрокТовары.СуммаНДС; Строчка.Сумма = ВыборкаСтрокТовары.Сумма; КонецЦикла; Если Не ЕстьТовары Тогда ДанныеДляПечати.Грузоотправитель = ""; ДанныеДляПечати.Грузополучатель = ""; ДанныеДляПечати.АдресДоставки = ""; КонецЕсли; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); Возврат ДанныеДляПечати; КонецФункции // СобратьДанныеПоРеализацияТоваровУслуг() // Функция собирает данные по документу основанию реализации и возвращает типизированную // структуру с данными // Функция СобратьДанныеПоВозвратТоваровПоставщику(ТекущееОснование) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); Запрос.Текст = " |ВЫБРАТЬ | Организация, | Организация КАК Поставщик, | ВЫБОР | КОГДА ЕСТЬNULL(Грузоотправитель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА ""он же"" | ИНАЧЕ Грузоотправитель | КОНЕЦ КАК Грузоотправитель, | Контрагент КАК Покупатель, | ВЫБОР | КОГДА ЕСТЬNULL(Грузополучатель, &ПустойКонтрагент) = &ПустойКонтрагент | ТОГДА Контрагент | ИНАЧЕ Грузополучатель | КОНЕЦ КАК Грузополучатель, | СуммаДокумента КАК Сумма, | ВалютаДокумента КАК Валюта, | УчитыватьНДС КАК УчитыватьНДС, | СуммаВключаетНДС КАК СуммаВключаетНДС |ИЗ | Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику | |ГДЕ | ВозвратТоваровПоставщику.Ссылка = &ДокументОснование"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Если ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Тогда Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Иначе Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); КонецЕсли; Запрос.Текст = "ВЫБРАТЬ | ВозвратТоваровПоставщикуТовары.Номенклатура КАК Товар, | ВЫРАЗИТЬ(ВозвратТоваровПоставщикуТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | ВозвратТоваровПоставщикуТовары.СтранаПроисхождения КАК СтранаПроисхождения, | ВозвратТоваровПоставщикуТовары.СтранаПроисхождения.НаименованиеПолное КАК ПредставлениеСтраны, | ВозвратТоваровПоставщикуТовары.СтранаПроисхождения.Код КАК СтранаПроисхожденияКод, | ВозвратТоваровПоставщикуТовары.Номенклатура.БазоваяЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения, | ВозвратТоваровПоставщикуТовары.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ВозвратТоваровПоставщикуТовары.НомерГТД КАК НомерГТД, | ВозвратТоваровПоставщикуТовары.НомерГТД.Представление КАК ПредставлениеГТД, | ВозвратТоваровПоставщикуТовары.Количество КАК Количество, | ВозвратТоваровПоставщикуТовары.Цена КАК Цена, | ВозвратТоваровПоставщикуТовары.СтавкаНДС КАК СтавкаНДС, | ВозвратТоваровПоставщикуТовары.СуммаНДС КАК СуммаНДС, | ВозвратТоваровПоставщикуТовары.Сумма КАК Сумма, | ВозвратТоваровПоставщикуТовары.НомерСтроки КАК НомерСтроки, | 1 КАК ID |ИЗ | Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары |ГДЕ | ВозвратТоваровПоставщикуТовары.Ссылка = &ДокументОснование |УПОРЯДОЧИТЬ ПО | НомерСтроки"; ВыборкаСтрокТовары = Запрос.Выполнить().Выбрать(); ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Организация", Шапка.Организация); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("Дата", СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить("Поставщик", Шапка.Поставщик); ДанныеДляПечати.Вставить("Грузоотправитель", Шапка.Грузоотправитель); ДанныеДляПечати.Вставить("Покупатель", Шапка.Покупатель); ДанныеДляПечати.Вставить("Грузополучатель", Шапка.Грузополучатель); ДанныеДляПечати.Вставить("Сумма", Шапка.Сумма); ДанныеДляПечати.Вставить("Валюта", Шапка.Валюта); ДанныеДляПечати.Вставить("УчитыватьНДС", Шапка.УчитыватьНДС); ДанныеДляПечати.Вставить("СуммаВключаетНДС", Шапка.СуммаВключаетНДС); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.РуководительПредставление); ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление); Товары = ИнициализацияТаблицыСтрок(); ЕстьТовары = Ложь; Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл Если ВыборкаСтрокТовары.ID = 1 Тогда ЕстьТовары = Истина; КонецЕсли; Строчка = Товары.Добавить(); Строчка.Товар = ВыборкаСтрокТовары.Товар; Строчка.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование); Строчка.СтранаПроисхождения = ВыборкаСтрокТовары.СтранаПроисхождения; Строчка.СтранаПроисхожденияКод = ВыборкаСтрокТовары.СтранаПроисхожденияКод; Строчка.ПредставлениеСтраны = ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.ПредставлениеСтраны), ВыборкаСтрокТовары.СтранаПроисхождения, ВыборкаСтрокТовары.ПредставлениеСтраны); Строчка.НомерГТД = ВыборкаСтрокТовары.НомерГТД; Строчка.ПредставлениеГТД = ВыборкаСтрокТовары.ПредставлениеГТД; Строчка.Количество = ВыборкаСтрокТовары.Количество; Строчка.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; Строчка.ЕдиницаИзмеренияКод = ВыборкаСтрокТовары.ЕдиницаИзмеренияКод; Строчка.Цена = ВыборкаСтрокТовары.Цена; Строчка.СтавкаНДС = ВыборкаСтрокТовары.СтавкаНДС; Строчка.СуммаНДС = ВыборкаСтрокТовары.СуммаНДС; Строчка.Сумма = ВыборкаСтрокТовары.Сумма; КонецЦикла; Если Не ЕстьТовары Тогда ДанныеДляПечати.Грузоотправитель = ""; ДанныеДляПечати.Грузополучатель = ""; КонецЕсли; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); Возврат ДанныеДляПечати; КонецФункции // СобратьДанныеПоРеализацияТоваровУслуг() Функция СобратьДанныеПоАкту(ТекущееОснование) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Запрос.Текст = "ВЫБРАТЬ | АктОбОказанииПроизводственныхУслуг.Организация, | АктОбОказанииПроизводственныхУслуг.Организация КАК Поставщик, | АктОбОказанииПроизводственныхУслуг.Контрагент КАК Покупатель, | АктОбОказанииПроизводственныхУслуг.СуммаДокумента КАК Сумма, | АктОбОказанииПроизводственныхУслуг.ВалютаДокумента КАК Валюта, | АктОбОказанииПроизводственныхУслуг.УчитыватьНДС КАК УчитыватьНДС, | АктОбОказанииПроизводственныхУслуг.СуммаВключаетНДС КАК СуммаВключаетНДС, | АктОбОказанииПроизводственныхУслуг.Услуги.( | Ссылка, | НомерСтроки, | Количество, | Номенклатура КАК Товар, | Цена, | Сумма, | СтавкаНДС, | СуммаНДС, | Коэффициент, | НоменклатурнаяГруппа, | ВЫРАЗИТЬ(АктОбОказанииПроизводственныхУслуг.Услуги.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование, | Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения | ) |ИЗ | Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг |ГДЕ | АктОбОказанииПроизводственныхУслуг.Ссылка = &ДокументОснование"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.Услуги.Выбрать(); ДанныеДляПечати = Новый Структура(); ДанныеДляПечати.Вставить("Организация", Шапка.Организация); ДанныеДляПечати.Вставить("Номер", СсылкаНаОбъект.Номер); ДанныеДляПечати.Вставить("Дата", СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить("Поставщик", Шапка.Поставщик); ДанныеДляПечати.Вставить("Грузоотправитель", ); ДанныеДляПечати.Вставить("Покупатель", Шапка.Покупатель); ДанныеДляПечати.Вставить("Грузополучатель", ); ДанныеДляПечати.Вставить("Сумма", Шапка.Сумма); ДанныеДляПечати.Вставить("Валюта", Шапка.Валюта); ДанныеДляПечати.Вставить("УчитыватьНДС", Шапка.УчитыватьНДС); ДанныеДляПечати.Вставить("СуммаВключаетНДС", Шапка.СуммаВключаетНДС); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, СсылкаНаОбъект.Дата); ДанныеДляПечати.Вставить(?(РегламентированнаяОтчетность.ЭтоПБОЮЛ(Шапка.Поставщик), "ФИОПБОЮЛ", "ФИОРуководителя"), Руководители.РуководительПредставление); ДанныеДляПечати.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление); Товары = ИнициализацияТаблицыСтрок(); Пока ВыборкаСтрокТовары.Следующий() = 1 Цикл Строчка = Товары.Добавить(); Строчка.Товар = ВыборкаСтрокТовары.Товар; Строчка.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование); Строчка.СтранаПроисхождения = ""; Строчка.ПредставлениеСтраны = ""; Строчка.НомерГТД = ""; Строчка.ПредставлениеГТД = ""; Строчка.Количество = ВыборкаСтрокТовары.Количество; Строчка.ЕдиницаИзмерения = ВыборкаСтрокТовары.ЕдиницаИзмерения; Строчка.Цена = ВыборкаСтрокТовары.Цена; Строчка.СтавкаНДС = ВыборкаСтрокТовары.СтавкаНДС; Строчка.СуммаНДС = ВыборкаСтрокТовары.СуммаНДС; Строчка.Сумма = ВыборкаСтрокТовары.Сумма; КонецЦикла; ДанныеДляПечати.Вставить("ТабличнаяЧасть", Товары); Возврат ДанныеДляПечати; КонецФункции // Функция собирает данные по документу основанию ПередачаОС и возвращает типизированную // структуру с данными // Функция СобратьДанныеПоПередачеОС(ТекущееОснование) Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДокументОснование", ТекущееОснование); Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); &n |
|||
1
zmeyako999
25.01.12
✎
10:15
|
||||
2
zmeyako999
25.01.12
✎
10:15
|
url=http://narod.ru/disk/38734678001/1137for81%20-%20копия%20(2).epf.html]1137for81 - копия (2).epf.html[/url]
|
|||
3
Wobland
25.01.12
✎
10:15
|
(0) и где ИТОГИ в этой портянке?
|
|||
4
Wobland
25.01.12
✎
10:18
|
УПОРЯДОЧИТЬ ПО
| ID, | НомерСтроки откуда у тебя запрос узнает, что такое ИД и НомерСтроки? |
|||
5
zmeyako999
25.01.12
✎
10:22
|
Блин да это все было в старой счф внешней, я перечертил макет и вставил коды единиц измерения и коды страны, синтаксис весь он прошел
|
|||
6
Wobland
25.01.12
✎
10:23
|
(5) смотри текст запроса в момент исполнения. собирается как-то криво он
|
|||
7
zmeyako999
25.01.12
✎
11:46
|
Если Не (ТипЗнч(ТекущееОснование) = Тип("ДокументСсылка.РеализацияОтгруженныхТоваров") Или
ТекущееОснование.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности) Тогда Запрос.Текст = Запрос.Текст + "ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслугУслуги.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслугУслуги.Содержание КАК СТРОКА(1000)), | NULL, | """", | РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения, | РеализацияТоваровУслугУслуги.Номенклатура.БазоваяЕдиницаИзмерения.Код, | NULL, | """", | РеализацияТоваровУслугУслуги.Количество, | РеализацияТоваровУслугУслуги.Цена, | РеализацияТоваровУслугУслуги.СтавкаНДС, | РеализацияТоваровУслугУслуги.СуммаНДС, | РеализацияТоваровУслугУслуги.Сумма, | РеализацияТоваровУслугУслуги.НомерСтроки, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги |ГДЕ | РеализацияТоваровУслугУслуги.Ссылка = &ДокументОснование | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки"; КонецЕсли; Походу разное количество полей но исправить хз как |
|||
8
Wobland
25.01.12
✎
11:47
|
(7) тогда б ругался на разное количество полей
|
|||
9
zmeyako999
25.01.12
✎
11:50
|
конструктором синтаксис проходит
|
|||
10
zmeyako999
25.01.12
✎
12:48
|
||||
11
zmeyako999
25.01.12
✎
12:49
|
Помогите кто нить ... чет вообще уже в ступоре, убрал ИД сделал автоупорядочивание и все равно никак
|
|||
12
zmeyako999
25.01.12
✎
12:50
|
ссылкка выше
|
|||
13
zmeyako999
26.01.12
✎
06:49
|
есть у когонибудь готовая форма под 8.1?
|
|||
14
IamAlexy
26.01.12
✎
07:02
|
||||
15
zmeyako999
26.01.12
✎
07:39
|
там платно
|
|||
16
zmeyako999
26.01.12
✎
12:19
|
Wobland - пасиба разобралсо правда с чужой помощью но разобралсся
|
|||
17
zak555
26.01.12
✎
12:20
|
(0) зачем тебе СФ ?
|
|||
18
zmeyako999
26.01.12
✎
12:21
|
было в первой половине запроса 3 строки про страну происхождения, а во второй половине я 2 строки нулевые выводил, добавил третью пустую, вот и все дела
|
|||
19
zmeyako999
26.01.12
✎
12:23
|
(17) Конфа на обменах - на переферийках инет УГ, а с Урала на Алтай ехать никто не хочет, да и грядет переход на УПП посредствам терминала, поэтому заткнул таким макаром на время
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |