8.х внешняя печатная форма "Спецификация"

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Вишенка, 8 авг 2011.

  1. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    Бухгалтерия предпрития, ред 2.0.25.5, 82.
    Ошибка при вызове метода контекста (Выполнить): Разное количество полей в объединяемых запросах
    код модуля запроса:
    Код:
    Функция ПечатьСпецификации()
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.Текст ="
    |ВЫБРАТЬ
    |	Номер,
    |	Дата,
    |	ДоговорКонтрагента,
    |	ДоговорКонтрагента.Дата КАК ДатаДоговора,
    |	ДоговорКонтрагента.Номер КАК НомерДоговора,
    |	ДоговорКонтрагента.Наименование КАК НаименованиеДоговора,
    |	Организация,
    |	Контрагент КАК Получатель,
    |	Организация КАК Руководители,
    |	Организация КАК Поставщик,
    |	СуммаДокумента,
    |	ВалютаДокумента,
    |	УчитыватьНДС,
    |	Ответственный,
    //|	Подразделение,
    //|	ВЫБОР 
    //|		КОГДА КонтактноеЛицоКонтрагента ССЫЛКА Справочник.КонтактныеЛицаКонтрагентов ТОГДА 
    //|			КонтактноеЛицоКонтрагента.Представление
    //|		ИНАЧЕ 
    //|			КонтактноеЛицоКонтрагента
    //|		КОНЕЦ КАК ПредставительПокупателя,
    //|	ВЫБОР 
    //|		КОГДА КонтактноеЛицоКонтрагента ССЫЛКА Справочник.КонтактныеЛицаКонтрагентов ТОГДА 
    //|			КонтактноеЛицоКонтрагента.Должность
    //|		ИНАЧЕ 
    //|			""_________________________""
    //|		КОНЕЦ КАК ДолжностьПредставителяПокупателя,
    |	СуммаВключаетНДС
    |ИЗ
    |	Документ.%ВидДокумента% КАК Спецификация
    |
    |ГДЕ
    |	Спецификация.Ссылка = &ТекущийДокумент";
    
    Запрос.Текст = СтрЗаменить(Запрос.Текст, "%ВидДокумента%", ВидДокумента);
    
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Спецификация";
    
    //СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("Спецификация");
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |	ВложенныйЗапрос.Номенклатура,
    |	ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |	ВложенныйЗапрос.Номенклатура.Код                КАК Код,
    //|	ВложенныйЗапрос.Номенклатура.Артикул            КАК Артикул,
    |	ВложенныйЗапрос.Количество,
    //|	ВложенныйЗапрос.ЕдиницаИзмерения.Представление  КАК ЕдиницаИзмерения,
    //|	ВложенныйЗапрос.ПроцентСкидкиНаценки 
    //|	+ ВложенныйЗапрос.ПроцентАвтоматическихСкидок   КАК Скидка,
    |	ВложенныйЗапрос.Цена,
    |	ВложенныйЗапрос.Сумма,
    |	ВложенныйЗапрос.СуммаНДС,
    //|	ВложенныйЗапрос.Характеристика,
    |	NULL Как Серия,
    |	НомерСтроки,
    //|	ВложенныйЗапрос.ЕдиницаИзмерения.Вес КАК Вес,
    |	Метка
    |ИЗ
    |	(
    |	ВЫБРАТЬ
    |		Спецификация.Номенклатура,
    //|		Спецификация.ЕдиницаИзмерения,
    //|		Спецификация.ПроцентСкидкиНаценки        КАК ПроцентСкидкиНаценки,
    //|		Спецификация.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |		Спецификация.Цена                        КАК Цена,
    |		СУММА(Спецификация.Количество)           КАК Количество,
    |		СУММА(Спецификация.Сумма     )           КАК Сумма,
    |		СУММА(Спецификация.СуммаНДС  )           КАК СуммаНДС,
    //|		Спецификация.ХарактеристикаНоменклатуры  КАК Характеристика,
    |		МИНИМУМ(НомерСтроки)                        КАК НомерСтроки,
    //|		Спецификация.ЕдиницаИзмерения.Вес		КАК Вес,
    |		0                                           КАК Метка
    |	ИЗ
    |		Документ.%ВидДокумента%.Товары КАК Спецификация
    |
    |	ГДЕ
    |		Спецификация.Ссылка = &ТекущийДокумент
    |
    |	СГРУППИРОВАТЬ ПО
    |		Спецификация.Номенклатура,
    //|		Спецификация.ЕдиницаИзмерения,
    //|		Спецификация.ПроцентСкидкиНаценки,
    //|		Спецификация.ПроцентАвтоматическихСкидок,
    |		Спецификация.Цена
    //|		Спецификация.ХарактеристикаНоменклатуры
    |	) КАК ВложенныйЗапрос
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	Спецификация.Номенклатура    КАК Товар,
    |	Спецификация.Номенклатура.Код     КАК Код,
    //|	Спецификация.Номенклатура.Артикул КАК Артикул,
    |	Спецификация.Количество,
    //|	Спецификация.Номенклатура.ЕдиницаХраненияОстатков,
    //|	Спецификация.ПроцентСкидкиНаценки,
    |	Спецификация.Цена,
    |	Спецификация.Сумма,
    |	Спецификация.СуммаНДС,
    |	NULL,
    |	NULL,
    |	НомерСтроки,
    |	0,
    |	1 КАК Метка
    |	
    |ИЗ
    |	Документ.%ВидДокумента%.Услуги КАК Спецификация
    |
    |ГДЕ
    |	Спецификация.Ссылка = &ТекущийДокумент
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	Спецификация.Номенклатура,
    |	ПРЕДСТАВЛЕНИЕ(Спецификация.Номенклатура) КАК Товар,
    |	Спецификация.Номенклатура.Код            КАК Код,
    //|	Спецификация.Номенклатура.Артикул        КАК Артикул,
    |	Спецификация.Количество,
    //|	Спецификация.Номенклатура.ЕдиницаХраненияОстатков,
    |	NULL,
    |	Спецификация.Цена,
    |	Спецификация.Сумма,
    |	(0)                                   КАК СуммаНДС,
    |	NULL,
    |	NULL,
    //|	NULL,
    //|	NULL,
    
    |	Спецификация.НомерСтроки,
    |	0,
    |	3 КАК Метка
    |	
    |ИЗ
    |	Документ.%ВидДокумента%.ВозвратнаяТара КАК Спецификация
    |
    |ГДЕ
    |	Спецификация.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР
    |";
    
    Запрос.Текст = СтрЗаменить(Запрос.Текст, "%ВидДокумента%", ВидДокумента);
    
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
    
    Макет = ПолучитьМакет("Спецификация");
    
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.551
    Симпатии:
    716
    Баллы:
    204
    ну и в чем проблемы? считаем количество полей в запросах между ОБЪЕДИНИТЬ ВСЕ - должно быть одинаковым
  3. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    ну я поняла, что РАЗНОЕ колво полей.
    с написанием кода проблемы.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.551
    Симпатии:
    716
    Баллы:
    204
    написанием какого кода?
    вы закомментировали текст запроса, т.к. вам не нужны поля, ну дык приведите число оставшихся полей к одному количеству и порядку следования.

    у вас как минимум ошибка в поле КОД: первом запросе - это 3-е поле, а во втором - 2-ое, в 3-ем - опять 3-е.

Поделиться этой страницей