|
Как проверить изменен ли документ управляемое приложение 1с 8.3 | ☑ | ||
---|---|---|---|---|
0
Eeelena
12.03.18
✎
14:24
|
Здравствуйте.
Как проверить изменен ли документ управляемое приложение 1с 8.3? |
|||
1
Cyberhawk
12.03.18
✎
14:25
|
Распечатать и сравнить
|
|||
2
bodri
12.03.18
✎
14:25
|
(0) по подробней?
|
|||
3
Eeelena
12.03.18
✎
14:28
|
Ну вот есть метод
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Модифицированность (Modified) Синтаксис: Модифицированность() Возвращаемое значение: Тип: Булево. Истина - объект изменен; Ложь - в противном случае. При проведении я проверяю Документ.Модифицированность() , мне возвращается Ложь, хотя я изменила поле |
|||
4
Cyberhawk
12.03.18
✎
14:30
|
Футбольное?
|
|||
5
Eeelena
12.03.18
✎
14:31
|
(4) реквизит)
|
|||
6
Cyberhawk
12.03.18
✎
14:33
|
См. (2)
|
|||
7
bodri
12.03.18
✎
14:34
|
(3) проведение происходит после записи объекта, поэтому Ложь
|
|||
8
bodri
12.03.18
✎
14:35
|
+ к (7) проверять на такое надо перед записью
|
|||
9
DmitrO
12.03.18
✎
14:35
|
При проведении объект только что записан, поэтому Модифицированность() всегда возвращает Ложь.
Определять изменен ли документ надо в событии формы ПередЗаписью на свойство формы Модифицированность. |
|||
10
bodri
12.03.18
✎
14:37
|
(9) курите мат. часть:
ДокументОбъект.<Имя документа>.Модифицированность (DocumentObject.<Имя документа>.Modified) ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) Модифицированность (Modified) Синтаксис: Модифицированность() Возвращаемое значение: Тип: Булево. Истина - объект изменен; Ложь - в противном случае. Описание: Определяет, был ли изменен объект после считывания из базы данных. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Метод не позволяет определить, был ли изменен объект другими пользователями. Пример: Если РасходнаяНакладная.Модифицированность() Тогда Предупреждение(НСтр("ru = 'Документ был изменен.';" + " en = 'Document was changed.'")); КонецЕсли; |
|||
11
Eeelena
12.03.18
✎
15:02
|
(9) сделала переменную тип Булево в процедуре формы Перед записью написала
Изменен=ЭтаФорма.Модифицированность; как мне теперь передать эту переменную в модуль объекта? |
|||
12
Cyberhawk
12.03.18
✎
15:05
|
Передавай в доп. свойствах объекта
|
|||
13
Mankubus
12.03.18
✎
15:32
|
(11) не надо это делать. Проверяй перед записью в модуле объекта
|
|||
14
Вафель
12.03.18
✎
15:41
|
а зачем вообще проверять модифицированность в проведении?
|
|||
15
Cyberhawk
12.03.18
✎
15:46
|
(14) Пардигму обычного приложения и копрокод диалогов в обработке проведения модуля объекта при таком режиме не искоренить )
|
|||
16
Eeelena
12.03.18
✎
18:42
|
(14) нужно проверить внесены ли изменения, если да то записывать в регистр сведений, а так он делает запись в любом случае
|
|||
17
Eeelena
14.03.18
✎
07:46
|
решила задачу таким образом:
// В модуле формы &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Если ПараметрыЗаписи.РежимЗаписи = ПредопределенноеЗначение("РежимЗаписиДокумента.Проведение") Тогда // Задать вопрос и поместить ответ в ПараметрыЗаписи ПараметрыЗаписи.Вставить("Ответ",ХХХХХХ); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ,ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Свойство("Ответ") Тогда ТекущийОбъект.ДополнительныеСвойства.Вставить("Ответ", ПараметрыЗаписи.Ответ); КонецЕсли; КонецПроцедуры // в модуле объекта Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если ДополнительныеСвойства.Свойство("Ответ") Тогда // анализируем ответ и выполняем некоторые действия КонецЕсли; КонецПроцедуры |
|||
18
Eeelena
14.03.18
✎
07:47
|
// В модуле формы
&НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Если ПараметрыЗаписи.РежимЗаписи = ПредопределенноеЗначение("РежимЗаписиДокумента.Проведение") Тогда // Задать вопрос и поместить ответ в ПараметрыЗаписи ПараметрыЗаписи.Вставить("Ответ",ХХХХХХ); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ,ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Свойство("Ответ") Тогда ТекущийОбъект.ДополнительныеСвойства.Вставить("Ответ", ПараметрыЗаписи.Ответ); КонецЕсли; КонецПроцедуры // в модуле объекта Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если ДополнительныеСвойства.Свойство("Ответ") Тогда // анализируем ответ и выполняем некоторые действия КонецЕсли; КонецПроцедуры |
|||
19
Cyberhawk
14.03.18
✎
09:01
|
Достаточно ключ добавить, значение у тебя нигде не анализируется
|
|||
20
Обработка
14.03.18
✎
09:05
|
(0) Мне кажется вы 5-ое колесо прикручиваете к авто...
|
|||
21
lodger
14.03.18
✎
09:18
|
(20) скоро до 18 колес дело дойдет. и тогда пойдут нормальные коммерческие грузоперевозки!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |