Что делать форма не работает!

  • Автор темы Автор темы Magnita
  • Дата начала Дата начала

Magnita

New member
Регистрация
23 Янв 2014
Сообщения
14
Реакции
0
Создана загрузочная форма, отличается от обычной двумя столбиками: Размер и Штук. При подтягивании из Реализации товаров и услуг пишет : {Форма.Форма.Форма(180)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
{(81, 2)}: Поле не найдено "Размер"
<<?>>Размер,

Что делать. Я не програмист 1с... как решить проблему?
 
Создана загрузочная форма, отличается от обычной двумя столбиками: Размер и Штук. При подтягивании из Реализации товаров и услуг пишет : {Форма.Форма.Форма(180)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
{(81, 2)}: Поле не найдено "Размер"
<<?>>Размер,

Что делать. Я не програмист 1с... как решить проблему?

Предполагаю, что ЗАпрос брал данные с дока где были данные по номенклатуре "Размер", а сейчас этих данных нет!
Для точного диагноза - нужно смотреть, что да как!
 
Но эти ячейки не привязаны номенклатуре, они с нее не подтягиваются они просто забиваются в ручную. Как можно это исправить?
вот процедура:

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

СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");

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


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


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

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная";
Макет = ПолучитьМакет("Накладная");
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);
Запрос.Текст = ТекстЗапросаШапка;
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);
Запрос.Текст = ТекстЗапросаТовары;

ЗапросТовары = Запрос.Выполнить().Выгрузить();

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);
Запрос.Текст = ТекстЗапросаТара;

ЗапросТара = Запрос.Выполнить().Выгрузить();

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

// Выводим шапку накладной

СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата,,,КодЯзыкаПечать);
СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата,,,КодЯзыкаПечать);

БанковскийСчетОрганизации = СсылкаНаОбъект.БанковскийСчетОрганизации;
Если ЗначениеЗаполнено(БанковскийСчетОрганизации) Тогда
НомерСчета = БанковскийСчетОрганизации.НомерСчета;
Банк = БанковскийСчетОрганизации.Банк;
МФО = БанковскийСчетОрганизации.Банк.Код;

СведенияОПоставщике.Вставить("НомерСчета", НомерСчета);
СведенияОПоставщике.Вставить("Банк", Банк);
СведенияОПоставщике.Вставить("МФО", МФО);
КонецЕсли;

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

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

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

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

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

ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;

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

ОбластьДанных.Параметры.Цена = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
ТабДокумент.Присоединить(ОбластьДанных);

Если ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;

ОбластьСуммы.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
ТабДокумент.Присоединить(ОбластьСуммы);

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

ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");

Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;

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

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

ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ТабДокумент.Вывести(ОбластьНомера);

Если ВыводитьКоды Тогда
Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
КонецЕсли;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;

ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьДанных.Параметры.Товар = СокрП(ВыборкаСтрокТовары.Товар);
ТабДокумент.Присоединить(ОбластьДанных);

Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка) И НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка) Тогда
Скидка = 0;
Иначе
Скидка = ВыборкаСтрокТовары.Сумма / (100 - (ВыборкаСтрокТовары.Скидка + ВыборкаСтрокТовары.АвтоматическаяСкидка)) * (ВыборкаСтрокТовары.Скидка + ВыборкаСтрокТовары.АвтоматическаяСкидка);
//округлим скидку до двух знаков
Скидка = ОбщегоНазначения.ОкруглитьСУчетомПогрешности(Скидка, 2);
КонецЕсли;

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

ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
ТабДокумент.Присоединить(ОбластьСуммы);

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

КонецЦикла;

// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма");

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

// Вывести ИтогоНДС
Если Шапка.УчитыватьНДС Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");

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

// добавим строку с итоговой суммой, в случае когда НДС не входит в сумму
Если НЕ Шапка.СуммаВключаетНДС Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоДополнительно|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоДополнительно|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоДополнительно|Данные");
ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоДополнительно|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоДополнительно|Сумма");

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

// выведем таблицу с возвратной тарой
Если ЗапросТара.Количество() > 0 Тогда
// сделаем отступ от основной таблицы
ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
ТабДокумент.Вывести(ОбластьПробел);

ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыТара|НомерСтрокиТара");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицыТара|КолонкаКодовТара");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыТара|ДанныеТара");
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицыТара|СуммаТара");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;

ТабДокумент.Присоединить(ОбластьДанных);
ТабДокумент.Присоединить(ОбластьСуммы);

ОбластьКолонкаТовар = Макет.Область("Тара");
Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("КолонкаКодовТара").ШиринаКолонки;
КонецЕсли;


ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТара|НомерСтрокиТара");
ОбластьКодов = Макет.ПолучитьОбласть("СтрокаТара|КолонкаКодовТара");
ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТара|ДанныеТара");
ОбластьСуммы = Макет.ПолучитьОбласть("СтрокаТара|СуммаТара");

