Где формируется "Заявление на возврат" в УНФ 3.0
В 1С Управление Нашей Фирмой 3.0 заявление на возврат от покупателя формируется в функции МакетЗаявленияНаВозврат которая расположена в ОбщийМодуль.ОбщегоНазначенияРМК.
В данной процедуре происходит получение макета "ПФ_MXL_ЗаявлениеНаВозвратРМК" и заполнение его данными с последующем возвратом в переменной "БланкЗаявлениея"
ТекстФункции:
// Подготавливает на печать бланк заявления на возврат товаров // // Параметры: // ДанныеЗаявленияНаВозврат - Структура: // *Товары - Массив, // *ФИОПокупателя - Строка, // *ДатаРождения - Дата, // *УдостоверениеЛичности - Строка, // *СуммаДокумента - Число, // *ЧекПродажи - ОпределяемыйТип.ЧекККМРМК, // *Магазин - ОпределяемыйТип.ТорговыйОбъектРМК, // *ЧекНомер - Число, // *ЧекДата - Дата, // *Кому - Строка, // *ОтКого - Строка, // *Дата - Дата. // // Возвращаемое значение: // БланкЗаявления - ТабличныйДокумент // Функция МакетЗаявленияНаВозврат(ДанныеЗаявленияНаВозврат) Экспорт БланкЗаявления = Новый ТабличныйДокумент; Если ДанныеЗаявленияНаВозврат.Свойство("ДатаРождения") И ЗначениеЗаполнено(ДанныеЗаявленияНаВозврат.ДатаРождения) Тогда ДатаРожденияКлиента = ДанныеЗаявленияНаВозврат.ДатаРождения; ДанныеЗаявленияНаВозврат.ДатаРождения = Формат(ДатаРожденияКлиента, "ДЛФ=DD"); КонецЕсли; Если ДанныеЗаявленияНаВозврат.Свойство("ЧекДата") И ЗначениеЗаполнено(ДанныеЗаявленияНаВозврат.ЧекДата) Тогда ДатаПробитияЧекаПродажи = ДанныеЗаявленияНаВозврат.ЧекДата; ДанныеЗаявленияНаВозврат.ЧекДата = Формат(ДатаПробитияЧекаПродажи, "ДЛФ=D"); КонецЕсли; Если ДанныеЗаявленияНаВозврат.Свойство("ОтКого") И ЗначениеЗаполнено(ДанныеЗаявленияНаВозврат.ОтКого) Тогда ФИОЗаявителя = ДанныеЗаявленияНаВозврат.ОтКого; ФИОЗаявителяРодительныйПадеж = СклонениеФИОВУказанномПадеже(ФИОЗаявителя, 2); ДанныеЗаявленияНаВозврат.ОтКого = СтрШаблон("от %1", ФИОЗаявителяРодительныйПадеж); КонецЕсли; Если ДанныеЗаявленияНаВозврат.Свойство("ОтКого") И ЗначениеЗаполнено(ДанныеЗаявленияНаВозврат.ОтКого) Тогда КемКупленТовар = ДанныеЗаявленияНаВозврат.ФИОПокупателя; КемКупленТоварТворительныйПадеж = СклонениеФИОВУказанномПадеже(КемКупленТовар, 5); ДанныеЗаявленияНаВозврат.ФИОПокупателя = КемКупленТоварТворительныйПадеж; КонецЕсли; Макет = ПолучитьОбщийМакет("ПФ_MXL_ЗаявлениеНаВозвратРМК"); ШапкаМакета = Макет.ПолучитьОбласть("Шапка"); ПараметрыШапки = ШапкаМакета.Параметры; ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); СтрокаТаблицыМакета = Макет.ПолучитьОбласть("Товар"); ПодвалМакета = Макет.ПолучитьОбласть("Подвал"); ПараметрыШапки.Заполнить(ДанныеЗаявленияНаВозврат); // постобработка шапки ЭтоВозвратНесколькихТоваров = ДанныеЗаявленияНаВозврат.Свойство("Товары") И ДанныеЗаявленияНаВозврат.Товары.Количество() > 1; ПараметрыШапки.О1 = ?(ЭтоВозвратНесколькихТоваров, НСтр("ru = 'и'"), НСтр("ru = ''")); ПараметрыШапки.О2 = ?(ЭтоВозвратНесколькихТоваров, НСтр("ru = 'ы'"), НСтр("ru = ''")); ПараметрыШапки.О3 = ?(ЭтоВозвратНесколькихТоваров, НСтр("ru = 'ы'"), НСтр("ru = ''")); ДлинноеПодчеркивание = "______________________________________________________"; СреднееПодчеркивание = "________________"; КороткоеПодчеркивание = "________"; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.ОтКого) ИЛИ ПараметрыШапки.ОтКого = "от " Тогда ПараметрыШапки.ОтКого = СтрШаблон("от %1", ДлинноеПодчеркивание); КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.ФИОПокупателя) Тогда ПараметрыШапки.ФИОПокупателя = ДлинноеПодчеркивание; КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.ДатаРождения) Тогда ПараметрыШапки.ДатаРождения = СреднееПодчеркивание; КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.УдостоверениеЛичности) Тогда ПараметрыШапки.УдостоверениеЛичности = СтрШаблон("%1%1%1", ДлинноеПодчеркивание); КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.ЧекНомер) Тогда ПараметрыШапки.ЧекНомер = КороткоеПодчеркивание; КонецЕсли; Если НЕ ЗначениеЗаполнено(ПараметрыШапки.ЧекДата) Тогда ПараметрыШапки.ЧекДата = СреднееПодчеркивание; КонецЕсли; БланкЗаявления.Вывести(ШапкаМакета); БланкЗаявления.Вывести(ШапкаТаблицы); Для Каждого СтрокаТоваров Из ДанныеЗаявленияНаВозврат.Товары Цикл СтрокаТаблицыМакета.Параметры.Заполнить(СтрокаТоваров); БланкЗаявления.Вывести(СтрокаТаблицыМакета); КонецЦикла; ПодвалМакета.Параметры.Заполнить(ДанныеЗаявленияНаВозврат); ПодвалМакета.Параметры.Дата = Формат(ТекущаяДатаСеанса(), "ДЛФ = DD"); БланкЗаявления.Вывести(ПодвалМакета); БланкЗаявления.АвтоМасштаб = Истина; ОбщегоНазначенияРМКПереопределяемый.ЗаполнитьЗаявлениеНаВозврат(БланкЗаявления, ДанныеЗаявленияНаВозврат); Если ТипЗнч(БланкЗаявления) <> Тип("ТабличныйДокумент") Тогда БланкЗаявления = Новый ТабличныйДокумент; КонецЕсли; Возврат БланкЗаявления; КонецФункции