gifts2017

Загрузка данных о заказах поставщику на автомобили в Альфа-Авто

Опубликовал Maxim Maxim (miavolas) в раздел Обработки - Обработка документов

Официальные дилеры различных автомобильных брендов имеют возможность получения от поставщиков списка автомобилей, которые в ближайшем будущем будут к нам доставлены. Как правило в табличном документе имеется развернутая информация о сроках планируемой поставки, варианте комплектации и предельной дате оплаты каждого автомобиля.

В практике внедрения отраслевой конфигурации Альфа-Авто 5ой версии, предназначенной для организации учета в табличного автосалонах и автосервисах важной является задача загрузки данных от поставщиков о планируемых поставках автомобилей.

Как правило эти данные представляют собой табличный документ, где имеется развернутая информация:

  • - о сроках планируемой поставке;
  • - внешнем номере заказа;
  • - VIN-номере автомобиля;
  • - стоимости;
  • - варианте комплектации и предельной дате оплаты каждого автомобиля

На рисунке ниже привожу фрагмент такого файла:

В процессе загрузки возникает необходимость получить данные о следующих объектах:

- справочник Автомобилей; 

- справочник Договоров взаиморасчетов с поставщиком;

- документы Заказ поставщику на автомобиль; 

- цены автомобилей

Важно чтобы эта информация не просто загружалась, но и синхронизировалась. Так чтобы в различных документах и справочниках об одном и том же автомобиле была непротиворечивой. Имеющаяся в составе отраслевого решения обработка загрузки табличного докумета очевидно задачу такой синхронизации решить не может.

Чтобы для пользователя наглядно отобразить процесс поступления нового автомобиля от поставщика мы создаем 2 связанные между собой "цепочки" документов: 

  • -заказов клиентов на автомобиль, которая отражает клиентские заказы на определенный автомобиль 
  • -заказов поставщику на автомобили, которая отражает изменения в информации о поставке авто 

Описываемая задача в первую очередь касается 2-ой "цепочки" (именно заказов поставщику на автомобили) и не редко встает совместно с организацией взаиморасчетов с поставщиками в разрезе каждого автомобиля по отдельности. В подобном случае рекомендуется также дополнить код программы автоматическим созданием договора с поставщиком. Который бы создавался по событию перед записью документа "Заказ поставщику на автомобиль".

 

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

 

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

Обрабатывая строки табличного документа обработка для каждой строки:

- с заполненными данными VIN-номера ищет элемент справочника автоомбилей, и если таковой отствутствует, то создает;

- с заполненными данными о номере заказа поставщику проверяет остатки заказов поставщику на автомобили с нужным внешним номером заказа и обновляет данные документа;

-формирет в процессе обработки таблицу соответствий VIN-номер цена автомобиля, которая после обработки табличной части предстает перед пользователем в виде документа изменение цен

Наглядно это алгоритм выглядит так:

В результате работы мы получаем не только заполенные документы заказ поставщику на автомобиль, но и один документ "Изменение цен автомобилей"

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Загрузка данных от поставщика автомобилей
.epf 13,75Kb
23.06.16
1
.epf 13,75Kb 1 Скачать
Процедура создания договора с поставщиком
.epf 13,75Kb
24.06.16
1
.epf 13,75Kb 1 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дарья Чернышова (chernyshova_darya) 07.07.16 08:25
Добрый день, мы собственными силами разрабатываем систему обмена данными с импортерами, которая будет синхронизировать данные о нашем складе автомобилей (в нашей предметной области, это информация как об автомобилях находящихся непосредственно у нас, так и квоте - автомобилях физически находящихся у дистрибьютора отгрузка которых запланирована). Правильно ли мы понимаем, что элемент справочника автомобили создается вне зависимости от того приедет фактически или нет авто к дилеру?
2. Maxim Maxim (miavolas) 07.07.16 10:11
(1) chernyshova_darya, данная публикация содержит обработку учитывающую методику работы с типовой конфигурацией Альфа-Авто, которая в 5ой версии предполагает создание элементов справочника автомобилей при записи документа заказ поставщику на автомобиль. Наличие измерения регистра "Автомобиль" накопления требует элемента справочника. Хотя логика реального бизнеса на самом деле этого не требует. Ведь поставщик может перераспределить автомобиль как и мы до момента отгрузки можем отказаться от него. Таким образом у пользователей типового отраслевого решения на момент публикации могут существовать записи в справочнике, соответствующие автомобилям, которых предприятие "в глаза не видело" и не увидит
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа