Доработка стандартного механизма ВПФ для отраслевой конфигурации ВДГБ: Ломбард 3.3.36.1 + сами печатные формы договоров и залогового билета.

02.06.15

Задачи пользователя - Адаптация типовых решений

Решил выложить начатые и не доведенные до ума в свое время наработки по данному релизу ВДГБ: Ломбард, редакция 3.3 (3.3.36.1). Надеюсь, кому-то могут быть полезными данные внешние печатные формы и методика внесения изменений в конфигурацию (да и вообще работе с этой конфигурацией).
Также тема была поднята на форуме ранее "Правильная модификация решения: механизм учета доп. характеристик и свойств, надстройки к механизму ВПФ Залоговый билет". Для хранения списка вещей конфигурацию пришлось править...

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ВДГБ_ВПФ_ЗалоговыйБилет
.epf 24,03Kb ver:1.0
12 4 200 руб. Купить
ТестВДГБ_Ломбард_3_3_ВПФ_ЗАЯВЛЕНИЕ_ОБ_ОТКАЗЕ
.epf 11,46Kb ver:1.0
0 4 200 руб. Купить
ТестВДГБ_Ломбард_3_3_ВПФ_ПРОЧИЕ_УСЛОВИЯ_ДОГОВОРА_ЗАЙМА
.epf 11,96Kb ver:1.0
0 4 200 руб. Купить
Стандартная форма БО-7 (панель с кнопками обработка конфигурации)
.erf 24,11Kb ver:1.0
2 4 200 руб. Купить
Служебная - для отладки ВПФ
.epf 8,11Kb ver:1.0
0 4 200 руб. Купить
Договор займа 2014 (версия)
.epf 11,45Kb ver:1.0
2 4 200 руб. Купить
Договор залога
.epf 21,94Kb ver:1.0
3 4 200 руб. Купить
Договор залога ПТС
.epf 11,49Kb ver:1.0
1 4 200 руб. Купить
Измененные и добавленные объекты в отраслевую конфигурацию ВДГБ ломбард 3.3
.cf 309,96Kb ver:1.0
1

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В продолжении темы поднятой ранее на форуме "Правильная модификация решения: механизм учета доп. характеристик и свойств, надстройки к механизму ВПФ Залоговый билет" по данному отраслевому решению выкладываю свои наработки (требующие серьезной отладки под Ваше решение). Камнем преткновения стала печатная форма Залогового билета. Особенность в том, что сам документ содержит очень много специфических данных, рассчитываемых по алгоритмам самого документа. Естественно, что все это дело вытащить без потерь функциональности без ошибок проблематично. Я поступил так:

1. Создал панель кнопок в документе (см рисунок 1).

Рисунок 1 - кнопки документа

 

2. Вставил в конфигурацию нижеприведенный код: 

//###Дор+

//Описание доработки: Вызов ВПФ для печати:
Процедура ДействияФормыпДоговорЗалога(Кнопка)
	ПечатьИзВПФ("ВДГБ_ВПФ_ДоговорЗалога"); // Приходится передавать ДокументОбъект!
КонецПроцедуры

Процедура ДействияФормыпЗалоговыйБилет(Кнопка)	
	ПечатьИзВПФ("ВДГБ_ВПФ_ЗалоговыйБилет"); // Приходится передавать ДокументОбъект!
КонецПроцедуры

Процедура ДействияФормыпДоговорЗайма2014(Кнопка)	
	ПечатьИзВПФ("ВДГБ_ВПФ_ДоговорЗайма2014"); // Приходится передавать ДокументОбъект!
КонецПроцедуры

Процедура ДействияФормыпДоговорЗалогаПТС(Кнопка)
	ПечатьИзВПФ("ВДГБ_ВПФ_ДоговорЗалогаПТС"); // Приходится передавать ДокументОбъект!
КонецПроцедуры


// Описание доработки: Вызывает данные функции из справочника ВПФ по строгому соответствию имени и передает им объект.
Процедура ПечатьИзВПФ(ИмяВПФ);
	СсылкаНаВПФ = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяВПФ);
	Если СсылкаНаВПФ.Пустая() Тогда
		Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ИмяВПФ+"'");
		Возврат;
	КонецЕсли;
		
	Попытка
		ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf";
	Исключение
		Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+
		+КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С ");
		Возврат;
	КонецПопытки;	
	
	ДвоичныеДанные = СсылкаНаВПФ.ХранилищеВнешнейОбработки.Получить();		
	ДвоичныеДанные.Записать(ИмяВременногоФайла);
	
	Попытка
		ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла);
		ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ;
	Исключение
		Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла);
		Возврат;
	КонецПопытки;
	
	// Проба печати
	Попытка
		ТаблДок = ОбрОбъект.Печать();
		ТаблДок.Вывести();
	Исключение
		А=1; // Точка останова для отладки!
		Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить!
	КонецПопытки;	
			
