|
|
Проверить единицу измерения в ТЧ документа на клиенте (ERP 2.5)
Timon1405, dmt, _Batoo, Табуретко, Kongo2019, Доминошник, alexxx961503, Злопчинский, Krendel, Волшебник, Климов Сергей, arsik, Homer, maxar, mikecool, Гипервизор, zelenprog, Михаил_, Бычье сердце, kubik_live, paramedic, Rovan, JohnGilbert, программистище, Сметанин, takefive, nreskayu, Rokford, abfm, Builder, maxab72, Михаил Козлов, Ненавижу 1С, YaFedor, DemonShinji2, Shurjk, formista2000
| ☑ |
|
0
zelenprog
02.12.25
✎
12:52
|
Добрый день!
Задача вроде бы простая: в событии при записи документа "Заказ" нужно проверить единицы измерения в каждой строке ТЧ товаров.
Если это весовой товар - выдать пользователю сообщение-предупреждение.
Очень желательно сделать все это на клиенте.
Во-первых, не понятно в каком реквизите хранится единица измерения.
В ТЧ объекта "Товары" есть реквизит "Упаковка", но по умолчанию он пустой.
Хотя, на форме в таблице в колонке "Единица измерения" отображается "шт.".
Понятное дело, что эти штуки подставляются из Объект.ТЧТовары.Номенклатура.ЕдиницаИзмерения.
Получается, что если реквизит "Упаковка" пустой, то используется единица измерения из "Объект.ТЧТовары.Номенклатура.ЕдиницаИзмерения". А если реквизит "Упаковка" заполнен, то в качестве единицы измерения используется этот реквизит.
Верно я понял?
Тогда вопрос: как можно "добраться" до этих "шт.", не дергая сервера, если "Упаковка" пустой?
Нужно учесть, что пользователь мог изменить значение в этой колонке - выбрать другую ЕИ. То есть надо проверять текущие значения в форме, которые еще не записаны.
Подскажите пожалуйста как это сделать?
|
|
|
1
Волшебник
02.12.25
✎
12:53
|
Дёрните сервер
|
|
|
2
zelenprog
02.12.25
✎
13:24
|
(1) Если это обязательно, то придется так и сделать.
Другого выхода нету?
Ведь сам клиент "видит" эти "штуки".
Значит, где-то же он их хранит?
|
|
|
3
Волшебник
02.12.25
✎
13:23
|
(2) Не морочьте голову. Дёрните сервер.
|
|
|
4
arsik
гуру
02.12.25
✎
13:59
|
Дерни сервер без контекста.
|
|
|
5
zelenprog
02.12.25
✎
14:24
|
(4) Передать на сервер Объект? Или просто ТЧ?
|
|
|
6
mikecool
02.12.25
✎
14:28
|
(2) а ты погляди реквизит, который показывает эти штуки
если упаковки для позиции не заданы, то отображается единица измерения
|
|
|
7
arsik
гуру
02.12.25
✎
14:33
|
(5) Да нахрена. Собери массив структур построчно (Номенклатура, Упаковка) и передай на сервер без контекста.
Ну или построчно (Номенклатура, Упаковка) проверь
|
|
|
8
Злопчинский
02.12.25
✎
14:38
|
А почему на клиенте нельзя проверить то, что отображается на клиента? ну вот чисто мне как невменяемому - непонятно!
|
|
|
9
Timon1405
02.12.25
✎
14:40
|
(0)
в событии при записи документа нет, правильное место для этого - обработка проверки заполнения в МО.
в УТ в ней уже есть вызов
// Процедуры проверки заполнения реквизита Количество и КоличествоУпаковок в документах.
ОбщегоНазначенияУТ.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);
если надо менять логику, расширяйте эту процедуру
|
|
|
10
Kongo2019
02.12.25
✎
14:46
|
(8) Проверить можно. Но не место этой проверки на клиенте.
|
|