Попросили в V8 сделать отчет "Сообщение о ввозе"на основе док-та "ГТД по импорту". При анализе задания, выяснилось, что в БД(Бухгалтерия) нет информации, требуемой в отчет.
- Способ доставки корреспонденции
- Код ТН ВЭД ТС
- Категория
- Кол-во листов
первая мысль была снимать с поддержки и править конфигурацию, но потом пришла "светлая мысля" делать на доп. реквизитах докуметов и справочников. При первоначальной настройки отчета создаю доп реквизиты документа "ГТД по импорту":
1.Способ доставки
2.Кол-во листов
3.Номер договора (по требованию заказчика)
4.Дата договора (по требованию заказчика - ему удобно, чтобы договор "сидел" в документе)
и реквизиты номенклатуры
1.Категория
2.Код ТН ВЭД ТС
Всё. Далее пользователь заполняет реквизиты, а вывести форму - дело техники.
Подробности программной работы с доп.реквизитами:
форма настройки.
При открытии Читаю ХранилищеОбщихНастроек, если неопределено
Заполняю поля формы с названиями доп. реквизитов
ПараметрыРаботы = ХранилищеОбщихНастроек.Загрузить("ГЧ.СообщениеОВвозе","Параметры");
Если ПараметрыРаботы <> Неопределено Тогда
ПараметрыРаботы.Свойство("АкредитованныйКонтрагент",АкредитованныйКонтрагент);
ПараметрыРаботы.Свойство("НазваниеДопСвойстваСпособДоставки",НазваниеДопСвойстваСпособДоставки);
и т.д.
Если Не ЗначениеЗаполнено(НазваниеДопСвойстваСпособДоставки) Тогда
НазваниеДопСвойстваСпособДоставки = "1.Способ доставки";
КонецЕсли;
и т.д
Перед закрытием формы настройки, создаю структуру, записываю в неё названия полей(на случай если пользователь изменил название поля) сохраняю а ХранилищеОбщихНастроек
ПараметрыРаботы = Новый Структура;
ПараметрыРаботы.Вставить("АкредитованныйКонтрагент",АкредитованныйКонтрагент);
ПараметрыРаботы.Вставить("НазваниеДопСвойстваСпособДоставки",НазваниеДопСвойстваСпособДоставки);
и т.д
Далее если доп реквизиты ещё не созданы (первый запуск) создаём
Если ЗначениеЗаполнено(НазваниеДопСвойстваКатегория) Тогда
я = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(НазваниеДопСвойстваКатегория);
Если я.Пустая() Тогда
я = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
я.Наименование = НазваниеДопСвойстваКатегория;
я.ТипЗначения = Новый ОписаниеТипов("Строка",Новый КвалификаторыСтроки(20));
я.НазначениеСвойства = ПланывидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
я.Записать();
Записано = Истина;
КонецЕсли;
Иначе
Сообщить("Заполните ""Название доп. свойства ""Категория"" "" ");
ВсёЗаполнено = Ложь;
КонецЕсли;
Дополнительные реквизиты документов и справочников
Задачи пользователя - Адаптация типовых решений
См. также
29400 руб.
29.06.2023 6084 14 5
2400 руб.
08.08.2023 1749 2 0
01.03.2024 7088 dimanich70 9