КонецПроцедуры	
//###Дор- 

3. Создал "с нуля" ВПФ для залогового билета (и параллельно обычные ВПФ договоров ПТС и прочих без использования данного механизма (фрагменты тут в статье и приложениях в виде объектов конфигурации в *.cf и внешних отчетов и обработок. 

4. По залоговым вещам (вроде) добавил регистр сведений и еще что-то(см рисунки 2 и 3 по объектам учета)...


Рисунок 2 - вариант 1 с регистором сведений

Рисунок 3 - вариант 2 с регистром сведений

Далее, фрагменты кода из конфигурации:

 
Перем мУчетнаяПолитикаЛомбарда Экспорт; // Хранит настройки учетной политики ломбарда.

Перем мДокументОбъект Экспорт; // Хранит объект вызвавшего документа. СЮДА передадим для ЗалоговогоБИЛЕТА!

Перем мВалютаРегламентированногоУчета; // Хранит значение константы "Валюта регламентированного учета"

Перем мДанныеКредитования; 

Перем мСхема;

///Перем СсылкаНаОбъект;

//---------------

//---------------


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

Функция ПолучитьПроцентПоКредиту()
	Возврат мСхема.ЗаКредит;       
КонецФункции	

Функция ПолучитьПроцентЗаХранение()
	Возврат мСхема.ЗаХранение;
КонецФункции


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

Функция ХарактеристикиВещиТекстомВВидеСписка (Вещь)
	стр = ""; // На выходе Марка машины: ГАЗ + переносСтроки и.т.д.
	Структ = ПолучитьСтруктуруХарактеристикВещи(Вещь);
	
	Если Структ.Количество() = 0 Тогда
		Возврат стр; // Вернем пустую строку
	КонецЕсли;
	
	Для каждого ЭлемСтр Из Структ Цикл
		Стр = Стр + ЭлемСтр.Ключ +": "+ЭлемСтр.Значение+Символы.ПС;
	КонецЦикла;	
	
	Возврат Стр;
	
КонецФункции	
 

Зачем ТАК спросите Вы? ВПФ все-таки проще править и заменить, чем лезть в конфигурацию. Хотя именно залоговый билет с глюками и пригодится как строительный материал программистам, которым по долгу службы в принудительном порядке или уже добровольно придется дорабатывать ТАКОЕ отраслевое решение.  Печатные формы кроме залогового билета (по ней основная сложность) могут быть работоспособны. 

Надеюсь, данная методика и материалы могут пригодиться.

P.S. Ниже буду приводить редкие материалы, посвященные разработе по данной тематике

- интересное решение //infostart.ru/public/205109/ - Подбор залоговых вещей в документ "Подготовка к продаже" в конфигурации "ВДГБ: Ломбард 3"

Вступайте в нашу телеграмм-группу Инфостарт

ВДГБ ломбард ВПФ расчет процентов займ отраслевая конфигурация печатная форма залоговый билет операция по залоговому билету ломбард

См. также

Разработка Адаптация типовых решений Учетные задачи Производство готовой продукции (работ, услуг) Розничная торговля 1С:Управление торговлей 10 Россия Платные (руб)

Доработка для 1С:Управление торговлей 10.3 (релиз 10.3.88.3) добавляет поддержку маркировки новых категорий товаров согласно постановлениям Правительства РФ 2025–2026 гг. Конфигурация УТ 10.3 снята с поддержки — новые маркируемые категории в типовую поставку больше не попадают. Доработка закрывает этот пробел: новые виды номенклатуры, обмен с ГИС МТ «Честный Знак». Поставляется в виде файла .cf

14640 руб.

23.04.2026    877    6    9    

10

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    12356    35    15    

42

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    921    1    0    

3

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    13246    118    23    

74

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9760 руб.

17.06.2025    3700    9    0    

8

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    1398    2    0    

2

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9150 руб.

02.08.2023    8274    26    5    

41
Для отправки сообщения требуется регистрация/авторизация