Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Как проверить изменен ли документ управляемое приложение 1с 8.3

Как проверить изменен ли документ управляемое приложение 1с 8.3
Я
   Eeelena
 
12.03.18 - 14:24
Здравствуйте.

Как проверить изменен ли документ управляемое приложение 1с 8.3?
 
 
   Cyberhawk
 
1 - 12.03.18 - 14:25
Распечатать и сравнить
   bodri
 
2 - 12.03.18 - 14:25
(0) по подробней?
   Eeelena
 
3 - 12.03.18 - 14:28
Ну вот есть метод 

ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Модифицированность (Modified)
Синтаксис:

Модифицированность()
Возвращаемое значение:

Тип: Булево.
Истина - объект изменен; Ложь - в противном случае.

При проведении я проверяю Документ.Модифицированность() , мне возвращается Ложь, хотя я изменила поле
   Cyberhawk
 
4 - 12.03.18 - 14:30
Футбольное?
   Eeelena
 
5 - 12.03.18 - 14:31
(4) реквизит)
   Cyberhawk
 
6 - 12.03.18 - 14:33
См. (2)
   bodri
 
7 - 12.03.18 - 14:34
(3) проведение происходит после записи объекта, поэтому Ложь
   bodri
 
8 - 12.03.18 - 14:35
+ к (7) проверять на такое надо перед записью
   DmitrO
 
9 - 12.03.18 - 14:35
При проведении объект только что записан, поэтому Модифицированность() всегда возвращает Ложь.

Определять изменен ли документ надо в событии формы ПередЗаписью на свойство формы Модифицированность.
   bodri
 
10 - 12.03.18 - 14:37
(9) курите мат. часть:

ДокументОбъект.<Имя документа>.Модифицированность (DocumentObject.<Имя документа>.Modified)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Модифицированность (Modified)
Синтаксис:

Модифицированность()
Возвращаемое значение:

Тип: Булево.
Истина - объект изменен; Ложь - в противном случае.
Описание:

Определяет, был ли изменен объект после считывания из базы данных.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

Метод не позволяет определить, был ли изменен объект другими пользователями.
Пример:

Если РасходнаяНакладная.Модифицированность() Тогда
    Предупреждение(НСтр("ru = 'Документ был изменен.';"
     + " en = 'Document was changed.'"));
КонецЕсли;
 
 Рекламное место пустует
   Eeelena
 
11 - 12.03.18 - 15:02
(9) сделала переменную тип Булево в процедуре формы Перед записью написала

Изменен=ЭтаФорма.Модифицированность;

как мне теперь передать эту переменную в модуль объекта?
   Cyberhawk
 
12 - 12.03.18 - 15:05
Передавай в доп. свойствах объекта
   Mankubus
 
13 - 12.03.18 - 15:32
(11) не надо это делать. Проверяй перед записью в модуле объекта
   Вафель
 
14 - 12.03.18 - 15:41
а зачем вообще проверять модифицированность в проведении?
   Cyberhawk
 
15 - 12.03.18 - 15:46
(14) Пардигму обычного приложения и копрокод диалогов в обработке проведения модуля объекта при таком режиме не искоренить )
   Eeelena
 
16 - 12.03.18 - 18:42
(14) нужно проверить внесены ли изменения, если да то записывать в регистр сведений, а так он делает запись в любом случае
   Eeelena
 
17 - 14.03.18 - 07:46
решила задачу таким образом:

// В модуле формы &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Если ПараметрыЗаписи.РежимЗаписи = ПредопределенноеЗначение("РежимЗаписиДокумента.Проведение") Тогда // Задать вопрос и поместить ответ в ПараметрыЗаписи ПараметрыЗаписи.Вставить("Ответ",ХХХХХХ); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ,ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Свойство("Ответ") Тогда ТекущийОбъект.ДополнительныеСвойства.Вставить("Ответ", ПараметрыЗаписи.Ответ); КонецЕсли; КонецПроцедуры // в модуле объекта Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если ДополнительныеСвойства.Свойство("Ответ") Тогда // анализируем ответ и выполняем некоторые действия КонецЕсли; КонецПроцедуры
   Eeelena
 
18 - 14.03.18 - 07:47
// В модуле формы 


&НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Если ПараметрыЗаписи.РежимЗаписи = ПредопределенноеЗначение("РежимЗаписиДокумента.Проведение") Тогда// Задать вопрос и поместить ответ в ПараметрыЗаписи ПараметрыЗаписи.Вставить("Ответ",ХХХХХХ); КонецЕсли; КонецПроцедуры


 &НаСервере Процедура ПередЗаписьюНаСервере(Отказ,ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Свойство("Ответ") Тогда ТекущийОбъект.ДополнительныеСвойства.Вставить("Ответ", ПараметрыЗаписи.Ответ); КонецЕсли; КонецПроцедуры

// в модуле объекта Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если ДополнительныеСвойства.Свойство("Ответ") Тогда // анализируем ответ и выполняем некоторые действия КонецЕсли; КонецПроцедуры
   Cyberhawk
 
19 - 14.03.18 - 09:01
Достаточно ключ добавить, значение у тебя нигде не анализируется
   Обработка
 
20 - 14.03.18 - 09:05
(0) Мне кажется вы 5-ое колесо прикручиваете к авто...
   lodger
 
21 - 14.03.18 - 09:18
(20) скоро до 18 колес дело дойдет. и тогда пойдут нормальные коммерческие грузоперевозки!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует