|
Где надо располагать контроли документов
Fish, Климов Сергей, Волшебник, Ненавижу 1С, Расим, kir-g, alexxx961503, d4rkmesa, arsik, vis, Asmody, oleg_km, X Leshiy, maxab72, АНДР, ЕRPe, СвинТуз, bolder, formista2000, Franchiser, kubik_live, mortal, Crusher, rozer76, Has, youalex, Hawk_1c, Федя Тяпкин, Поток сознания, Sneer, Aleksey, piter3, Жеглофф, Fedor-1971, okmail, takefive, bwi3, vicof, Многолетний Апельсин, Масянька, Homer, dchumak, DiMel_77, viraboy, Valdis2007, Irbis, Prog_man, Группа неравнодушных, qsunnx, Philix, ИС-2, программистище, maxar, mmg, DemonShinji2, Джордж1, Ногаминебить, 2S, strange2007, DeeK, Mr_Boogie, KJlag, АгентБезопаснойНацио, Есть вопросик, Seriy_Volk, phabeZ, denk32, nAPACEHAK, RomanYS, Михаил Козлов, Redkiy, bmitkin, Гипервизор, Redaktor, svmix, zzz_zzz_zzz, ADirks, Gucci76
| ☑ |
0
ИС-2
08.07.25
✎
11:25
|
Задумался, в каком событии правильно расположить механизмы контролей (заполнение полей, наличие долгов или остатков и т.д).
С документом будут работать как интерактивно так и через программный интерфейс (например, групповое изменение).
Контроль остатков сейчас в обработчике проведения
Заполнение полей в ОбработкаПроверкиЗаполнения
Часть проверок в модуле формы
Другая часть в регистрах
В итоге, чтобы прогнать типовые контроли надо вызывать и проверку заполнения и проведение
Отказ = Не Док.ПроверитьЗаполнение();
Если Отказ Тогда
счОшибок = счОшибок + 1;
Иначе
Попытка
Док.Записать(л_РежимЗаписиДокумента);
Может проще все писать в Событии ПередЗаписью?
|
|
1
СвинТуз
08.07.25
✎
11:29
|
Подписка перед записью
|
|
2
Волшебник
08.07.25
✎
11:30
|
Главное, чтобы все контроли отключались при Объект.ОбменДанными.Загрузка = Истина
|
|
3
СвинТуз
08.07.25
✎
11:30
|
Остатки
при проведении
не смешивать видимо
|
|
4
Ненавижу 1С
гуру
08.07.25
✎
11:44
|
(0) а что в этом плохого?
Это разные проверки.
Проверка реквизитов - это целостность сущности документа. Внутреннее состояния объекта. Для этого не требуется транзакция, например.
А проверка остатков - это инвариант складской системы. Внешнее поведение. Поэтому транзакция необходима.
|
|
5
strange2007
08.07.25
✎
12:31
|
(0) Если надо прям без возможностей мухлёвки, то только в подписке "ПередЗаписью", которая должна быть в самом конце. Если же надо оставить возможность корректировки для всяких роботов и злыдней, то можно прям в форме документа в таком же обработчике проверки вставить
|
|
6
Ногаминебить
08.07.25
✎
13:07
|
Не давать даже записать, если не хватает остатков, — это, по-моему, в некотором роде перебор. Пользователи на вилы поднимут.
|
|
7
Ненавижу 1С
гуру
08.07.25
✎
13:35
|
(5) форма документа это UI, не надо туда бизнес-логику пихать
|
|
8
Ненавижу 1С
гуру
08.07.25
✎
13:37
|
(6) я думаю там будет условие по режиму записи проведение
|
|
9
Волшебник
08.07.25
✎
13:37
|
(7) Для 1С это вполне допустимо
|
|
10
Ненавижу 1С
гуру
08.07.25
✎
13:39
|
(9) от этого архитектура не перестает быть плохой
|
|
11
Волшебник
08.07.25
✎
13:41
|
(10) Тогда берите Python и программируйте регистры.
|
|
12
Ненавижу 1С
гуру
08.07.25
✎
13:54
|
(11) Берем. Но не пайтон, а шарп - там linq есть. Посмотрим, что из этого выйдет
|
|
13
maxab72
08.07.25
✎
16:04
|
Сейчас нам напишут настоящего убийцу 1С на шарпе с линком? Или очередного?
|
|
14
Волшебник
08.07.25
✎
16:05
|
(13) Надеюсь, там будет значение Неопределено ;)
|
|
15
maxab72
08.07.25
✎
16:17
|
(14) лучше пусть будет переменная типа "ХЗ"...
|
|
16
Волшебник
08.07.25
✎
16:43
|
(15) Да, и она пусть тоже будет.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший