Имя: Пароль:
1C
1С v8
При нажатии "Провести и закрыть" просто закрыть, возможно?
0 Sevish
 
16.12.25
07:03
Добрый день.
Возникла необходимость при нажатии на "Провести и закрыть" просто закрыть, чтобы не было проведения документа. Есть пользователи, который открывают документ "посмотреть" и закрывают его всегда именно этой кнопкой, хотя в принципе изменения не вносят.
В обработчике "ПередЗаписью" модифицированность всегда "Истина", что можно сделать?
Вариант "проверить все реквизиты" не очень, много их в "Заказе поставщику".
Может есть какое-то единое событие формы, которое вызывается при изменении любого реквизита? То есть поймать момент, когда  действительно модифицированность случилась?
Пока придумал запустить обработчик, который просто проверяет модифицированность каждую секунду и помещает в программно добавленнный реквизит формы, который и проверяю "ПередЗаписью". Не нравится такое решение :(
1 Гипервизор
 
16.12.25
07:17
Почему пользователю нельзя перепровести документ?
2 p-soft
 
16.12.25
07:18
зачем так сложно? кнопку переопределите. а дальше от ситуации
3 Sevish
 
16.12.25
07:21
(1) потому что новый механизм такой в КА для актуализации взаиморасчетов. Провел заказ от 01.12.2025 и упало в регистр 700+ документов, хотя документ реально не менялся.
(2) в каком смысле переопределить? Это же типовая кнопка.
4 p-soft
 
16.12.25
07:23
(3) сделать свою кнопку, а типовую скрыть.
5 PuhUfa
 
16.12.25
08:34
(0) если модифицированность всегда "Истина", то значит в документе что-то поменялось. Начни с анализа, что именно и почему поменялось.
6 Толич
 
16.12.25
08:35
Привет!
Конечно понятно, что как руководитель скажет, так и должно быть. Скажет кнопку сюда ненужную никому прикрутить... ну со временем - отношусь с пониманием. Отложу чуть попозже и как будет время - прикручу, ну после более нужных вещей.
Но вот в каждой организации, вот прям в каждой, раз в 2-3 года, один из пользователей бездумно что-то проведет и возникает вопрос - "а давайте, чтобы пользователь в будущем не ошибся, сделаем "подтверждалку-всплывалку"". А еще бывает, что и этого недостаточно, нужна еще "нажималка - проверено бухгалтером". И это поверх стандартных статусов.

Это прям эффект Долиной. Пользователь не виноват, что бездумно нажал на ЭТО. Вот привык он на предыдущем месте работы нажимать на "Провести и закрыть" для просто закрытии формы.
Не понимаю я такого рода задач, вот хоть увольте...
7 ZloyBrawler
 
16.12.25
09:15
(0) подписку на событие перед записью сделайте на форме и если модифицированности нет, то выкидывайтн исключение что юзер ты осел и не нужно проводить не измененный доеумент

Также это и кнопки Записать коснется, ибо у проведенного документа запись вызывает проведение


Однако в форме списка в контекстном меню можно будет проводить доки не изменяя их))) значит и там кнопки удалить))
8 Sevish
 
16.12.25
08:27
Я все понимаю и согласен, но тут положение такое, очень критично, чтобы именно из документа и только из его формы такого не было (проведение / запись не измененного).

Я открываю документ и тут же нажимаю "Провести и закрыть" (ничего не менял) и в событии "ПередЗаписью" уже модифицированность "Истина". Я ничего не делал, ощущение, что кнопка эта типовая поднимает флаг, хотя отладчик не показал никакого когда...

PS: Такой задачи не было бы, если бы в очередь не валилось всё подряд в огромном количестве.
9 Kongo2019
 
16.12.25
08:37
(0) Для таких пользователей обычно делают запрет на проведение, то бишь посмотреть могут, а провести нет.
Ну или дату запрета проведения персонально им сдвигают.
10 Sevish
 
16.12.25
08:37
Иначе спрошу, кто-то знает, почему типовая кнопка "Провести и закрыть" изменяет модифицированность до первого обработчика? Это где-то как-то можно изменить в настройках в конфе?
11 Sevish
 
16.12.25
08:38
(9) Суть не в том кто и что может, они могут и должны менять!
Суть в том, что если изменений не было - проводить не надо.
12 Kongo2019
 
16.12.25
08:39
(7) Так скорее всего он смотрит из дока карточку товара, в режиме выбора, товар не поменялся, а флажок модифицированный поднялся, у нас так любил один бух делать, еле отучил.
13 Kongo2019
 
16.12.25
08:43
(10) Скорее всего где-то меняются системные реквизиты документа, типа суммы документа. Тут нужно проверять модифицированность не у объекта, а у формы документа.
14 Sevish
 
