Имя: Пароль:
1C
1С v8
Как убрать модифицируемость в форме?
,
0 napagokc
 
29.02.12
14:09
На форме в табличной части документа выводятся какие-то данные. Хочу вывести сумму по некоторым колонкам, но хранить эту сумму не хочу. Сделал Подвал в табличной части и в соответствующих колонках вывожу результат интерактивного программного пересчета (при удалении строк пересчитывается).
Так вот, при открытии документа, пересчет идет верный, но документ становится, как будто в нем уже происходило какое-то редактирование. То есть, если просто открыть ранее созданный документ и попытаться сразу же закрыть, то выдастся сообщение с предложением сохранить изменения. Как бы мне сделать, чтобы документ не определялся, как отредактированный сразу же при открытии? Знаю, что как-то это можно сделать, но что-то не соображу как... не могу найти... :(
1 ShoGUN
 
29.02.12
14:11
(0) ЭтаФорма.Модифицированность = Ложь;
2 Wobland
 
29.02.12
14:11
(0) что-то ты в данных всё-таки меняешь
3 napagokc
 
29.02.12
14:14
(2) Млин, точно, не заметил... Я еще год в документе храню в отдельном реквизите, а т.к. по умолчанию год пишется некрасиво ("2 012"), то я его форматирую при открытии :( Щас что-нибудь придумаю...
4 mikecool
 
29.02.12
14:15
(3) формат полю никак не указать?
5 Maxus43
 
29.02.12
14:15
(3) дак пиши сразу красиво, отображение не меняет модифицированность. не сам реквизит меняй а его отображение на форме
6 Wobland
 
29.02.12
14:16
(3) формат придумай. у надписи, к примеру можно
7 napagokc
 
29.02.12
14:16
(4) Там выпадающий список. Формат не указывается. Предложение из (1) решило все проблемы. Спасибо :)
8 mikecool
 
29.02.12
14:17
(7) нда...
9 Maxus43
 
29.02.12
14:17
(7) это не рашило проблемы. по факту ты меняеш данные, а этого надо избегать
10 Reset
 
29.02.12
14:18
Это замаскировало проблему ;)
11 napagokc
 
29.02.12
14:21
типа, плохо, если кто-то другой будет заниматься редактированием этого документа? Ну, наверное, вы правы. Щас тогда еще поковыряюсь
12 Maxus43
 
29.02.12
14:24
в выпадающем списке тоже формат можно указать
13 Maxus43
 
29.02.12
14:24
(12) + программно есно
14 ShoGUN
 
29.02.12
14:29
Мда, чё-то я не подумал, (9) и (10) правы...
15 napagokc
 
29.02.12
14:57
(12) Я программно и указывал формат:

РассматриваемыйГод = Формат(Год(ТекущаяДата()), "ЧГ=0");
СпВыб = ЭлементыФормы.ДатаГод.СписокВыбора;
СпВыб.Добавить(РассматриваемыйГод);
СпВыб.Добавить(Формат(РассматриваемыйГод - 1, "ЧГ=0"));
СпВыб.Добавить(Формат(РассматриваемыйГод - 2, "ЧГ=0"));

Из-за этого и устанавливалась форма, как отредактированная.
16 Maxus43
 
29.02.12
14:59
РассматриваемыйГод = Формат(Год(ТекущаяДата()), "ЧГ=0");

вот из-за этого. РассматриваемыйГод - реквизит же?
в переменную его сначала запендюрь, типа
мРассматриваемыйГод = Формат(Год(ТекущаяДата()), "ЧГ=0");
17 napagokc
 
29.02.12
15:03
(16) Ох ты, ё-мое! Я и забыл совсем, что реквизитом его сделал тут. Спасибо :) Как всегда то, что находится под носом - сложнее всего найти )))
18 Maxus43
 
29.02.12
15:04
в типовых красиво сделано работа с периодами так, период регистрации реквизит, на форме работаем с реквизитом формы ПредставлениеПериодаРегистрации, там и выпадающие списки, и с годами и с месяцами. а при записи уже только реквизит меняем
19 Maxus43
 
29.02.12
15:06
всё, можеш идти сюда Jagged Alliance: Back in Action , работу сделал)
20 napagokc
 
29.02.12
15:06
(18) угу, спасибо еще раз. Все норм стало.