Top.Mail.Ru
Заказать консультацию
специалиста 1С
Отправить заявку

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

Расширение функционала по замещению планов производства

Ретунский Александр Посмотреть все статьи >> Технический архитектор франчайзинговой сети «ИнфоСофт»
06.10.2023
704
Время прочтения - 9 мин.
Заказать консультацию

В типовых решениях конфигураций ERP (ERP.УХ) реализован механизм по замещению планов производства. Замещающий план вытесняет предыдущий в периоде по заданному списку аналитик.

Функционал работает с заданным списком аналитик (подразделение, назначение) в типовом варианте виде плана. Данного списка аналитик бывает не хватает для решения реальных бизнес-задач, и возникает потребность в расширении количества аналитик. Например, для крупной холдинговой компании недостаточно формирования планов по подразделениям, необходимо формировать планы производства в разрезе организации.

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

 

Описание типовых возможностей по замещению планов производства.

Справочник «Виды планов»

Для начала работы со справочником «Виды планов» необходимо предварительно завести сценарий. В элементе справочника «Сценарии» нужно указать периодичность и наименование.

В справочнике «Виды планов» на вкладке «Основное» выбираем ранее заведенный сценарий (по дням), заносим наименование, указываем использовать для плана производства, тип процесса и замещающий (см. рис. 1).

1.png

Рисунок 1 – Основные настройки справочника «Виды плана»

 

В справочнике «Виды планов» на вкладке «Детализация» указываются аналитики для замещения планов производства. В типовом варианте присутствует детализация (см. рис. 2):

- подразделение-диспетчер;

- назначение.

2.png

Рисунок 2 – Варианты детализации справочника «Виды плана»

 

Документ «План производства»

После создания элемента справочника «Виды планов» можно переходить к созданию документа «План производства» в котором указывается сценарий планирования, вид плана и аналитика вида плана, период планирования.

В документе выводится информация - замещен или нет план производства (см. рис. 3).

3.png

Рисунок 3 – Ввод нового документа «План производства»

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

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

Когда вводятся следующей документ «План производства» в тех же значениях аналитик, которые были уже введены в данном периоде, то вновь введенный документ замещает уже существующие документы (см. рис. 4). При этом у замещенных документов будут очищены движения.

4.png

Рисунок 4 – Ввод замещающему документа «План производства»

 

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

 

Необходимые кастомизации для расширения функционала

Справочник «Виды планов».

Для добавления новых аналитик – типовых (например: организация) и не типовых (например: присутствует новый справочник – «Территории») необходимо выполнить следующие действия:

1. Добавить новые реквизиты в справочник «Виды планов» (тип: «Булево»):

- ЗаполнятьОрганизацию
- ЗаполнятьТерриторию

2. Вывести программным способом реквизиты на форму справочника «Виды планов».

3. В форме элемента справочника «Виды планов»:

3.1. В процедуру – ТипПланаПриИзменении (в проверку ИначеЕсли Объект.ТипПлана = ПредопределенноеЗначение("Перечисление.ТипыПланов.ПланПроизводства") Тогда) добавить

ЗаполнятьТерриторию = Ложь;
ЗаполнятьОрганизацию = Ложь;

3.2. В процедуру – ЗаполнятьПоДефицитуПриИзменении (в проверку Если ЗаполнятьПоДефициту Тогда) добавить

ЗаполнятьТерриторию = Ложь;
ЗаполнятьОрганизацию = Ложь;

3.3. В процедуру – ОбновитьДоступностьЭлементов добавить

Элементы.ЗаполнятьТерриторию.Доступность = Не Объект.ЗаполнятьПоДефициту;
Элементы.ЗаполнятьОрганизацию.Доступность = Не Объект.ЗаполнятьПоДефициту;

3.4. В процедуру – УстановитьВидимость добавить

Форма.Элементы.ЗаполнятьТерриторию.Видимость = ЭтоПланПроизводства И Не Форма.КомплекснаяАвтоматизация;
Форма.Элементы.ЗаполнятьОрганизацию.Видимость = ЭтоПланПроизводства И Не Форма.КомплекснаяАвтоматизация

4. В модуль менеджера справочника «Виды планов»:

4.1. В функцию – ПолучитьБлокируемыеРеквизитыОбъекта, добавить

Результат.Добавить("ЗаполнятьТерриторию");
Результат.Добавить("ЗаполнятьОрганизацию");

5. В модуль объекта справочника «Виды планов»:

5.1. В процедуру – ЗаполнитьВидПланаПоОтбору, добавить в реквизит – ИменаРеквизитов =

| ЗаполнятьВидОперации, ЗаполнятьОрганизацию,

Итогом выполнения будет в виде плана (см. рис. 5) детализация по новым аналитикам для замещения планов производства.

image_2023-10-12_09_57_07.png

Рисунок 5 – Новая детализация справочника «Виды планов»

 

Документ «План производства»

Для работы новых аналитик в документе «План производства» необходимо выполнить следующие действия:

1) Добавить новый реквизит в документ «План производства»:

- Территория (тип: новый справочник «Территории»)

2) Вывести программным способом реквизиты («Организация» - типовой реквизит документа) на форму документа «План производства».