СуммаТара = 0;

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

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

ОбластьНомера.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
ТабДокумент.Вывести(ОбластьНомера);

Если ВыводитьКоды Тогда
Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
КонецЕсли;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;

ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТара);
ОбластьДанных.Параметры.Товар = СокрП(ВыборкаСтрокТара.Товар);
ТабДокумент.Присоединить(ОбластьДанных);

ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТара);
ТабДокумент.Присоединить(ОбластьСуммы);

СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;

КонецЦикла;

// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоТара|НомерСтрокиТара");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоТара|КолонкаКодовТара");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоТара|ДанныеТара");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоТара|СуммаТара");

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

// сделаем отступ
ТабДокумент.Вывести(ОбластьПробел);
КонецЕсли;

// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);

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

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

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

Если ЗначениеЗаполнено(Шапка.МестоСоставленияДокумента) Тогда
ОбластьМакета = Макет.ПолучитьОбласть("МестоСоставления");
ОбластьМакета.Параметры.МестоСоставления = СокрЛП(Шапка.МестоСоставленияДокумента);
ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;

// Вывести подписи
ДанныеПредставителя = ОбщегоНазначения.ДанныеФизЛица(Шапка.Организация,Шапка.ПредставительПоставщика, Шапка.Дата);
ДолжностьПредставителя = СокрЛП(ДанныеПредставителя.Должность);

ДолжностьФИОПредставителя = ?(ЗначениеЗаполнено(ДолжностьПредставителя),ДолжностьПредставителя + " ","") +
?(ДанныеПредставителя.Фамилия = Неопределено,"",ДанныеПредставителя.Фамилия + " ") +
?(ДанныеПредставителя.Имя = Неопределено,"",ДанныеПредставителя.Имя + " ") +
?(ДанныеПредставителя.Отчество = Неопределено,"",ДанныеПредставителя.Отчество);

ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.Ответственный = ДолжностьФИОПредставителя;


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



//Возврат ТабДокумент;
ТабДокумент.Показать ();
КонецПроцедуры
 
Было так:
ТекстЗапросаТовары =
"ВЫБРАТЬ
.......
| Размер,
| Штук,

.......

А нужно закомментировать по всем запросам!
Код:
ТекстЗапросаТовары =
"ВЫБРАТЬ
.......
[B]//| Размер,
//| Штук,[/B]
.......

Или же добавить в документ Реализация товаров и услуг в табл часть Товары поля "Размер" и "Штук"!
 
В табличной части есть и Размер и Штук, щас попробую ваш вариант. Спасибо!
 
Неа... ни то ни другое, проблема та же...!
 
Я то понимаю, но вот если б я разбирался в конфигураторе и отладке. Но все ж спасибо за потраченое время
 
Я то понимаю, но вот если б я разбирался в конфигураторе и отладке. Но все ж спасибо за потраченое время

Стоп!!!

Это вообще не то всё)))
Вы привели Процедуру печати Реализации, а хотите загрузить что-то в документ!!! Где взялась загрузочная форма и самое интересное отличная от обычной???
 
Внешняя обработка, скачана с сайта...
 
РасходнаяНакладнаяВнешняя.epf - разходная накладная (внешняя)
 
А если это внешняя печатная форма, ее править нельзя?... Или должен обязательно спец правит?

Внешняя печатная форма 99,9% предназначена для вывода на печать, а не для загрузки в документ - 0,01% но можно сделать и для загрузки !
 
Внешняя печатная форма 99,9% предназначена для вывода на печать, а не для загрузки в документ - 0,01% но можно сделать и для загрузки !

Так, я хочу для себя уточнить, внешняя форма РасходнаяНакладнаяВнешняя.epf выводит на печать документ, правильно "Реализация товаров и услуг"... Так ведь?
 
Так, я хочу для себя уточнить, внешняя форма РасходнаяНакладнаяВнешняя.epf выводит на печать документ, правильно "Реализация товаров и услуг"... Так ведь?

судя по коду ДА
 
судя по коду ДА

А править мне нужно загрузочную форму или документ? В Документе у меня внесены две ячейки (те которые не выводит) загрузочная форма и на одну из них она ругается... Что делать?
 
А править мне нужно загрузочную форму или документ? В Документе у меня внесены две ячейки (те которые не выводит) загрузочная форма и на одну из них она ругается... Что делать?

Если внесены изменения в документ - то нужно посмотреть, а лучше скопировать имена этих колонок и вставить в обработку внешеней печ формы!
 
Если внесены изменения в документ - то нужно посмотреть, а лучше скопировать имена этих колонок и вставить в обработку внешеней печ формы!

По ходу так и сделано. Но вот оно не работает! Я понимаю что нужно чтоб это делал спец... но...(( Руководитель, сказал тыкай... ((( Невесело...
 
Назад
Сверху