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


1С:Предприятие ::

Метки: 

Как проверить изменен ли документ управляемое приложение 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 человек.
Рекламное место пустует