Складская Накладная

1. dj_romeo 22.12.11 13:20 Сейчас в теме
Всем добрый день!
Конфигурация Управление Торговлей 8.2
Добавил в документ РеализацияТоваровУслуг новый макет: СкладскаяНакладная (в итоге должно получиться печатная форма, похожая на Расходную накладную, только с колонкой "Склад")

В модуле обьекта добавил Функцию ПечатьСкладскойНакладной
Но не могу правильно задать код, чтобы отображались склады в печатной форме
Вот часть кода:
ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ОбластьМакета.Параметры.Товар       = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Склад       = ХХХ ;

Что мне написать вместо "ХХХ" ? Помогите пожалуйста, а то я уже замучался.
Кстати изначально я писал так:
ОбластьМакета.Параметры.Склад       = Ссылка.Склад;

В таком случае склад отображался в печ. форме, но только общий для всех товаров.
Но товар в одной накладной может отпускаться с разных складов, и нужно это отобразить в печатной форме.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. ho0p 22.12.11 13:38 Сейчас в теме
(1) Получай склад в запросе по табличной части, а потом заполняй из "ВыборкаСтрокТовары.Склад".
2. kolya_tlt 86 22.12.11 13:37 Сейчас в теме
вам нужно

1) в запрос добавить получение данных о складе
...
| Товар,
| Склад,
...


2) написать
ОбластьМакета.Параметры.Склад       = ВыборкаСтрокТовары.Склад;
4. dj_romeo 22.12.11 13:54 Сейчас в теме
При попытке напечатать накладную пишет такую ошибку:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(610)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:

по причине:
{(12, 3)}: Поле не найдено "Склад"
<<?>>Склад,

Что я делаю не так?
5. Korona 22.12.11 15:10 Сейчас в теме
выложи весь код запроса
6. dj_romeo 22.12.11 15:28 Сейчас в теме
Там есть три запроса, не совсем понимаю, в который из них дописывать.
Потому выкладываю всю функцию

