Имя: Пароль:
1C
1С v8
Почему после программного изменения система считает документ неизмененным?
0 Kuts2020
 
09.02.24
09:07
Ситуация:
в табличной части документа есть колонка с типом булево и галочками на форме;
сделал кнопку "отметить все" с кодом

&НаКлиенте
Процедура УстановитьОтметки(Команда)
	
	Для каждого Товар Из Объект.Товары Цикл
		Если НЕ Товар.Признак Тогда
			Товар.Признак = Истина;
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры


В итоге галки ставятся, но программа не видит, что документ изменен - если нажать кнопку в уже сохраненном, при закрытии не спросит, сохранить ли изменения, и если самому не нажать - не сохранит их; при этом, если нажать Сохранить - изменения будут сохранены.

Подскажите пожалуйста, куда копать, чтобы система видела, что док изменен?
1 Кулибин
 
09.02.24
00:29
Это не данные объекта. Естественно, объект не изменяется.
2 Kuts2020
 
09.02.24
00:54
(1) я прошу прощения, понимаю, вопрос детский, но как в данном примере обратиться к данным? И еще сразу - а почему после записи данные меняются?
3 PR
 
09.02.24
01:05
(0) Сделай у кнопки "Отметить все" галочку "Сохраняемые данные"
4 PR
 
09.02.24
01:07
(2) Не слушай (1), он ерунду сказал
5 Kuts2020
 
09.02.24
01:26
(3) ничего не изменилось
6 Kuts2020
 
09.02.24
01:30
точнее, она там и стояла

вышел из положения, вписав Модифицированность = Истина;

но сам принцип - код этой кнопки стырил в сети, потом нашел в типовой аналогичный - нигде никто модифицированность не меняет, почему мне приходится?
7 PR
 
09.02.24
01:33
(5) Гон
Если быть точным, то галочка называется "Изменяет сохраняемый данные"
Находится в свойствах команды
8 Михаил Козлов
 
09.02.24
08:52
(7) Что будет, если реально ничего не поменялось, признак изменения будет выставлен?
9 Ненавижу 1С
 
гуру
09.02.24
09:03
Признак это реквизит табличной части вообще?
10 АНДР
 
09.02.24
10:58
(6) [но сам принцип - код этой кнопки стырил в сети] код для управляемых форм отличается от кода обычных.
11 AlvlSpb
 
09.02.24
11:08
(6) "вышел из положения, вписав Модифицированность = Истина;"
Это и есть правильное решение. Именно признак модифицированности вызывает вопрос про сохранение. А те кто не меняет, записывает док программно, но для этого надо получать объект. Если в любом случае есть форма, модифицированности вполне достаточно
12 Kuts2020
 
09.02.24
11:58
(7) Я какую-то другую галочку вчера ставил - именно "Сохраняемые данные", но это про сохранение вводимых данных, как я понял, ставил в целях эксперимента

"Изменяет сохраняемый данные" помогло - спасибо, то что искал!
13 Kuts2020
 
09.02.24
12:01
(8) да, даже если сама процедура ничего не делает (пустая), факт нажатия на кнопку меняет статус
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.