Пересчёт количества при изменении единицы измерения #705680


#0 by WildSery
Меня интересует вот это место модуля ОбщийМодуль.ОбработкаТабличныхЧастей: Нафига нужна заполненность ЕдиницаИзмеренияМест для пересчёта? При том, что она очищается при записи документа, если мест = 0. Получается, было у меня 1 шт. (0.2 коробки, ноль мест). Меняю штуки на коробки - становится 1 коробка.
#1 by Shurjk
По моему ты далеко не весь текст обработчика привел.
#2 by WildSery
Код типовой, посмотрите у себя в УПП, пожалуйста. Я указал место, которое не понимаю, и подозреваю, что тут ошибка.
#3 by Shurjk
УПП у меня нет под рукой, а в УТ он там в случае если указана единица мест то рассчитывает количество мест, а потом перерасчитывает цену, а не количество.
#4 by WildSery
Если я правильно прочитал ваш ответ, то при изменении единицы измерения в УТ количество вообще не пересчитывается?
#5 by WildSery
Вот немного пошире процедура (не вижу смысла всю публиковать) СтароеЗначениеКоэффициента = СтрокаТабличнойЧасти.Коэффициент; После пересчёта количества (если оно случилось), пересчитываем число мест (нахуа?), а затем уже пересчёт цены, причём без проверки заполненности единицы мест.
#6 by Shurjk
Нет но цена ставиться уже за другую еденицу измерения.
#7 by hhhh
количество мест - это для грузчиков и кладовщика. Им цена ни к чему. И то что вы написали в вопросе: вы перепутали ЕдиницаИзмерения и ЕдиницаИзмеренияМест
#8 by Azverin
если не въезжаешь, то не заполняй поле ЕдиницаИзмеренияМест
#9 by WildSery
Нет, я ничего не путаю. Ещё раз попробую задать вопрос другими словами. Я НЕ ЗАПОЛНЯЮ ЕдиницуИзмеренияМест. ЕдиницаИзмерения стоит штуки. Количество 1 штука. Я меняю ЕдиницуИзмерения на коробки. Получается 1 коробка, пересчёта количества нет.
#10 by Azverin
что по-твоему должна сделать программа?
#11 by WildSery
Пересчитать количество в коробки. Ведь именно это будет сделано, если штук не 1, а 10.
#12 by hhhh
количество мест целое. Считается, что неполная коробка. Но она всё-таки есть.
#13 by Базис
Это работает у всех уже много лет, если есть ошибка, значит она в данных, а не в конфе. См. коэффициенты единиц измерения, кури ронятие базовой ед. изм.
#14 by hhhh
"Получается, было у меня 1 шт. (0.2 коробки, ноль мест)." - неправильно. Это одно место.
#15 by 2083
если у тебя в 1 коробке умещается например всего 10 штук чего-нибудь, а у тебя всего 9 штук. Это сколько коробок? Кури коэффициенты ед. изм.
#16 by WildSery
1С считает по-другому. Неполная коробка вполне может быть 0 мест. Курите сами вашу траву. Базовая вообще не при чём, это вообще не единица измерения. То же самое могу посоветовать вам. Давать советы, не разобравшись в теме, или хотя бы просто не попробовав, нехорошо. 9 штук - это ноль коробок, поскольку Цел(КоличествоМест) Меня мало беспокоит то, что когда при записи документа очистится ЕдиницаИзмеренияМест, то в Количество можно уже что угодно писать, хоть 1000, мест по-прежнему будет 0, пока пользователь сам вручную не укажет ЕдиницуИзмеренияМест. Но вот то, что после этого пересчёт количества при изменении ЕдиницыИзмерения отключается, пока я не укажу нахрен не нужную ЕдиницуИзмеренияМест, мне не нравится.
#17 by hhhh
просто вы тупо не указали нам конфигурацию, поэтому ваши дальнейшие высказывания воспринимаются как бред.
#18 by hhhh
вот смотрите. Допустим, я пользователь. МНе нужно занести строку: 100 коробок. Я по ошибке внес 100 щтук. Заячем мне нужно, чтобы количество скакало при этом? Ведь бред вы нам предлагаете.
#19 by hhhh
Пользователь внес количество. Оно потом не должно меняться.
#20 by WildSery
Просто вы пропустили часть обсуждения, где я упомянул УПП, потому ваш пост воспринимается как бред. Я вам ничего не предлагаю. Если бы количество не пересчитывалось НИКОГДА, я бы успокоился, списав всё на "методологию 1С". Но ведь оно пересчитывается, но только когда есть единица мест. Отсюда и ваша фраза "Оно потом не должно меняться" теряет смысл.
#21 by WildSery
Вообще, весь смысл этой процедуры - после многочисленных проверок ПЕРЕСЧИТАТЬ КОЛИЧЕСТВО и пересчитать цену.
#22 by WildSery
И кстати, предлагаю вас самостоятельно провести эксперимент: В Счете на оплату покупателя через подбор выбрать любую номенклатуру (в карточке номенклатуры должна быть заполнена единица мест), а затем закрыть подбор, и в табличной части выбрать другую единицу измерения. Вы увидите, что количество ПЕРЕСЧИТАЛОСЬ. Поскольку подбор заполняет единицу мест автоматически. Но при сохранении документа, если мест 0, то единица мест очистится, и пересчёт с этого момента ДЛЯ ЭТОЙ ПОЗИЦИИ отключается (для остальных, где мест > 0, он по-прежнему работает.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С