Скрипт за Производство

Скриптът за Производство се стартира от документ, в който има позиции, за които е избрана рецепта и имат отметка „Автоматично производство“.
Той позволява разнообразни настройки на база наличните параметри и извършва различни проверки.

Параметри

1. ID - Номер на документа, от който се стартира скрипта.

2. NEED_STATUS - Необходим статус за стартиране - Прави се проверка на статуса на документа, от който се стартира скрипта. Ако няма поставена стойност, то проверка не се прави. Ако има поставена стойност, то стойността на статуса на документа трябва да е >= от зададената в този параметър стойност.

3. __DATASOURCE_ID - Системен параметър за превод на грешките - параметър, в който се предава идентификатора на дейтасорса. Целта е да може да се използва при превод на грешки.

4. DEBUG_FLAG - Системен параметър за дебъг (показва различни съобщения по време на изпълнението).

5. CHECK_ITEMS_WO_RECIPE - Проверка на позиции без въведена рецепта - Проверява дали има позиция без рецепта в документа. Идеята е, че ако има нареждане за производство или разпад, в документа не трябва да има позиции без избрана рецепта.

6. PROD_DOC_TYPE_REF - Тип на документа за производство - Това е тип на новия документ, който ще създаде този скрипт.

7. CHECK_DOC_TYPE_ASSEMBLY - Проверка на документа за производство - Извършва проверки на вида ТД за това дали е настроен като производство, дали влияе на наличността на Посредника и Получателя.
Проверката изисква:
1. Документът да влияе на наличността само на Източника
2. Документът да е тип „Производство“

8. ASSEMBLY_ONLY_WITH_CHECK_AUTOASSEMBLY - Произвеждат се само на позициите, които имат отметка „Автоматично производство“ в детайла на изходния документ. Това се използва при документи като продажби.
В документи за нареждане на производство или разпад е необходимо в този параметър да се постави стойност НЕ.

9. INVALIDATE_ALL_LINKED_DOCS - Анулиране на свързаните към текущия документ документи за Производство.
Анулира всички документи от посочения тип „PROD_DOC_TYPE_REF“, които не са анулирани и са свързани с текущия документ през полето „REF_DOC_NUMBER“.

10. CREATE_DOCUMENT_COUNT - Брой документи за производство
Стойности:
* 0 - прави отделен документ за всяка рецепта (за всеки ред от документа).
* 1 - прави общ документ за всички рецепти (групирано по рецепта).
* 2 - прави общ документ, без да групира по рецепта, цвят и т.н.

11. ENTITY_REF - Контрагент за новия документ - Контрагент, който ще бъде поставен в полето за Източник на новия документ. Ако контрагентът и обектът са празни, то се взима подразбиращата се стойност от документа.

12. LOCATION_REF - Обект (аналогично на Контрагент се поставя в полето за Обект Източник)

13. EMPL_REL_REF - Служител (в полето за служител Източник)

14. LOCATION_POSITION_TYPE - Тип на позицията в обекта:

- null - не се гледа никое поле от документа източник
- 0 - Взема се предвид настройката дали обектът използва местоположения
Ако използва, то се търси съвпадение на обекта в скрипта с обекта от документа с обект Източник, Посредник или Получател, за да се знае кое поле от документа да се вземе предвид.
(Ако е 0 приема стойности null или 1, 2, 3) 1 - Гледа се полето SOURCE_LOCATION_POSITION_REF 2 - Гледа се полето VIA_LOCATION_POSITION_REF 3 - Гледа се полето TARGET_LOCATION_POSITION_REF

15. DOC_DATE - Дата на документа

16. DOC_TIME_TYPE - Час на новия документ
Стойности:
null - null
-1 - взима се часът на документа, от който се стартира и се маха 1 секунда (ако е поне 00:00:01)
0 - взима се часът на документа, от който се стартира
1 - взима се текущият час

17. DOC_COMMENT - Коментар

18. IS_DISSASSEMBLY - Скриптът се използва за разпад - ДА/НЕ
ДА - скриптът се използва за обратно създаване - РАЗПАД - Количеството се умножава по (-1)!
НЕ - скриптът се използва като производствен - Числото, което е вписано в количество се интерпретира със същия знак

19. PRODUCE_MISSING_ITEMS - Произвежда само недостатъчната наличност - Проверява се наличността по рецептите за производство. Позициите за производство ще се намалят с наличните (има алгоритъм за изчистване).

20. CHECK_AVAILABILITY_NEW_DOC - Прави проверка за наличност в новия документ - Проверява всички позиции, които трябва да намалят наличността в източника на новия документ.

21. PRICE_LIST_REF - Ценова листа номер - Параметърът определя каква единична цена да се изписва в документа за вписване/изписване.
При непопълнен параметър документът за вписване/изписване се извършва по СДЦ, а в единична цена се записва цена 0.
Ако се въведе число, отговарящо на номер ценова листа, то единичните цени в документа идват от въпросната ценова листа.

22. COPY_SN - Копиране на серийните номера на продукцията
При производство, когато и един от артикулите (независимо дали суровина или готов продукт) е със сериен/партиден номер, документът който се генерира от скрипта, трябва да се отвори със статус „Неприключен“ пред потребителя, за да може да се въведе серийният/партидният номер.
Параметър, който указва, че фирмата работи със серийни/партидни номера, с възможности Да и Не.

23. AUTOFILL_SN_LOT_NUM_BY_EXPIRY - Автоматично попълване на серийни и партидни номера

24. DO_FINALIZE_DOCUMENTS - Приключи генерирания/те документ/и

25. DO_OPEN_DOCUMENTS - Отвори генерирания/те документ/и

26. VIEW_REF - Изглед, който да се стартира след скрипта

27. AUTO_EXECUTE_VIEW - Автоматично да се изпълни стартираният изглед

28. S_TO_MASTER - Само в папката, където Документът, от който се копира е главен - Възможни стойности: 0 - Новият се записва във всички папки на стария.
1 - Новият документ се записва САМО в папката, където старият е главен.
2 - Новият документ се записва само в първата папка на стария.
3 - Новият документ НЕ се записва в никакви папки от стария документ.

29. ADD_MLS_TO_TIME - Генерира документите с последните часове, с разлика 1 милисекунда.

Основни положения за реализиране на процес Производство