1С:ERP Управление предприятием: cоздание обработки по сбору заказов клиентов на производство
-
В этом кейсе рассмотрим особенности реализации механизма по сбору и созданию заказов клиентов на производство продукции
-
Заказчик: производственная компания
-
Сфера бизнеса: производство
-
Конфигурация: 1С:ERP Управление предприятием
Задача от заказчика
Необходимо написать обработку, которая будет собирать заказы клиентов. Эти заказы еще не запущены в производство, но по ним можно создать заказ на производство.
● Для нескольких заказов клиентов может быть создан один заказ на производство.
● Пользователь выбирает организацию и подразделение, где будет выполняться производство. При необходимости создается перемещение.
● Возможность выбора подразделений необходимо реализовать в момент создания заказа на производство.
● После запуска в производство номенклатуры, она сразу производится и отгружается или резервируется на складе при заказе клиента.
Прежде чем приступить к созданию обработки, разберем и символизируем условия задачи.
Анализ условий задачи и предпроектное обследование системы 1С
Рассмотрев условия задачи, мы решили, что необходимо написать обработку, в табличной части которой будут отображаться заказы клиентов, соответствующие заданным условиям.
Типовой механизм позволяет создавать заказы на производство для клиентов, у которых оплата прошла контроль, либо если такой тип оплаты отсутствует в правилах оплаты.
Из условия задачи следует, что после запуска в производство определенной номенклатуры продукции, она сразу же производится и отгружается. Следовательно, необходимо собирать только те заказы клиентов, обеспечение которых готово к отгрузке, или резервировать их по мере поступления заказов.
В данной обработке также требуется добавить возможность создания заказов на производство сразу по нескольким заказам клиентов.
Мы предложили реализовать множественный выбор в виде функционала проставления галочек.
Кроме того, условиями задачи определены сроки, в соответствии с которыми пользователю должна быть предоставлена возможность выбора подразделения на этапе создания заказа на производство. Это означает, что в момент создания заказа необходимо вывести список доступных значений с отбором по подразделению диспетчера, поскольку на другие подразделения невозможно создать заказы на производство.
Аналитика настроек правил оплаты в заказе клиента
Разберем заказ клиента и рассмотрим, что представляют собой правила оплаты и варианты обеспечения.
Правила оплаты указываются на странице основного документа в гиперссылке «Оплата».
Существует четыре варианта контроля оплаты:
● оплата до обеспечения в заказе, которая не позволяет проставить сроки к обеспечению и резервированию без наличия в заказе соответствующего процента оплаты;
● оплата до отгрузки, не позволяющая проставить сроки товаров к отгрузке без соответствующего процента оплаты в заказе;
● оплата после отгрузки;
● оплата независимо от отгрузки, которая не контролируется.
Правила оплаты отражаются в регистре накопления плановой оплаты клиентов в конфигураторе, который называется «Расчеты с клиентами. План оплат».
Механизм резервирования товара и запись в регистр сведений 1С ЕРП
Варианты обеспечения указываются на вкладке «Товары» в колонке «Действия».
Предусмотрено 5 вариантов обеспечения:
● «Не обеспечивать» — данное действие используется, если нет необходимости фиксировать потребности и предварительно резервировать товар на складе до его отгрузки.
● «К обеспечению» — позволяет зафиксировать потребность в товаре на складе отправителя на указанную дату начала отгрузки.
● «Резервировать по мере поступления» — позволяет зарезервировать товар на складе отправителя после его появления на остатках.
● «Резервировать на складе» — позволяет зарезервировать товар на складе отправителя для последующего перемещения по заказу.
● «Отгрузить» — является распоряжением к началу оформления складских документов или оказанию услуг.
Если установлен флажок «Обособленно», то товар будет фиксировать потребность, резервироваться или отгружаться.
Согласно назначению заказа клиента, варианты обеспечения отражаются в оборотном регистре накопления «Распределение запасов». Данный регистр начиная с версии 2.5 является одним из основных товародвижений.
При помощи механизмов регламентного задания распределения запасов происходит обработка и запись данных в регистр сведений «Распределение запасов», на основании которого строится отчет остатков и доступности товаров.
Этот отчет предназначен для контроля состояния запасов товаров и анализа общего и доступного остатка товаров. В версии 2.4 этот отчет строился на регистре накопления «Свободные остатки».
А теперь приступим к разбору программной реализации.
Программная реализация проекта - этап сбора данных
Для осуществления сбора данных на форме создали таблицу значений с колонками «Заказ клиента», «Номенклатура», «Характеристика», «Назначение», «Количество» и «Склад для реализации», добавили возможность выбора нескольких строк с помощью флага «Выбрать».
Для получения данных была добавлена кнопка.
Рассмотрим ее код. Он в основном состоит из запроса, который собирает данные при помощи пяти временных таблиц.
1. В первой временной таблице получаем данные заказов клиентов: к обеспечению ресурса, к обеспечению без резерва и к резерву по мере поступления ресурса.
Ресурс резервируется по мере поступления при помощи регистра накопления «Распределение запасов».
Чтобы выбрать только заказы клиентов, устанавливаем отбор на тип измерения «Заказ на отгрузку», равный типу «Заказ клиента».
2. Во второй временной таблице создаем группы по заказам клиентов для удобства работы с ними в дальнейшем.
3. В третьей временной таблице выбираем все планы оплат из регистра «Расчет с клиентами. План оплат».
4. В четвертой временной таблице получаем только первые оплаты с контролем «Оплата до обеспечения».
В конфигурации наименований данный контроль интерпретируется как «Аванс до обеспечения».
5. Пятая временная таблица состоит из объединения. В первой части выбираем только оплаченные приходы, равные расходам заказов клиентов с контролем «Оплата до обеспечения». Во второй части отбираем все прочие заказы клиентов.
6. Шестая часть запроса является итоговой и получает конечные данные для вывода в таблице на форме.
Затем загружаем полученные данные.
Реализация проекта - программирование создания заказа на производство в 1С:ERP
Нам также необходимо запрограммировать создание заказов на производство. Для этого на форму добавлена кнопка «Создать заказ на производство». Нажимая на кнопку, мы открываем форму выбора подразделений с отбором по подразделениям диспетчера.
В обработке выбора подразделения запускаем создание заказа на производство.
В данной процедуре используется несложный алгоритм: создаем документ, заполняем и записываем его стандартно по выбранным строкам таблицы.
Подробно разберем заполнение спецификации.
Сначала мы определяем параметры выбора спецификации при помощи вызова функции «Параметры выбора спецификации» из общего модуля управления данными об изделиях. Результатом работы данной процедуры является фиксированная структура, заполненная значениями по умолчанию для переданного типа документа, в нашем случае для заказа на производство.
Затем мы получаем структуру заполнения спецификации с помощью вызова функции «Параметры действия». Проверяем и заполняем спецификацию из общего модуля управления данными об изделиях на клиент-сервере.
Результатом работы этой функции является структура, включающая в себя:
● данные об изделии, для которого нужно установить спецификацию;
● имя поля спецификации и параметры выбора спецификации, полученные на предыдущем шаге.
Все полученные данные отправляем в типовую процедуру «Обработать строку ТЧ» общего модуля, где происходит обработка табличной части на сервере.
На выходе получаем строку со спецификацией, заполненную согласно всем заданным условиям.
Данную процедуру также можно вызвать из клиента, заменив общий модуль обработки табличной части сервера на общий модуль обработки табличной части клиента. Имя процедуры останется прежним.
Тестирование работы системы
Проверим работу обработки в режиме предприятия.
Для этого откроем нашу обработку. На форму добавлена кнопка «Получить данные» для удобства анализа. Также мы вывели на форму колонку «График оплаты». Как мы видим, предоплата у нас всего лишь по одному заказу.
Мы видим, что заказ оплачен полностью (на сто процентов), а значит он точно подходит под наши условия. В колонке товаров стоит действие «К обеспечению», что также является верным.
А теперь рассмотрим несколько других заказов клиентов на предмет оплаты и вариантов обеспечения.
Например, у VIP клиентов есть: оплата до отгрузки, оплаты независимо от отгрузки и действия: «Резервировать на складе», «Резервировать по мере поступления».
Нас интересует только «Резервировать по мере поступления».
Рассмотрим еще один заказ клиента, например, кредит.
Здесь оплата независимо от отгрузки, и товары стоят с отметкой «Резервировать по мере поступления», что верно.
А теперь рассмотрим последний заказ по частичной предоплате.
Здесь оплата до отгрузки, оплаты независимо от отгрузки, и товары резервировать по мере поступления. Выберем несколько заказов клиентов.
Ручная проверка обработки по созданию заказов на производство в 1С
Создадим заказ на производство с помощью кнопки «Создать заказ на производство», выберем подразделение, например, «Производство мебели» — «Основное производство». Заказ на производство дивана создался.
Проверим заполнение спецификаций. Спецификации создались верно.
Заполним организацию и проведем заказ на производство. Теперь нам необходимо произвести заказ.
После того, как заказ произведен (диван есть в наличии), в заказе клиента у нас заполнилась колонка «Доступно». Выберем действие «Отгрузить», проведем заказ клиента, и теперь проверим, что заказ у нас ушел.
Проверим: «Заказ после отгрузки». Нажав кнопку «Получить данные», мы видим, что нашего заказа больше нет, а это значит, что он отгружен покупателю.
Результат проделанной работы
На примере реализации данного кейса мы подробно разобрали как создать обработку, собирающую заказы клиентов, которые еще не запущены в производство. Кроме этого рассмотрели механизм сбора и создания заказов клиентов на производство и определили, что представляют собой правила оплаты и варианты обеспечения. А также показали как можно заполнить спецификацию типовыми методами.
Если у вас возникли вопросы по данной теме или любой другой при работе в системе 1С:ERP Управление предприятием, то наши специалисты Neti всегда готовы провести профессиональную консультацию и оказать помощь в решении актуальных вопросов.
Оцените статью
Читайте также:
![](https://erpdev.i-neti.ru/wp-content/themes/neti/img/feedback_bg.png)