16.12.25
08:47
(2) да, своя кнопка отличный вариант "ЭтаФорма.Модифицированность" в ней "Ложь", если изменений не вносилось.
Мне как бы и не всем пользователям надо такое и только в 2х документах и только по 2-3 контрагентам, так что пойду этим путем.
Благодарю.
15 p-soft
 
16.12.25
08:53
(14) ну и хорошо
16 Garykom
 
гуру
16.12.25
08:55
(0) Мне кажется, лучшим решением при нажатии на "Провести и закрыть" (в случае если документ уже проведен) выводить пользователю вопрос "Хотите перепровести документ?"
С кнопками Да и Нет
Это быстро отучит их закрывать документ не той кнопкой

И главное функционал перепроведения не теряется
17 p-soft
 
16.12.25
08:55
(16) на массе это никто не читает - тыкают на первую удобную кнопку. особенно тети в толстых очках. они же и самые умные)
18 Garykom
 
гуру
16.12.25
08:57
(17) Пофиг
Суть в лишних действиях когда не туда нажали
Со временем дойдет что проще закрывать крестиком
19 El_Duke
 
гуру
16.12.25
09:13
(8) Таким пользователям надо устанавливать права доступа Только просмотр и не городить мутных схем.
Пользователь должен отвечать за то, что он делает. Не надо пускать в конфу тех, кто накосячит, а потом начнет рассказывать что виновата конфа, кривой код и фазы Сатурна. И вообще он думал, что не проводит, а участвует в спецоперации, по окончании которой все вернется как було. Невменько аля Долина, согласен с (6)
20 Garykom
 
гуру
16.12.25
08:58
(18)+ В случае если не будет доходить, добавить при нажатии на Да еще один вопрос "Вы уверены что хотите перепровести документ задним числом?"
21 Kongo2019
 
16.12.25
09:00
(17) В одной системе видел там не тока да и нет было, но и введите персональный код.
22 Garykom
 
гуру
16.12.25
09:00
(21) Во
Даже без персонального кода можно просто требовать ввести "Да" или "Уверен" в поле текстом
23 p-soft
 
16.12.25
09:01
(18) на топикстартере поддержка, ему не пофиг.
(20) это задача бизнес-аналитика такое мутить. он в отпуске походу. или бухает)
24 El_Duke
 
гуру
16.12.25
09:05
(23) Да чо там мутить, все предельно просто.
Критичные к изменениям метаданные версионируются и всегда можно выявить кто на ком стоял.
25 Lama12
 
16.12.25
09:13
(0) Очень плохая идея. Проще и дешевле научить пользователя. Но если у вас социально ориентированная компания, то да. Делайте отдельные кнопки. Увеличьте штат разработчиков. Специалистов поддержки. Надо оправдывать ориентированность компании.
26 Sevish
 
16.12.25
09:18
(23) Добавил кнопку, благо обед, расширение накатил и всех выгнал. Временно поставил в журнал писать "Провел без сохранения"...
Сначала все поругались что их кикнуло, затем стали заходить.
За прошедшие 7 (уже 8) минут в журнале набежало 11 записей.
Каждое такое действие раньше кидало в "ЗаданияКРаспределениюВзаиморасчетов" 600-700 записей к обработке.
Для базы, где 20-30 человек это не критично, но где 120 - эта очередь потом 5 минут рассасывается ... в холостую.
Так что ещё раз благодарю!
27 p-soft
 
16.12.25
09:27
(26) рекомендую проверить дописки, если есть, на предмет наличия галки "изменять данные" в реквизитах форм.
28 YaFedor
 
16.12.25
09:31
(26) "Временно поставил в журнал писать "Провел без сохранения"..."

Сделай еще отправку письма по электронной почте тому, кто эту задачу придумал
29 dmt
 
16.12.25
09:37
(26) небольшой, но минус - потерялась возможность перепровести документ по новой логике, если логика находится вне документа (н-р зависит от константы/настроек номенклатуры). Придется менять документ и потом проводить.
30 Kongo2019
 
16.12.25
09:37
(26) Ты старую грохнул чтоли? а как?
31 Sevish
 
16.12.25
09:43
(29) нет, я просто проверяю модифицированность и если да - вызываю типовую процедуру "ОбщегоНазначенияУТКлиент.ПровестиИЗакрыть" (она же в типовой кнопке).
Возможность проведения всё равно осталась на типовой кнопке, но уже осознанно.
Просто может никто не сталкивался с проблемами с очередью в УТ / КА / ERP, но они есть, правда при определенных условиях, увы.
Например, если оплаты редкие, а заказов и приобретений море... вот 1С и пытается их всех актуализировать "по срокам".
32 Sevish
 
16.12.25
09:43
(30) программно через расширение добавил свою, ту скрыл.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.