1С:Предприятие 8.3 (8.3.12.1616) "Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1) Доброго! Вояю ВПФ для документа "РасходныйКассовыйОрдер", все по методике: процедурки и функции повыдергивал, себе в модуль вставил, проверил ошибки, переменные. ОК. Прогоняю через отладчик с точкой останова, ошибок не дает. Но и ТабДокумент не возвращает!! А когда прикручиваю к доку ч-з Серви/Внешние печатные формы, то при попытке печатнуть дает такую ошибку: "Не удалось сформировать внешнюю печатную форму! Преобразование значения к типу Число не может быть выполнено" При отладке эту ошибку получить не могу. Просьба, помочь/направить/подсказать. Вот код:
Возврат РезультирующаяСтрока; КонецФункции Функция СформироватьСуммуПрописью(Сумма, Валюта, КодЯзыка = "ua") Экспорт
ПараметрыПрописи = ПараметрыПрописи(Валюта, КодЯзыка); Если ПараметрыПрописи = "" Тогда Возврат ФорматСумм(Сумма); Иначе Попытка Возврат ЧислоПрописью(Сумма,"Л="+ОпределитьКодЯзыкаДляФормат(КодЯзыка),ПараметрыПрописи); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецФункции Функция ПараметрыПрописи(Валюта, КодЯзыка) Экспорт
Рез = ("гривня, гривні, гривень, ж, копійка, копійки, копійок, ж, 2"); Если Рез = "" Тогда ОбщегоНазначения.СообщитьСлужебнуюИнформацию("Для валюты " + Валюта + " не установлены параметры прописи для кода языка " + КодЯзыка); КонецЕсли;
Возврат Рез;
КонецФункции // ПараметрыПрописи() Функция Печать()Экспорт
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата КАК ДатаДокумента, | Организация, | Касса.ОбособленноеПодразделение КАК ОбособленноеПодразделениеОрганизации, | Касса.ОбособленноеПодразделение.НаименованиеПолное КАК ОбособленноеПодразделениеОрганизацииПредставление, | СуммаДокумента КАК Сумма, | Контрагент.Представление КАК ФИОПолучателя, | ВалютаДокумента КАК Валюта, | ВалютаДокумента.Представление КАК ВалютаПредставление, | Выдать, | Приложение, | ПоДокументу, | Основание, | НомерОрдера |ИЗ | Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер | |ГДЕ | РасходныйКассовыйОрдер.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать(); Если Шапка.Сумма = неопределено ИЛИ Шапка.Сумма = NULL Тогда Сумма=0; Иначе Сумма = Шапка.Сумма; КонецЕсли; Шапка.Следующий();
ТабДокумент = Новый ТабличныйДокумент; //ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасходныйКассовыйОрдер_КО2";
Вариант2018 = Ложь; Если СсылкаНаОбъект.Дата >= Дата('20180105') Тогда Макет = ПолучитьМакет("КО2ф"); Вариант2018 = Истина; ИначеЕсли СсылкаНаОбъект.Дата >= Дата('20090616') Тогда Макет = ПолучитьМакет("КО2ф"); Иначе Макет = ПолучитьМакет("КО2ф"); КонецЕсли;
Если НЕ ЗначениеЗаполнено(Шапка.ОбособленноеПодразделениеОрганизации) Тогда ОбластьМакета.Параметры.ПолноеНаименование = СведенияОбОрганизации.ПолноеНаименование; Иначе ОбластьМакета.Параметры.ПолноеНаименование = Шапка.ОбособленноеПодразделениеОрганизацииПредставление; КонецЕсли;
Если НЕ ЗначениеЗаполнено(Шапка.ОбособленноеПодразделениеОрганизации) Тогда Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента); Иначе Руководители = ОбщегоНазначения.ОтветственныеЛицаОбособленногоПодразделения(Шапка.ОбособленноеПодразделениеОрганизации, Шапка.ДатаДокумента); КонецЕсли;
Если ЗначениеЗаполнено(Руководители.РуководительФИО) Тогда Руководитель = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.РуководительФИО.Фамилия, Руководители.РуководительФИО.Имя, Руководители.РуководительФИО.Отчество); КонецЕсли;
Если ЗначениеЗаполнено(Руководители.ГлавныйБухгалтерФИО) Тогда ГлавныйБухгалтер = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.ГлавныйБухгалтерФИО.Фамилия, Руководители.ГлавныйБухгалтерФИО.Имя, Руководители.ГлавныйБухгалтерФИО.Отчество); КонецЕсли;
Если ЗначениеЗаполнено(Руководители.КассирФИО) Тогда Кассир = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.КассирФИО.Фамилия, Руководители.КассирФИО.Имя, Руководители.КассирФИО.Отчество); КонецЕсли;
awp @ Сегодня, 12:17
, Спасибо, обратите внимание на блок закоментированный, то я увидел где взять тот самый код, но я не представляю как его "вставить в мой макет, в мою форму. даже запрос организовал, но, он тянет все коды из классификатора, а заполняет каждые поля по товару одним (подозреваю первым) кодом. в Этом и загвоздочка
1С:Предприятие 8.3 (8.3.12.1616) "Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1) Доброго времени суток, Господа. На данный момент есть необходимость создания внешней печатной формы "Приходный ордер. Типовая форма № М-4"; Мною реализовано изящно, но скомканное исполнение и ОДНА ПРОБЛЕМКА! А именно, не представляю как заполнять КонНоменклатуры, согласно Классификатору единиц измерения. Код прикрепляю. Просьба, подскажите как заполнить "Эти поля", всю голову сломал
ОбластьСч_ТЧ = Макет.ПолучитьОбласть("Сч_ТЧ"); ОбластьШапка2 = Макет.ПолучитьОбласть("ДопШап"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка2"); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!