Добрый день. Общепит, редакция 8, украинская версия на базе "Бухгалтерия для Украины", редакция 1.2 Нужна помощь в изменении печатной формы документа. Необходимо вывести колонку код из справочника номенклатуры. В 1С печатная форма не формируется – ошибка «Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (НоменклатураКод)».
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.УстановитьПараметр("НТТ", Перечисления.ВидыСкладов.НеавтоматизированнаяТорговаяТочка); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата, | Ответственный.ФизЛицо.Наименование КАК Отпустил, | Организация, | СкладОтправитель, | СкладОтправитель.Представление КАК Поставщик, | СкладПолучатель, | ВЫБОР КОГДА СкладОтправитель.ВидСклада = &НТТ ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ОтправительНТТ, | ВЫБОР КОГДА СкладПолучатель.ВидСклада = &НТТ ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПолучательНТТ, | СкладПолучатель.Представление КАК Покупатель |ИЗ | Документ.ПеремещениеТоваров КАК ПеремещениеТоваров |ГДЕ | ПеремещениеТоваров.Ссылка = &ТекущийДокумент";
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьЦена Тогда
ТабДокумент.Присоединить(ОбластьЦены);
КонецЕсли;
ОбластьКолонкаТовар = Макет.Область("Товар");
Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли;
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное); Продолжить; КонецЕсли;
Если ВыводитьКоды Тогда Если Колонка = "НоменклатураКод" Тогда ОбластьКодов.Параметры.НоменклатураКод = ВыборкаСтрокТовары.НоменклатураКод; Иначе ОбластьКодов.Параметры.НоменклатураКод = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьЦена Тогда //Определим цену для розницы в продажных ценах КоличествоТов = ВыборкаСтрокТовары.Количество; ЦенаПеремещения = 0; Если (ВыборкаСтрокТовары.ID = 1) И СкладНТТ Тогда ЦенаПеремещения = ВыборкаСтрокТовары.Цена; ИначеЕсли (ВыборкаСтрокТовары.ID = 1) Тогда //один из складов - розничный Склад = ?(СсылкаНаОбъект.Ссылка.СкладОтправитель.ВидСклада = Перечисления.ВидыСкладов.Розничный, СсылкаНаОбъект.Ссылка.СкладОтправитель, СсылкаНаОбъект.Ссылка.СкладПолучатель); ЦенаПеремещения = Ценообразование.ПолучитьЦенуНоменклатуры(ВыборкаСтрокТовары.Номенклатура, Склад.ТипЦенРозничнойТорговли, СсылкаНаОбъект.Ссылка.Дата, мВалютаРегламентированногоУчета, 1, 1); КонецЕсли; СтрокаСуммСписания = ТаблицаСуммСписания.Найти(ВыборкаСтрокТовары.Номенклатура ,"Номенклатура"); Если СтрокаСуммСписания = Неопределено Тогда //ЦенаПеремещения = 0; //Сумма = 0; Сумма = ЦенаПеремещения * КоличествоТов; Иначе ЦенаПеремещения = ?(ВыборкаСтрокТовары.Количество = 0, 0, СтрокаСуммСписания.Сумма / ВыборкаСтрокТовары.Количество); Сумма = ЦенаПеремещения * ВыборкаСтрокТовары.Количество; КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьЦена Тогда ТабДокумент.Присоединить(ОбластьЦены); КонецЕсли;
Группа: Местный
Сообщений: 2909
Из: Київ, Україна
Спасибо сказали: 1162 раз
Рейтинг: 1248.1
Это не программирование, это - пользовательский режим. Без его понимания о программировании очень рано говорить. Откройте меню "Сервіс / Настройка програми" и в закладке "Друк" посмотрите, чему равен реквизит "Додаткова колонка друкованих форм документів".
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Это не программирование, это - пользовательский режим. Без его понимания о программировании очень рано говорить. Откройте меню "Сервіс / Настройка програми" и в закладке "Друк" посмотрите, чему равен реквизит "Додаткова колонка друкованих форм документів".
Гиии спасибо большое!!! Все элементарно просто, а я мудрю который день. Стыдно, что не знала этого
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!