Имя: Пароль:
1C
1С v8
Модифицированность объекта
,
0 новичок12345
 
04.10.12
17:31
При загрузке в 1с из клиент-банка пишет ошибку: Документ "Исходящее платежное поручение" № 00000002457 от 28.09.2012 0:00:00 не создан! Произошли ошибки при записи! Посмотрел в конфигураторе происходит при проверке объекта на модифицированность:
ОбъектМодифицирован = ОбъектДляЗаписи.Модифицированность();
   ОбъектПроведен = ОбъектДляЗаписи.Проведен;
   
   Если ОбъектМодифицирован Тогда
       Попытка
Исключение
КонецПопытки;

Что это значит? Где объект был модифицирован? на каком этапе?
1 Kashemir
 
04.10.12
17:32
ДокументОбъект.<Имя документа>.Модифицированность (DocumentObject.<Имя документа>.Modified)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Модифицированность (Modified)
Синтаксис:

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

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

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

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

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

Если РасходнаяНакладная.Модифицированность() Тогда
   Текст = "ru = ""Документ был изменен."";"
    + " en = ""Document was changed.""";
   Предупреждение(НСтр(Текст));
КонецЕсли;
2 новичок12345
 
04.10.12
18:56
(1) Это я и сам прочитал.
3 Kashemir
 
04.10.12
18:58
(2) Молодец. Тогда что тебе не понятно ?

"Определяет, был ли изменен объект после считывания из базы данных. "
4 DrShad
 
04.10.12
18:58
на этапе загрузки
5 новичок12345
 
04.10.12
19:05
(4) что в нем могло поменяться на этапе загрузки? Это после каждой процедуры проверять изменился он или нет?
6 новичок12345
 
04.10.12
19:06
Сейчас обнаружил что он вначале загружает его с датой нулевой, а потом изменяет эту дату на нынешнюю. Поэтому он считается модифицированным?
7 DrShad
 
04.10.12
19:10
включая отладчик и смотри на каком этапе взводится модификация - за тебя это никто не сделает
8 новичок12345
 
04.10.12
19:12
А вообще документ (если по правильному, просто нет варианта когда все без ошибок проходит, негде посмотреть) создается изначально с нулевой датой?
9 DrShad
 
04.10.12
19:15
(8) любой объект изначально создается с пустыми свойствами и только потом они заполняются и записываются
10 новичок12345
 
04.10.12
19:17
(9) ТО есть весь косяк вот здесь:
Если ОбъектМодифицирован Тогда
       Попытка
           Если ОбъектПроведен Тогда
               ОбъектДляЗаписи.Записать(РежимЗаписиДокумента.ОтменаПроведения);
               СтрокаСекции.Проведен = ОбъектДляЗаписи.проведен;
           Иначе
               ОбъектДляЗаписи.Записать(РежимЗаписиДокумента.Запись);
           КонецЕсли;
           
           Сообщить(?(ЭтоНовыйДокумент,"Создан ","Перезаписан ")+ ПолучитьПредставлениеОбъекта(ОбъектДляЗаписи) + ".");
           
       Исключение
           
           НазваниеОбъекта = ПолучитьПредставлениеОбъекта(ОбъектДляЗаписи);
           Сообщить(Врег(Лев(НазваниеОбъекта, 1)) + Сред(НазваниеОбъекта, 2) + ?(ЭтоНовыйДокумент," не создан"," не записан")+ "! Произошли ошибки при записи!", СтатусСообщения.Важное);
           
           Возврат;
           
       КонецПопытки;
       
   КонецЕсли;
11 новичок12345
 
04.10.12
19:18
По каким то причинам он не может его записать..
12 DrShad
 
04.10.12
19:19
ну тут Модифицированность объекта вообще не причем
13 DrShad
 
04.10.12
19:21
т.е. у тебя проведенный документ в момент загрузки изменяется, причем таки образом что не проходит проверки ПередЗаписью и ПриЗаписи
либо уже записанный, но еще не проведенный

причем этот объект не факт что создан текущей загрузкой
14 новичок12345
 
04.10.12
19:25
(13) создан точно текущей загрузкой. По крайней мере в базе нет такого документа...сейчас пороюсь в процедурах, которые Вы сказали.
15 DrShad
 
04.10.12
19:25
(14) значит он не прошел проверку на возможность записи
16 новичок12345
 
04.10.12
20:42
(15) Почему то сразу после этой процедуры :
Процедура ПередЗаписьюДокументаРегистрацияОбъектовПравДоступа(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
   ДополнительныеСвойства = Источник.ДополнительныеСвойства;
   ДополнительныеСвойства.Вставить("ПараметрыЗаписиОбъектовДоступа", Новый Структура("Замещать"));
   ДополнительныеСвойства.ПараметрыЗаписиОбъектовДоступа.Замещать = НЕ Источник.ЭтоНовый();
КонецПроцедуры

Идет в исключения... Это значит что-то в правах доступа?? Но стоят на этого пользователя полные права..
17 новичок12345
 
04.10.12
21:14
Иди дело может быть в обмене?
Для другой организации в этой же информационной базе все ок. Не понимаю в чем проблема и куда еще посмотреть((
18 новичок12345
 
04.10.12
21:23
Черт! Из-за чего это может быть... причем не загружает только платежки исходящие... там же нигде в УТ 10 даже настроек особо нет, чтобы для разных организаций по разному было...