3) В форме элемента документа «План производства»:

3.1) В функцию – ПроверитьЗаполнениеШапки, добавить

   Если ЭтаФорма.ЗаполнятьТерриторию И НЕ    ЗначениеЗаполнено(Объект.Территория) Тогда
                  ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                              НСтр("ru = 'Поле ""Территория"" не заполнена'"),
                              Объект.Ссылка,
                              "Объект.Территория");
                  ЗаполненоКорректно = Ложь;
      КонецЕсли;

 

    Если ЭтаФорма. ЗаполнятьОрганизацию И НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
                  ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                              НСтр("ru = 'Поле ""Организация"" не заполнена'"),
                              Объект.Ссылка,
                              "Объект.Организация");
                  ЗаполненоКорректно = Ложь;
      КонецЕсли;

3.2) В функцию – ПодготовитьПараметрыЗаполненияДокументаДляЗамещения, добавить

    ПараметрыЗадания.Вставить("
Территория", Объект. Территория);
    ПараметрыЗадания.Вставить("Организация",                               Объект.Организация);

3.3) В функцию – ПараметрыЗамещения, добавить

    ПараметрыЗамещения.Вставить("Территория", Объект. Территория);
    ПараметрыЗамещения.Вставить("Организация", Объект.Организация);

3.4) В процедуру – УстановитьВидимость, добавить

      Элементы. Территория.Видимость = ЭтаФорма. ЗаполнятьТерриторию ИЛИ ЗначениеЗаполнено(Объект. Территория);
      Элементы. Организация.Видимость = ЭтаФорма. ЗаполнятьОрганизацию ИЛИ ЗначениеЗаполнено(Объект.Организация);

3.5) В функцию – ПолучитьПараметрыВидаПлана в реквизит - Реквизиты, добавить

      | ЗаполнятьТерриторию,
      | ЗаполнятьОрганизацию,    

3.6) В функцию – ОбновитьСвязанныеРеквизитыОбъекта, добавить

    Если НЕ Форма. ЗаполнятьТерриторию Тогда
                  Объект. Территория = Неопределено;
      КонецЕсли;
 
    Если НЕ Форма. ЗаполнятьОрганизацию Тогда
                  Объект.Организация = Неопределено;
      КонецЕсли;

3.7) Добавить новые функции:

&НаКлиенте
Процедура ТерриторияПриИзменении(Элемент)    
      ПодразделениеПриИзмененииНаСервере();
      ОбновитьСвязанныеРеквизитыОбъекта(Объект, ЭтаФорма);  
КонецПроцедуры
 
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)  
      ПодразделениеПриИзмененииНаСервере();      ОбновитьСвязанныеРеквизитыОбъекта(Объект, ЭтаФорма);  
КонецПроцедуры

4)      В модуль менеджера документа «План производства»:

4.1) В функцию – ЗапросЗамещенныеИЗамещающиеПланы, добавить в первый подзапрос в раздел ГДЕ:

      |           И ПланПроизводстваЗамещающий. Территория = &Территория
      |           И ПланПроизводстваЗамещающий.Организация = &Организация

4.2) В функцию – ЗапросЗамещенныеИЗамещающиеПланы, добавить во второй подзапрос в раздел ГДЕ:

      |           И ПланПроизводстваЗамещенный. Территория = &Территория
      |           И ПланПроизводстваЗамещенный.Организация = &Организация

4.2) В функцию – ЗапросЗамещенныеИЗамещающиеПланы, добавить

      Запрос.УстановитьПараметр("Территория", Параметры. Территория);
      Запрос.УстановитьПараметр("Организация", Параметры.Организация);

5)      В модуль объекта документа «План производства» добавить:

5.1) В процедуру – ОбновитьЗамещенныеПланы, добавить во второй подзапрос в соединение:

|           И ПланПроизводства. Территория = ПланПроизводстваЗамещенный. Территория
|           И ПланПроизводства.Организация = ПланПроизводстваЗамещенный.Организация

5.2) В процедуру – ОбновитьЗамещениеПлана, добавить во второй подзапрос в секцию ГДЕ:

|     И ПланПроизводстваЗамещающий. Территория = &Территория
|   И ПланПроизводстваЗамещающий.Организация = &Организация

5.3) В процедуру – ОбновитьЗамещениеПлана, добавить:

      Запрос.УстановитьПараметр("Территория", Территория);
      Запрос.УстановитьПараметр("Организация", Организация);

 

Итогом выполнения будет в документе «План производства» (см. рис. 6) функционал по замещению планов производства с учетом новых аналитик.

image_2023-10-12_10_12_36.png

Рисунок 6 – Новая функциональность документа «План производства»

 

Мы рассмотрели один из вариантов решения задачи по расширению функционала по замещению планов производства, которое позволит:

- добавлять новые аналитики, как типовые, так и нетиповые.

- по новым аналитикам замещать планы производства.

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


Заказать консультацию специалиста 1С
Оставьте заявку и наши эксперты проконсультируют вас по данной статье.
Отправить заявку

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

Рассказать друзьям
1C:ERP
Вам может быть интересно: