Имя: Пароль:
1C
1С v8
Конвертация 2.0 После переноса документ проведен, но проводок нету
,
0 Alex87r
 
20.07.17
21:55
Привет всем!
После переноса документа в базу приемник он проведен (зеленая галка), но проводки не формирует.
Если его провести, то проводки появляются.
Так и должно быть? Хотелось бы, чтобы документ проводки формировал.
1 Cyberhawk
 
20.07.17
21:58
В ПКО в обработчике "При загрузке" или "После загрузки" пропиши РежимЗаписи = "Проведение"
2 Cyberhawk
 
20.07.17
21:59
Хотя и в этом случае прикладной код в правилах может переопределять твои старания.
Я бы все-таки отладил загрузку на твоем месте.
3 Alex87r
 
20.07.17
22:00
(2) Т.е. что то не так с правилами. При загрузке документ должен проводиться по умолчанию?
4 Cyberhawk
 
20.07.17
22:01
(3) Какой обработкой смотря загрузка идет
5 Alex87r
 
20.07.17
22:02
(4) УниверсальныйОбменXML.
Некоторые документы вообще не проведены. А, например кассовые - с зеленой галкой без движений.
6 Cyberhawk
 
20.07.17
22:04
(5) По умолчанию ничего там не проводится
7 Cyberhawk
 
20.07.17
22:05
"Некоторые документы вообще не проведены" // Если в файле данных они проведены (и в источнике, соответственно, тоже), то это означает, что документ не смог записаться по какой-то ошибке и в исключении это обработалось таким образом (документ записывается без флажка Проведен), чтобы хоть какой-то он записался в базу
8 Alex87r
 
20.07.17
22:09
А в какой момент документ проводится при загрузке?
У меня прописан алгоритм заполнения счетов учета после загрузки. Если документ проводится перед этим алгоритмом, то он не проведется. (7)
9 Cyberhawk
 
20.07.17
22:25
"в какой момент документ проводится при загрузке?" // Вроде в (6) Я написал, что этого не происходит. Но в правилах может быть прописано отложенное проведение после всей-всей загрузки, либо оно реализовано вообще в прикладном коде конфигурации, а не в правилах
10 xaozai
 
20.07.17
23:29
(0) На ИС есть неплохие статьи о проведении после загрузки.
Нужно создать параметр (ТЗ), заносить туда документы при загрузке и после загрузки проводить те, что должны быть проведены, либо распроводить, чтобы движения удалялись (если в источнике распровели / пометили на удаление.
11 xaozai
 
20.07.17
23:36
(10) Можно регистр отложенного проведения для этих целей использовать.

Сама конвертация по-умолчанию использует режим ОбменДанными.Загрузка, документы в этом режиме только записываются с установленным признаком проведения, но не проводятся по регистрам.
И это логично, т.к. в идиентичных конфигурациях могут переноситься сами движения, как наборы записей регистров. Проводить повторно в этом сл. не нужно.
А когда конфигурации сильно отличаются, структура регистров сильно разная, переносить движения нецелесообразно, лучше любым способом вызывать обработку проведения в приёмнике...
12 Zhuravlik
 
20.07.17
23:40
(0) "Проведен" - это такой же стандартный реквизит как и "ПометкаУдаления", например... Наличие движений в документе и факт его проведения - не одно и тоже. При записи в режиме загрузки переносится флаг, а уже проводить\не проводить - надо решать отдельно. Как - см. (1). Или юзать механизм отложенного проведения, но это уже надо штатный механизм раскапывать.
13 xaozai
 
20.07.17
23:45
В (1) не оч. хороший способ. Если при продеведии возникнет ошибка, ничего не загрузится.
Проводить лучше после загрузки всех документов...
14 Альбатрос
 
21.07.17
04:15
Ну или в ПослеЗагрузки написать чонить такое:

Если Объект.Проведен тогда
Попытка
Объект.записать(РежимЗаписиДокумента.проведение);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
15 Cyberhawk
 
21.07.17
08:20
(13) "Если при продеведии возникнет ошибка, ничего не загрузится" // Ошибаешься
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс