Имя: Пароль:
1C
 
УТ 11.2. Логика вычисления БРУТТО в ТОРГ12 по реализации
0 es3000
 
18.10.16
12:33
В УТ 11.1 в колонке "БРУТТО" ничего не печаталось.
В УТ 11.2 теперь в эту колонку пишется вес, пересчитанный на килограммы.
Посмотрел запрос в базе.

Раньше было так:
    |    СУММА(ВЫБОР
    |        КОГДА &ЗаполненаЕдиницаИзмеренияВеса
    |            ТОГДА ВЫБОР
    |                    КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL
    |                        ТОГДА ТаблицаТоваров.Количество * ТаблицаТоваров.Номенклатура.Вес
    |                    ИНАЧЕ ТаблицаТоваров.КоличествоУпаковок * ТаблицаТоваров.Упаковка.Вес



    |                КОНЕЦ

    |        ИНАЧЕ 0
    |    КОНЕЦ) КАК МассаБрутто,


Стало так:
    |    СУММА(ВЫБОР
    |        КОГДА &ЗаполненаЕдиницаИзмеренияВеса
    |            ТОГДА ВЫБОР
    |                    КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL
    |                        ТОГДА ТаблицаТоваров.Количество
    |                    ИНАЧЕ ВЫБОР
    |                            КОГДА ТаблицаТоваров.Упаковка.ТипИзмеряемойВеличины = Значение(Перечисление.ТипыИзмеряемыхВеличин.Вес)
    |                                ТОГДА 0
    |                            ИНАЧЕ ТаблицаТоваров.КоличествоУпаковок
    |                        КОНЕЦ
    |                КОНЕЦ * &ТекстЗапросаВесУпаковки
    |        ИНАЧЕ 0
    |    КОНЕЦ) КАК МассаБрутто,



И раньше и сейчас упаковка в документах не использовалась.
С какого перепуга он начал печатать БРУТТО?
Какая ветка в новом коде срабатывает?
1 es3000
 
18.10.16
12:34
Как можно не меняя кода сделать так, чтобы БРУТТО опять стало пустым?
2 DrShad
 
18.10.16
12:34
КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL
    |                        ТОГДА ТаблицаТоваров.Количество


ну так если упаковок нет, тогда эта
3 DrShad
 
18.10.16
12:35
(1) &ЗаполненаЕдиницаИзмеренияВеса выставить в ложь
4 azernot
 
18.10.16
12:35
Кто-то заполнил константу "Единица измерения веса" и коэффициенты пересчёта.
5 es3000
 
18.10.16
12:36
(4) эта константа была и раньше выставлена в "кг",
но БРУТТО не печаталось
6 DrShad
 
18.10.16
12:38
(5) а вес в номенклатуре был заполнен?
7 azernot
 
18.10.16
12:38
(5) Значит раньше был не заполнен вес в номенклатуре
8 es3000
 
18.10.16
12:46
(7) похоже на правду:
раньше вес не был указан в номенлкатуре,
а после перехода на 11.2 в номенклатуре появилась галочка "вес" которая включена и недоступна для редактирования
9 es3000
 
18.10.16
12:49
(2) а как может сработать строка
"КОГДА ТаблицаТоваров.Упаковка.Вес ЕСТЬ NULL"?

Упаковка же не указана.
Поэтому движок до ".Вес" добраться не сможет, чтобы проверить его на NULL.
10 DrShad
 
18.10.16
12:50
(9) так поэтому и нул, что упаковка пустая ссылка
11 es3000
 
18.10.16
12:54
(10) я не знал...
всегда каждую ссылку проверяю поледовательно...

получается если есть например код:
Документ.Контрагент.Ссылка1.Ссылка2

и Контрагент - пустая ссылка,
то и весь этот код без ошибки вернет пустую ссылку?
12 DrShad
 
18.10.16
12:55
нет
13 DrShad
 
18.10.16
12:55
Документ.Контрагент.Ссылка1 тут будет нул, а дальше критическая ошибка
14 DrShad
 
18.10.16
12:56
вообще у пустой или битой ссылки все реквизиты равны нулл
15 Torquader
 
18.10.16
12:56
(11) В запросе, несколько точек разворачиваются во вложенные запросы с отдельными таблицами - соответственно, если в какой-то таблице кто-то не находится, то будет Null и в результате тоже будет Null.
16 es3000
 
18.10.16
13:01
(15) получается это так только в запросах срабатывает?
17 es3000
 
18.10.16
13:01
ну и что теперь делать, чтобы перестали печататься БРУТТО?
так чтобы без переделки кода?
18 DrShad
 
18.10.16
13:03
константу убирать
19 DrShad
 
18.10.16
13:03
теперь то там нет умножения на вес
20 es3000
 
18.10.16
13:07
(18) я посмотрел по конфигурации - эта константа много где используется,
на что кроме печати БРУТТО она повлияет?
21 DrShad
 
18.10.16
13:09
(20) ты предлагаешь нам это выяснять?
22 DrShad
 
18.10.16
13:10
сделай ВПФ и в ней не заполняй свой вес

и программу менять не надо
23 Мойдодыр
 
18.10.16
13:16
Сделать свою ТОРГ-12 - это на неделю работы
24 azernot
 
18.10.16
13:16
(23) Как это на неделю?! Лет пять, не меньше.
25 es3000
 
18.10.16
13:19
(21) ну может кто сходу знает,
может кто сталкивался уже с этим вопросом
26 es3000
 
18.10.16
13:21
(22)-(24) ВПФ - это уже сделано,
хотелось разобраться в механизме как оно работает,
и решить вопрос корректно в соответсвии с этим механизмом
27 DrShad
 
18.10.16
13:22
(26) ну так тебе все уже объяснили, даже почему реквизиты у пустых ссылок в нулл

дальше дело техники - разбирайся
28 azernot
 
18.10.16
13:23
(25) И ты поверишь?
Нет, ну правда, написали тебе "да ни на что больше!" и что? Ты начнёшь чистить константу?
Или написали тебе, на подсистему "Доставка", в которой сравнивается грузоподъёмность транспорта с весом в накладных.. и что? Ты такой "а я не использую доставку, поэтому мне не страшно"?

В любом случае, разбираться придётся самому. Но так ли оно надо? Если сама проблема решается через макет или ВПФ за время существенно меньшее, чем эта проблема уже обсуждается на форуме?
2 + 2 = 3.9999999999999999999999999999999...