Функция ПечатьСкладскойНакладной(СуммыВРублях = Ложь)
	
	ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
	Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
		ВыводитьКоды    = Истина;
		Колонка         = "Артикул";
		ТекстКодАртикул = "Артикул";
	ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
		ВыводитьКоды    = Истина;
		Колонка         = "Код";
		ТекстКодАртикул = "Код";
	Иначе
		ВыводитьКоды    = Ложь;
		Колонка         = "";
		ТекстКодАртикул = "Код";
	КонецЕсли;

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

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

	Макет = ПолучитьМакет("СкладскаяНакладная");

	// печать производится на языке, указанном в настройках пользователя
	КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
	Макет.КодЯзыкаМакета = КодЯзыкаПечать;

	// Выводим шапку нкладной
	СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата,,,КодЯзыкаПечать);
	СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата,,,КодЯзыкаПечать);
	
	Если ЗначениеЗаполнено(БанковскийСчетОрганизации) Тогда
		НомерСчета = БанковскийСчетОрганизации.НомерСчета;
		Банк       = БанковскийСчетОрганизации.Банк;
		МФО		   = БанковскийСчетОрганизации.Банк.Код;
		
		СведенияОПоставщике.Вставить("НомерСчета",       НомерСчета);
		СведенияОПоставщике.Вставить("Банк",             Банк);
		СведенияОПоставщике.Вставить("МФО",              МФО);
	КонецЕсли;
	
	ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
	Если Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером  Тогда
		ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Складская накладная (на комиссию)';uk='Складська накладна (на комісію)'",КодЯзыкаПечать),КодЯзыкаПечать);
	Иначе	
		ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Складская накладная';uk='Складська накладна'",КодЯзыкаПечать),КодЯзыкаПечать);
	КонецЕсли; 
	ТабДокумент.Вывести(ОбластьМакета);

	ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
	ОбластьМакета.Параметры.Заполнить(Шапка);	
	ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование,",,КодЯзыкаПечать);
	ОбластьМакета.Параметры.РеквизитыПокупателя		= ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
	ТабДокумент.Вывести(ОбластьМакета);

	// Выводим дополнительно информацию о договоре и сделке
	СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
	Если Шапка.ПечататьСделку = Истина Тогда
		СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Сделка,";
	КонецЕсли;
	СписокДополнительныхПараметров = СписокДополнительныхПараметров + "АдресДоставки,";
	
	МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать);
		
	
	ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0;

	Если ВыводитьКоды Тогда
		ОбластьШапки  = "ШапкаСКодом";
		ОбластьСтроки = "СтрокаСКодом";
	Иначе
		ОбластьШапки  = "ШапкаТаблицы";
		ОбластьСтроки = "Строка";
	Конецесли;

	Если Товары.Итог("КоличествоМест") > 0 Тогда
		ОбластьШапки  = ОбластьШапки  + "Мест";
		ОбластьСтроки = ОбластьСтроки + "Мест";
	Конецесли;
	
	Если ЕстьСкидки Тогда
		ОбластьШапки  = ОбластьШапки  + "Скидка";
		ОбластьСтроки = ОбластьСтроки + "Скидка";
	КонецЕсли; 
	
	// Вывести табличную часть (товары и услуги)
	ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки);
	Если ВыводитьКоды Тогда
		ОбластьМакета.Параметры.Колонка = Колонка;
	КонецЕсли;
	
	
	Суффикс = "";
	Если Шапка.УчитыватьНДС Тогда
		Если Шапка.СуммаВключаетНДС Тогда
			Суффикс  = Суффикс  + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать);
		Иначе	
			Суффикс  = Суффикс  + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать);
		КонецЕсли;
		Суффикс = Суффикс  + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать);
	КонецЕсли;
	ОбластьМакета.Параметры.Цена  = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
	ОбластьМакета.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
	
	ТабДокумент.Вывести(ОбластьМакета);

	ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);
	
	Сумма    = 0;
	СуммаНДС = 0;
	ВсегоСкидок    = 0;
	ВсегоБезСкидок = 0;

	Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл 

		Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
			Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
			Продолжить;
		КонецЕсли;

		ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
		ОбластьМакета.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
		ОбластьМакета.Параметры.Товар       = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
	    ОбластьМакета.Параметры.Склад       = ВыборкаСтрокТовары.Склад;
		Если ВыводитьКоды Тогда
			ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул;
		КонецЕсли;

		// Скидка может быть NULL
		ПроцентСкидки = ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),0,ВыборкаСтрокТовары.Скидка) 
		              + ?(НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),0,ВыборкаСтрокТовары.АвтоматическаяСкидка);

		Скидка = Ценообразование.ПолучитьСуммуСкидки(ВыборкаСтрокТовары.Сумма, ПроцентСкидки);
		
		Если ЕстьСкидки Тогда
			ОбластьМакета.Параметры.Скидка         = Скидка;
			ОбластьМакета.Параметры.СуммаБезСкидки = ВыборкаСтрокТовары.Сумма + Скидка;
		КонецЕсли;
		
		ТабДокумент.Вывести(ОбластьМакета);

		Сумма    = Сумма    + ВыборкаСтрокТовары.Сумма;
		СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;
		ВсегоСкидок    = ВсегоСкидок 	+ Скидка;
		ВсегоБезСкидок = Сумма + ВсегоСкидок;

	КонецЦикла;

	ОбластьИтого = "Итого";
	Если ЕстьСкидки Тогда
		ОбластьИтого  = ОбластьИтого + "Скидка";
	КонецЕсли; 
	
	// Вывести Итого
	ОбластьМакета                 = Макет.ПолучитьОбласть(ОбластьИтого);
	ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
	Если ЕстьСкидки Тогда
		ОбластьМакета.Параметры.ВсегоБезСкидок	= ОбщегоНазначения.ФорматСумм(ВсегоБезСкидок);
		ОбластьМакета.Параметры.ВсегоСкидок		= ОбщегоНазначения.ФорматСумм(ВсегоСкидок);
	КонецЕсли; 

	ТабДокумент.Вывести(ОбластьМакета);

	// Вывести ИтогоНДС
	Если Шапка.УчитыватьНДС Тогда
		// НДС
		ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
		ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
		ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать));
		ТабДокумент.Вывести(ОбластьМакета);

		// всего с НДС (если сумма не включает НДС)
		Если НЕ Шапка.СуммаВключаетНДС Тогда
			ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
			ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС);
			ОбластьМакета.Параметры.НДС      = НСтр("ru='Всего с НДС:';uk='Усього з ПДВ:'",КодЯзыкаПечать);
			ТабДокумент.Вывести(ОбластьМакета);
		КонецЕсли;
	КонецЕсли;
	
	// Вывести таблицу с возвратной тарой
	ОбластьШапки  = СтрЗаменить(ОбластьШапки,"Мест","");
	ОбластьСтроки = СтрЗаменить(ОбластьСтроки,"Мест","");
	ОбластьШапки  = СтрЗаменить(ОбластьШапки,"Скидка","")+"Тара";
	ОбластьСтроки = СтрЗаменить(ОбластьСтроки,"Скидка","")+"Тара";
	
	Если ЗапросТара.Количество() > 0 Тогда
		
		// сделаем отступ от основной таблицы
		ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
		ТабДокумент.Вывести(ОбластьПробел);
		
		ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки);
		Если ВыводитьКоды Тогда
			ОбластьМакета.Параметры.Колонка = Колонка;
		КонецЕсли;

		ТабДокумент.Вывести(ОбластьМакета);

		ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки);
		
		СуммаТара    = 0;
		
		Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл 
		
			ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТара);
			ОбластьМакета.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
			ОбластьМакета.Параметры.Товар       = СокрЛП(ВыборкаСтрокТара.Номенклатура);
       
			
			Если ВыводитьКоды Тогда
				ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТара.КодАртикул;
			КонецЕсли;

			ТабДокумент.Вывести(ОбластьМакета);

			СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;
		
		КонецЦикла; 
		
		// Вывести Итого
		ОбластьИтого = "ИтогоТара";
		ОбластьМакета                 = Макет.ПолучитьОбласть(ОбластьИтого);
		ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(СуммаТара);
		ТабДокумент.Вывести(ОбластьМакета);		
		
		// сделаем отступ
		ТабДокумент.Вывести(ОбластьПробел);
	КонецЕсли;
	
	// Вывести Сумму прописью
	ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
	СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
	ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ЗапросТовары.Количество() + "," +
											 НСтр("ru=' на сумму ';uk=' на суму '",КодЯзыкаПечать)  + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента)
											 + ?(ЗапросТара.Количество() = 0, "",  НСтр("ru='; возвратная тара ';uk='; зворотна тара '",КодЯзыкаПечать) + ЗапросТара.Количество() + НСтр("ru=', на сумму ';uk=', на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаТара, Шапка.ВалютаДокумента)) + ".";
											 
	ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента,КодЯзыкаПечать)
	 										 + ?(НЕ Шапка.УчитыватьНДС, "", Символы.ПС + НСтр("ru='В т.ч. НДС: ';uk='У т.ч. ПДВ: '",КодЯзыкаПечать) + ОбщегоНазначения.СформироватьСуммуПрописью(СуммаНДС, Шапка.ВалютаДокумента, КодЯзыкаПечать));
	ТабДокумент.Вывести(ОбластьМакета);

	// Вывести подписи
	ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
	ОбластьМакета.Параметры.Заполнить(Шапка);
	// Отпуск товара произвел.
	//  Из "ОтпускПроизвел", если заполнено, иначе по умолчанию из реквизита "Отпустил".
	Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда
		ФамилияИмяОтчествоФизЛица        = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата);
		ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество;
		ОбластьМакета.Параметры.Отпустил = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел);
	КонецЕсли;
    ТабДокумент.Вывести(ОбластьМакета);

	Возврат ТабДокумент;
	

