|
|
Проверить единицу измерения в ТЧ документа на клиенте (ERP 2.5)
JohnGilbert, kir-g, Garykom, arsik, Гипервизор, Kongo2019, программистище, RomanYS, Мультук, Timon1405, Злопчинский, skafandr, zelenprog, X Leshiy, Табуретко, Builder, shuhard, dmt, _Batoo, Доминошник, alexxx961503, Krendel, Волшебник, Климов Сергей, Homer, maxar, mikecool, Михаил_, Бычье сердце, kubik_live, paramedic, Rovan, Сметанин, takefive, nreskayu, Rokford, abfm, 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) Проверить можно. Но не место этой проверки на клиенте.
|
|
|
11
arsik
гуру
02.12.25
✎
15:01
|
(8) Ну на клиенте допустим отображается упаковка. А владельца упаковки ты как проверишь? Чтобы получить владельца упаковки, тебе на сервер нужно передать ссылку на упаковку и там уже проверить его владельца.
(10) Ну почему. Если что-то можно проверить на клиенте, я всегда проверяю на клиенте. Это ж быстрее.
|
|
|
12
Злопчинский
02.12.25
✎
15:03
|
(11) понятно что в разных случаях - разные потребности могут быть. Но если мне надо проверить сам факт наличия упаковки или что наименование упаковки (то что я вижу на клиенте) совпадает/несовпадает с "шт"... - надо ли для этого бежать на сервер?
|
|
|
13
arsik
гуру
02.12.25
✎
15:04
|
(12) Ну картинки посмотри и станет понятно, когда лезть на сервер, а когда клиента достаточно.
|
|
|
14
Garykom
гуру
02.12.25
✎
15:34
|
(0) 1. Надо не просто при записи а при проведении
2. Открой форму документа и просмотри, там
Объект.Товары.Упаковка или Объект.Товары.Номенклатура.ЕдиницаИзмерения
|
|