Единицы измерения для завода

Функция определения стоимости

Допустим, есть потребность в каком-то элементе в количестве КВО и в единице измерения КЕ, а в таблице кодов и наименований цена этого элемента — ЦЕНА указана в единице измерения ЕЦ.

Вопрос: как определить стоимость этой потребности?

ЕИ могут быть не любые, а только из набора, указанного выше.

‘50’[пара], на какой бы стороне она не оказалась, переводится в ‘40’[шт].

После этого, данные с обеих сторон приводятся к основным единицам измерения:
‘06’[кг], ‘13’[м], ‘26’[м^2], ‘39’[м^3], ’40’[шт], ‘60’[час], ‘70’[квтч]
с пересчётом КВО и ЦЕНА и приведением КЕ и ЕЦ.

Если в результате такого приведения получится ЕЦ=КЕ, то стоимость определится как ЦЕНА*КВО, иначе придётся использовать таблицу пересчёта.

Считается, что перед применением таблицы пересчёта величины уже приведены к основным единицам измерения.

Таблица пересчёта не относится ни к потребности, ни к ценнику, она сама по себе. Содержит она элемент, какой-то свой код единицы измерения — КЕИ и массу единицы измерения — МАСИ>0.
При этом тип КЕИ не должен быть массовым, а МАСИ должна быть обязательно в килограммах.
Если КЕИ для данного элемента не принадлежит основным единицам измерения, то он приводится к таковым с пересчетом МАСИ.

Условием применения таблицы пересчёта является то, что единица измерения с одной из сторон равна ‘06’[кг], а с другой — КЕИ и это правильно: метры с килограммами сопоставлять можно, а со штуками или квадратными метрами — нет, по смыслу величины МАСИ, да этого и не требуется.

Пусть
 Stoim – определяемая стоимость
 Suc – признак успешности её определения
 Для начала
 Stoim :=0; 
 Suc :=True;
 ЕСЛИ ЕЦ=КЕИ ТО
       если КЕ=’06’ то 
          Stoim := ЦЕНА*КВО/МАСИ
        иначе
          Suc := False;
 ИНАЧЕ ЕСЛИ КЕ=КЕИ ТО
       если ЕЦ=’06’ то
            Stoim := ЦЕНА*КВО*МАСИ
       иначе
           Suc := False;
 ИНАЧЕ
       Suc := False; 

При возникновении любой накладки (не найден элемент или единица измерения непредусмотренная) стоимость не определяется.

Кроме стоимости может быть получена масса элемента в килограммах, но это может быть сделано не всегда, а только в случаях, когда ЕИ элемента изначально массовая, либо используется таблица пересчёта.