КонецФункции // ПечатьДокумента()
Показать
,
11. Ditli 22.04.19 11:33 Сейчас в теме
Не смотря на то, что обсуждение старое, но очень помогло в решении проблемы со складом в табличной части.
7. deniseek77 86 22.12.11 15:35 Сейчас в теме
У тебя во 2 запросе МестаХраненияНоменклатуры.МестоХранения.Наименование КАК Склад,

А просто Запрос.Склад отладчиком что выдает в цикле?
8. MustDieff 22.12.11 15:58 Сейчас в теме
"ВЫБРАТЬ
   |   НомерТЧ,
   |   НомерСтрокиТЧ,
   |   Номенклатура,
   |   ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
   |   Номенклатура.Код     КАК Код,
   |   Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул,
   |   Количество,
   |   КоличествоМест,
   |   ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
   |   ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест,
   |   Цена,
   |   Сумма,
   |   СуммаНДС,
   |   ПроцентСкидкиНаценки КАК Скидка,
   |   ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
   |   ХарактеристикаНоменклатуры КАК Характеристика,
   |   СерияНоменклатуры КАК Серия,
   |   МестоХранения КАК Склад
   |ИЗ 
   |   (ВЫБРАТЬ
   |      1 КАК НомерТЧ,
   |      МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ,
   |      Номенклатура         КАК Номенклатура,
   |      ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
   |      ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
   |      Цена                 КАК Цена,
   |      СтавкаНДС            КАК СтавкаНДС,
   |      ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
   |      ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
   |      СерияНоменклатуры    КАК СерияНоменклатуры,
   |      ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |      СУММА(Количество)    КАК Количество,
   |      СУММА(КоличествоМест)КАК КоличествоМест,
   |      СУММА(Сумма)         КАК Сумма,
   |      СУММА(СуммаНДС)      КАК СуммаНДС,
   |	  Склад КАК МестоХранения
   |   ИЗ
   |      Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
   |   ГДЕ
   |      РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
   |   СГРУППИРОВАТЬ ПО
   |      Номенклатура,
   |      ЕдиницаИзмерения,
   |      ЕдиницаИзмеренияМест,
   |      Цена,
   |      СтавкаНДС,
   |      ПроцентСкидкиНаценки,
   |      ПроцентАвтоматическихСкидок,
   |      СерияНоменклатуры,
   |      ХарактеристикаНоменклатуры,
   |	  Склад
   |   ) КАК ВложенныйЗапросПоТоварам
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |   2,
   |   РеализацияТоваровУслуг.НомерСтроки,
   |   Выразить(РеализацияТоваровУслуг.Содержание КАК Строка(100)),
   |   Выразить(РеализацияТоваровУслуг.Содержание КАК Строка(100)),
   |   Номенклатура.Код     КАК Код,
   |   Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул,
   |   Количество,
   |   NULL,
   |   Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены,
   |   NULL,
   |   Цена,
   |   Сумма,
   |   СуммаНДС,
   |   ПроцентСкидкиНаценки,
   |   NULL,
   |   NULL,
   |   NULL,
   |   NULL //у услуг нет склада
   |   
   |ИЗ
   |   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
   |
   |ГДЕ
   |   РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
   |
   |УПОРЯДОЧИТЬ ПО
   |   НомерТЧ, НомерСтрокиТЧ
   |";

Показать
dj_romeo; +1 Ответить
10. dj_romeo 22.12.11 17:27 Сейчас в теме
(8) MustDieff, Огромное СПАСИБО! Все получилось!
9. dj_romeo 22.12.11 17:22 Сейчас в теме
deniseek77 пишет:
У тебя во 2 запросе МестаХраненияНоменклатуры.МестоХранения.Наименование КАК Склад,


Эту строку уже я добавлял, но если так оставить, то при попытке распечатать документ выдает ошибку:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(610)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:

по причине:
{(12, 3)}: Поле не найдено "МестаХраненияНоменклатуры.МестоХранения.Наименование"
<<?>>МестаХраненияНоменклатуры.МестоХранения.Наименование КАК Склад,
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот