Нетто Vs Брутто
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Нетто Vs Брутто
Добрый день.
Подскажите не могу решить проблему.
на данный момент я для заказчика делаю вес абсолютно все в брутто (ниже вы видите код в шаблоне спецификации)
этот шаблон прописывали для другого завода с такими данными: что при подсчете массы непрямоугольных листовых деталей вписывающихся в прямоугольник до 0,2 м2, массу вычисляют пл площади этого прямоугольника, а для всех остальных - по фактической площади.
в текле нет параметра площадь одной плоскости детали, есть только общая площадь (или площадь покраски)
и ребята прописали код который вы видите ниже с использованием площади покраски.
Сейчас заказчик мне говорит что теперь брутто не надо, надо нетто, и указывает на временную инструкцию по Мельниковой в который написано что все детали толщиной более 12мм считаются по фактической площади
пункт вроде 12.18 страница 28.
окунувшись в шаблон я увидел что привязки делаи по толщине в нем нет, соответсвенно 2 детали к примеру 0,18 м2 и 0,22 м2 одна считается по брутто другая по нетто не смотря естественно на то что они из 16 мм толщины.
подскажите как решить данную проблему
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
endif
Подскажите не могу решить проблему.
на данный момент я для заказчика делаю вес абсолютно все в брутто (ниже вы видите код в шаблоне спецификации)
этот шаблон прописывали для другого завода с такими данными: что при подсчете массы непрямоугольных листовых деталей вписывающихся в прямоугольник до 0,2 м2, массу вычисляют пл площади этого прямоугольника, а для всех остальных - по фактической площади.
в текле нет параметра площадь одной плоскости детали, есть только общая площадь (или площадь покраски)
и ребята прописали код который вы видите ниже с использованием площади покраски.
Сейчас заказчик мне говорит что теперь брутто не надо, надо нетто, и указывает на временную инструкцию по Мельниковой в который написано что все детали толщиной более 12мм считаются по фактической площади
пункт вроде 12.18 страница 28.
окунувшись в шаблон я увидел что привязки делаи по толщине в нем нет, соответсвенно 2 детали к примеру 0,18 м2 и 0,22 м2 одна считается по брутто другая по нетто не смотря естественно на то что они из 16 мм толщины.
подскажите как решить данную проблему
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
endif
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Также добавлю, в прямоугольной детали есть вырезы под болты (опорная пластина колонны), почему текла данные детали считает по нетто, ведь по сути масса должна проходить как брутто
Re: Нетто Vs Брутто
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
странное условие. в любом случае вы получите WEIGHT_GROSS
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
странное условие. в любом случае вы получите WEIGHT_GROSS
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Вы правы, в последнем случает должен стоять просто WEIGHT.
я на скорую руку изменил код предназначеный для нетто
я на скорую руку изменил код предназначеный для нетто
Re: Нетто Vs Брутто
Надо добавить условие на проверку тощины.подскажите как решить данную проблему
if GetValue("PLATE_THICKNESS") > 12.0
...
else
...
endif
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
правильно ли я изменил данный код?
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
я просто думаю, надо бы как нибудь объединить 2 условия чтобы и площадь была меньше 0,1 и толщина присутствовала во втором условии.
при таком коде они будут работать отдельно, думаю будет конфликт.
можно ли прописывать код в таком виде
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 and if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
при таком коде они будут работать отдельно, думаю будет конфликт.
можно ли прописывать код в таком виде
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 and if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
Re: Нетто Vs Брутто
надо тестить .. Вместо GetValue("AREA") лучше использовать GetValue("AREA_PLAN"), тогда не прийдется делить на 2. https://teklastructures.support.tekla.c ... /area_plan . PLATE_THICKNESS надо протестить на пластине созданной контрплейтом и балкой. Данный параметр может вести себя по разному. И в конце еще один endif нужен)Villcommen писал(а): ↑14 июл 2019, 10:56правильно ли я изменил данный код?
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Спасибо, буду проверять, обязательно отпишусь.
вообще я как понимаю этот вопрос уже давно должен был быть решен, просто у меня нет информации по этому коду, ввиду того что на заводе уже был разработан данный шаблон, соответственно все много лет по нему работали и никогда проблем не возникало, до этого заказчика -))
вообще я как понимаю этот вопрос уже давно должен был быть решен, просто у меня нет информации по этому коду, ввиду того что на заводе уже был разработан данный шаблон, соответственно все много лет по нему работали и никогда проблем не возникало, до этого заказчика -))
Re: Нетто Vs Брутто
Вот список всех переменых которые можно получить в шаблоне
- Вложения
-
- contentattributes_global.txt
- (815.22 КБ) 593 скачивания
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
Re: Нетто Vs Брутто
Как-то так?Villcommen писал(а): ↑16 июл 2019, 10:16if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
извините, не понял вопрос
- vladimir_a
- Сообщения: 699
- Регистрация: 07 дек 2011, 21:22
Re: Нетто Vs Брутто
if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<=12)then
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
На данный момент код выглядит так:
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then round(GetValue("WEIGHT_GROSS"),0.1)
else if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 & GetValue("PLATE_THICKNESS")=>12) then round(GetValue("WEIGHT"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif
endif
результат пока тот же т.е. не подходящий
на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
PROFILE.WIDTH пробовал результат тот же
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then round(GetValue("WEIGHT_GROSS"),0.1)
else if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 & GetValue("PLATE_THICKNESS")=>12) then round(GetValue("WEIGHT"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif
endif
результат пока тот же т.е. не подходящий
на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
PROFILE.WIDTH пробовал результат тот же
Re: Нетто Vs Брутто
Всё правильно. По вашей формуле так и должно быть.Villcommen писал(а): ↑16 июл 2019, 14:54на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
попробуйте так:
Код: Выделить всё
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1" else
if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200) && (GetValue("PLATE_THICKNESS") <=12) then round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Вроде все в вашей формуле правильно, только у меня почему то все равно выдает брутто на пластину толщиной 16 мм и площадью 1900 см2.
может у меня руки не оттуда растут -)
может у меня руки не оттуда растут -)
Re: Нетто Vs Брутто
проверьте параметр GetValue("PLATE_THICKNESS").. скорее всего там нет толщины пластины.Villcommen писал(а): ↑16 июл 2019, 16:19Вроде все в вашей формуле правильно, только у меня почему то все равно выдает брутто на пластину толщиной 16 мм и площадью 1900 см2.
может у меня руки не оттуда растут -)
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
подскажите где его можно проверить, если в расширенных параметрах, то такого я не нашел, если в свойствах детали то и там его нет.
при моделировании пластины она обозначается как PL10 и т.д..
может в это дело?
при моделировании пластины она обозначается как PL10 и т.д..
может в это дело?
- vladimir_a
- Сообщения: 699
- Регистрация: 07 дек 2011, 21:22
Re: Нетто Vs Брутто
в моем сообщении все ведь прописано
Re: Нетто Vs Брутто
Лучше сделать одну переменную для получения веса пластины, вторую для веса всех остальных деталей(которые не пластина) и третью типа строка выводить в таблицу в которой проверяем тип профиля и в зависимости от профиля выводим нужный вес
w_pl =
w_other =
w_str =
w_pl =
Код: Выделить всё
if GetValue("WEIGHT_GROSS") < 0.1 then
0.1
else
if (GetValue("AREA_PLAN") <= 0.2) && (GetValue("WIDTH") <= 12.0) then
GetValue("WEIGHT_GROSS")
else
GetValue("WEIGHT")
endif
endif
Код: Выделить всё
GetValue("WEIGHT")
Код: Выделить всё
format(
if GetValue("PROFILE_TYPE") == "B" then
GetFieldFormula("w_pl")
else
GetFieldFormula("w_other")
endif
, "Weight", "kg", 1)
- Вложения
-
- test.zip
- (990 байт) 236 скачиваний
Re: Нетто Vs Брутто
PROFILE.PLATE_THICKNESS не работает по чему-то.. можно тогда использовать WIDTH
-
- Сообщения: 28
- Регистрация: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
в моем сообщении все ведь прописаноvladimir_a писал(а): ↑16 июл 2019, 13:26if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<=12)then
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
[/quote]
Да все заработало, единственное надо указать <12 мм, т.к. от 12 должно уже в нетто уходить. Спасибо вам большое
вот готовый код:
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<12) then round(GetValue("WEIGHT_GROSS"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif
phpbb3 styles
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость