Расчеты газовых смесей и многокмпонетных покрытий

Автор soffy, 14.05.19, 11:19:57

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

soffy

Справочник материалов и сортаментов 2014 + Вертикаль 2014 + Модуль расчета сварки 2014 (к ней):

Я почти уверена, что такой вопрос уже возникал (ну просто быть того не может, чтобы не возникал), но не могу найти ответ на форуме... если дадите ссылку - буду премного благодарна))).

Если у нас есть краска + растворитель (или сварка только в аргоне) = все в шоколаде,
а если краска + отвердитель + растворитель (или 2-х компонентная смесь, типа двуокись углерода + аргон) = все, полная *опа..., ибо модули расчета (что покраски, что сварки) воспринимают только одну строчку из СМиС))).

Все компоненты надо учитывать отдельно (ибо покупаются и приходуются они отдельно).

Пыталась внести краску + отвердитель как композитный материал, но толку от этого мало, т.к. модуль расчета все равно тянет в тех.процесс в Вертикали только один этот композит (или газовую смесь - там то же самое).
И если мы проводим синхронизацию с 1С:УПП, то все равно это синхронить нельзя, придется раскладывать этот композит программно, на уровне уже 1С по компонентам, что не есть гуд.

Единственная альтернатива (которую я пока вижу) - отказ от автоматизированного расчета полностью и ручной ввод данных расходов всех компонентов Вспомогательных материалов из CМиС.
Может есть какой обходной путь? А то руками считать неохота... Не для этого нам автоматизировали работу технологов  :-))).

tur

"Напихайте" в МиС дополнительных нужных вам атрибутов на композит и "тяните" их в Вертикаль

soffy

Цитата: tur от 15.05.19, 08:17:26
"Напихайте" в МиС дополнительных нужных вам атрибутов на композит и "тяните" их в Вертикаль


покажите КАК?
Я в композит могу напихать все что угодно, но через модуль расчета лакокрасочных покрытий и Сварочных расчетов тянется ТОЛЬКО наименование композита и ЕГО (композита) расход - усе! )))). Вы мне предлагаете модуль расчета переписать?  :-)))
Наглядно покажите КАК тянуть... на примере лакокрасочных покрытий хотя бы...

tur

17.05.19, 08:27:02 #3 Последнее редактирование: 17.05.19, 08:44:12 от tur
Цитата: soffy от 17.05.19, 07:09:01
покажите КАК?
Я в композит могу напихать все что угодно, но через модуль расчета лакокрасочных покрытий и Сварочных расчетов тянется ТОЛЬКО наименование композита и ЕГО (композита) расход - усе! )))). Вы мне предлагаете модуль расчета переписать?  :-)))
Наглядно покажите КАК тянуть... на примере лакокрасочных покрытий хотя бы...



Начнем сначала!

Как вы затягиваете данные из МиС в Вертикаль:
1. Сразу через атрибуты Вертикали (Добавить материал и т.д.)?
2. С использованием модуля расчета сварки?
3. Система нормирования материалов?

Если второе, то не помогу, не пользуемся совсем.

С третьим нужно смотреть дальше.

На скрине, добавлены Основной материал и добавлен Вспомогательный материал, обратите внимание в ТП заходят атрибуты материала.

soffy

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

2. Я ж сразу в вопросе написала, что хочется автоматизированный расчет, т.е. чтобы считала сама Вертикаль (а не я на бумажке)))) через свои модули (сварку и ЛКП).

3. Потом все это дело выгружается в Лоцман (в т.ч. материалы и их расход, естественно) и дальше отрабатывает синхронизация тех.процесса с 1С УПП.

Когда покрытие однокомпонентное или однокомпонентное + растворитель = нет никаких проблем, стоит только добавить активатор/отвердитель - считать такое модули не хотят.... только вносить как вы показали руками и вносить расход тоже руками....


soffy

вот так руками добавлять материалы мы тоже умеем... ))))

tur

Как вариант, можно написать скрипт в конфигураторе Вертикали который по данным из атрибутов МиС будет считать и сбрасывать результат в какой-либо атрибут Вертикали.
У нас например есть подобные скрипты, которыми рассчитываются:
- Заливка баббита, нормы и объемы;
- Трудоемкость отдельных операций по условиям.
Но они достаточно простые.

P.S. Насколько я понял у Вас данные из Вертикали уходят в Лоцман, а у нас данные в Вертикаль приходят из Лоцмана и потом возвращаются назад в Лоцман, поэтому есть возможность организовать нужные Вам расчеты в Лоцмане.

soffy

Тут для нас нет разницы, написать можно что под Лоцман, что под Вертикаль... Можно так же как у вас организовать, у нас данные из Лоцмана и приходят и потом в него же и уходят)))).

Только вот я мало представляю как это реально организовать в конфигураторах ...
Если можете сбросить маленький пример, или дать ссылку на мануал, где это указано - было бы очень круто!

tur

Цитата: soffy от 21.05.19, 04:20:12
Тут для нас нет разницы, написать можно что под Лоцман, что под Вертикаль... Можно так же как у вас организовать, у нас данные из Лоцмана и приходят и потом в него же и уходят)))).

Только вот я мало представляю как это реально организовать в конфигураторах ...
Если можете сбросить маленький пример, или дать ссылку на мануал, где это указано - было бы очень круто!


В Лоцмане считаем через систему нормирования, там очень многое можно считать. Как пример расчета в Лоцмане через систему нормирования материалов "Расчет резки уголка", там много данных заходит из МиС (скриншот СНМ).

А для Вертикали выложите сюда математику проблемного расчета, посмотрим.

Математика для исключения из общей нормы контрольных операций (просто в качестве примера скрипта, вычислимый атрибут)

FUNCTION tshtk2_get (obj)

set tshtk = obj.vrAttrByName("tshtk")
set op = obj.vrAttrByName("op")
set timesht = obj.vrAttrByName("timesht")
set timepz = obj.vrAttrByName("timepz")
set en = obj.vrAttrByName("en")
set ktsht_cnt = obj.vrAttrByName("ktsht_cnt")

if IsObject(Eventer) then
   'Подписываемся на изменения атрибутов op, timesht, timepz. При изменении одного
   'из этих атрибутов значение tshtk будет вычислено заново
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("op")
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("timesht")
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("timepz")
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("en")
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("ktsht_cnt")
   Eventer.AdviseOnChangeAttribute tshtk, obj.vrAttrByName("ksht_if")
end if

tshtk2_get = 0

      Select Case obj.vrAttrByName("en").vrValue
            Case ""," ","0"           
               en.vrValue = 1         
      End Select

If op.vrValue Then
tshtk2_get =  (timesht.vrValue * ktsht_cnt.vrValue / en.vrValue) + (timepz.vrValue / op.vrValue)
End If

END FUNCTION

Фактически, если вы добавите атрибуты в МиС, потом передадите их в Вертикаль, дальше все не очень сложно.

soffy

Спасибо большое... мы сейчас попробуем и я обязательно напишу что получилось  :)