Не проводятся документы при загрузке из УТ

1. Vextel 06.12.13 20:18 Сейчас в теме
После обмена между БП 3.0 и УТ 11УТ 10.3 в БП 3.0 приходят документы и не проводятся. Хотя в них всё заполнено и при самостоятельной проводке - никаких ошибок не выскакивает.
Может где то настройку надо поставить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. compreSSor 10 07.12.13 00:42 Сейчас в теме
посмотри в Справочники.НастройкиОбменаДанными (в базе-приёмник) флаг "Выполнять отложенные движения после загрузки документа".
3. Vextel 07.12.13 00:47 Сейчас в теме
(2) compreSSor, в трёшке этот справочник есть, но не используется.
4. compreSSor 10 07.12.13 02:57 Сейчас в теме
(3) Vextel, я не много работал с БП 3.0 - но одно могу сказать точно (посмотрев на неё 2 минуты) - копай в сторону ПланыОбмена -> УзлыОбмена (загрузка/выгрузка) - там ты точно найдёшь флаг "Разрешить проведение документов при загрузке".

если такой вариант не прокатит - значит будем думать дальше
5. Vextel 07.12.13 12:41 Сейчас в теме
Ошибся в я в первом посте. Загрузка идёт не из УТ 11, а из УТ 10.3.
И в плане обмена именно в УТ 10.3 нет такой галочки. В плане обмена с УТ 11 есть, а с УТ 10.3 нет.
6. kot30688 3 07.12.13 15:11 Сейчас в теме
Vextel, а правила обмена где взяли? Если настраивали с помощью "Конвертации данных", то надо в обработчике собития "после загрузки данных" прописать режим прведения.
 Попытка 
 Объект.Записать(); 
 Исключение 
 ТекстОшибки = ""+Объект+ " не проведен!" 
 КонецПопытки;
7. Vextel 07.12.13 17:06 Сейчас в теме
(6) kot30688, правила обмена полностью типовые.
8. ediks 337 07.12.13 23:28 Сейчас в теме
(7) У меня такая же проблема - судя по всему это фича, а не баг. Я в правила обмена УТ-БП добавил:
1. В обработчик ПередЗагрузкойДанных добавил параметр
//добавляем таблицу значений для последующего проведения
ТаблицаПроведения = Новый ТаблицаЗначений;
ТаблицаПроведения.Колонки.Добавить("Документ");
ТаблицаПроведения.Колонки.Добавить("ДатаДок");
Параметры.Вставить("ТаблицаПроведения", ТаблицаПроведения);

2. В алгоритм ЗаполнитьРеквизитыПоУмолчанию добавил код (он вызывается в глобальном обработчике "ПослеЗагрузкиОбъекта"
	// ************** ИЗМЕНЕНИЯ ПРАВИЛ ********
	Если Объект.Проведен Тогда
		ТаблицаПроведения = Параметры.ТаблицаПроведения;
		НоваяСтрока = ТаблицаПроведения.Добавить();
		НоваяСтрока.Документ = Объект.Ссылка;
		НоваяСтрока.ДатаДок = Объект.Дата;
	КонецЕсли;
	// ************** ОКОНЧАНИЕ ИЗМЕНЕНИЯ ПРАВИЛ ********
Показать

3. В глобальном обработчике "ПослеЗагрузкиДанных" добавил код
	// ************** ИЗМЕНЕНИЯ ПРАВИЛ ********
	// пытаемся провести документы
	Сообщить("Проведение документов...");
	ТаблицаПроведения = Параметры.ТаблицаПроведения;
	ТаблицаПроведения.Сортировать("ДатаДок");
	Для Каждого СтрокаТаблицы Из ТаблицаПроведения Цикл
		ДокОбъект = СтрокаТаблицы.Документ.ПолучитьОбъект();
		Попытка 
			ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
		Исключение
			Сообщить("Не удалось провести документ [" + ДокОбъект + "]: " + ОписаниеОшибки());
		КонецПопытки;
	КонецЦикла;
	// ************** ОКОНЧАНИЕ ИЗМЕНЕНИЯ ПРАВИЛ ********
Показать
dhonid@yandex.ru; wolfsoft; maksa2005; Daniayr; slavikss; sir; Vextel; +7 Ответить
20. slavikss 20.06.14 14:55 Сейчас в теме
(8) ediks,
в последнем блоке добавил одну строчку, иначе в случае ошибок при проведении остается признак проведенного документа а проводок нет.
// ************** ИЗМЕНЕНИЯ ПРАВИЛ ********
// пытаемся провести документы
Сообщить("Проведение документов...");
ТаблицаПроведения = Параметры.ТаблицаПроведения;
ТаблицаПроведения.Сортировать("ДатаДок");
Для Каждого СтрокаТаблицы Из ТаблицаПроведения Цикл
ДокОбъект = СтрокаТаблицы.Документ.ПолучитьОбъект();
Попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);//вот эту строчку.
Сообщить("Не удалось провести документ [" + ДокОбъект + "]: " + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
// ************** ОКОНЧАНИЕ ИЗМЕНЕНИЯ ПРАВИЛ ********
dhonid@yandex.ru; +1 Ответить
9. Vextel 08.12.13 00:25 Сейчас в теме
Открыл описание к обмену БП 3.0 и УТ 10.3, пишут, что должны проводиться.

Документы в информационную базу приемника передаются в соответствии с теми параметрами проведения, которые были установлены в базе источнике. То есть, если документ не был проведен или был удален в базе источнике, то он будет загружен непроведенным или помеченным на удаление в базу приемника. Документы, проведенные в конфигурации Управление торговлей, после загрузки автоматически перепроводятся в базе Бухгалтерия предприятия по бухгалтерскому и налоговому учету. При миграции документов для них автоматически добавляется информация о счетах учета, заданных по умолчанию в конфигурации Бухгалтерия предприятия в соответствующих регистрах сведений. Счета учета в документах при загрузке в конфигурацию Бухгалтерия предприятия перезаполняются автоматически каждый раз при загрузке документа.
10. kot30688 3 08.12.13 02:42 Сейчас в теме
Vextel, ну если типовые, то фича :) Я ьы загрузил эти правила в конвертацию данных и посмотрел бы, что там с проведением.
ediks, я так понимаю Вы после загрузки все документы проводите? Не затягивает процесс? ИМХО, лучше каждый документ после загрузки провести.
13. ediks 337 08.12.13 10:46 Сейчас в теме
(10) Совершенно верно, я формирую таблицу записанных документов, а потом после загрузки сортирую по их дате и массово провожу. Естественно, это затягивает процесс, как и любое перепроведение.
Еще по поводу проведения:
Вообще-то в конфигурации БП 3.0 есть регистр сведений "Отложенное проведение документов", но я не нашел обращений к нему. В БП 2.0 этот регистр активно использовался при обмене.
Может кто-то знает какой механизм теперь используется в качестве отложенного проведения и используется вообще?
11. Vextel 08.12.13 02:55 Сейчас в теме
А где там смотреть? Тоже думал посмотреть, но ничего не нашёл.
Если не трудно, глянешь?
Прикрепил к письму правила.
12. kot30688 3 08.12.13 08:13 Сейчас в теме
Ну вот, глянул первый попавшийся и обнаружил, что команды на запись нет, нужно добавлять.
Romankhv7; buy_sale; +2 Ответить
14. Vextel 08.12.13 13:43 Сейчас в теме
Кстати, а почему именно Объект.Записать(); а не Объект.Записать(РежимЗаписиДокумента.Проведение); ?
15. ediks 337 08.12.13 13:58 Сейчас в теме
(14) Нельзя проводить документ непосредственно после его загрузки - никто не гарантирует правильную последовательность загрузки документов. Т.е. существует реальная возможность попытаться провести реализацию до поступления со всеми вытекающими последствиями.
16. kot30688 3 08.12.13 14:41 Сейчас в теме
(15) ediks, никто не гарантирует, согласен. Но есть такой реквизит, как документ-основание, если правильно настроить, то это основание загрузится, проведется (опять же, по настроенным правилам), а уж после этого загрузится документ, который стоит ниже по структуре подчиненности. Я настраивал обмен из УПП в БП, у меня и документы-основания и не достающие элементы справочников догружались :) Собственно, по описанным причинам я не очень доверяю типовым правилам, или советую проверить что и как там должно грузится.
(14) Vextel, РежимЗаписиДокумента.Проведение - режим по умолчанию, можно и не писать.
17. ediks 337 08.12.13 15:13 Сейчас в теме
(16) Позвольте не согласиться, коллега.
В частном случае именно так и происходит. Сначала выгружается документ (ну или справочник) по ссылке, а потом уже "основной" документ. А если нет документа-основания, но есть просто "Поступление товаров и услуги" и "Реализация товаров и услуг"? Конечно, здесь можно повлиять на порядок выгрузки порядком следования ПВД в правилах, т.е. ПВД "ПоступлениеТоваровУслуг" должно быть выше ПВД "РеализацияТоваровУслуг". Но необязательно это сработает правильно.
По поводу записи документа - по умолчанию происходит запись, а никак не проведение документа.
ДокументОбъект.<Имя документа>.Записать (DocumentObject.<Имя документа>.Write)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Записать (Write)
Синтаксис:

Записать(<РежимЗаписи>, <РежимПроведения>)
Параметры:

<РежимЗаписи> (необязательный)

Тип: РежимЗаписиДокумента.
Позволяет выбрать один из возможных режимов записи.
Значение по умолчанию: Запись
<РежимПроведения> (необязательный)

Тип: РежимПроведенияДокумента.
Позволяет выбрать один из возможных режимов проведения.
Значение по умолчанию: Неоперативный
Описание:

Записывает документ в базу данных.
Показать
18. kot30688 3 08.12.13 15:23 Сейчас в теме
ediks, насчет порядка следования ПВД ничего не скажу, пользуюсь ВыгрузитьПоПравилу либо ПКС. Насчет режима записи, да, соглашусь, не досмотрел я что-то.
19. sir 18 26.02.14 18:11 Сейчас в теме
21. bananoed 20 07.06.16 15:00 Сейчас в теме
После обновления БП3 до последнего релиза данный алгоритм перестал работать при обмене по произвольным правилам. Загрузка ведется через обработку универсального обмена. Документы добавляются в список для проведения, но проведение не происходит, или проводится только часть. Ошибок не возникает.
Если запустить интерактивное проведение, то все проводится без ошибок.
Никак не могу понять в чем дело.
22. bananoed 20 22.01.17 18:31 Сейчас в теме
Оказалось все просто: при обновлении поменялся список параметров процедуре ВыполнитьКоманду - стало два. Обработка завершалась без фиксации ошибок журнале.
23. esaldin 26.01.17 10:02 Сейчас в теме
(22) можно поподробнее?
у меня при проведении вылетает "Ошибка при вызове метода контекста (Записать): В данной транзакции уже происходили ошибки!"
идентифокатор транзакции пустой.
24. bananoed 20 29.01.17 20:24 Сейчас в теме
(23) Евгений,
(22) Не совсем в тему. После очередного обновления перестала работать загрузка через внешнюю обработку. Для корректного запуска в модуле внешней обработки должна быть экспортная процедура ВыполнитьКоманду, а при обновлении релиза количество параметров у процедуры поменялось, видимо, связи с обновлением БСП.

(21) А документы перестали проводиться раньше, так как после обновлении, видимо, загрузка стала работать согласно документации: Объект.Ссылка определено только для найденных объектов. Для новых - неопределено, Соответственно для них ссылки пустые. Решил перепроведением через регламентное задание с отбором загруженных.

В Вашем случае скорее всего поменялись реквизиты документа или связанного справочника в базе назначения: например, элемент справочника не создался, что вызвало ошибку/-и при записи/проведении документа
25. Cohap 6 02.02.21 12:59 Сейчас в теме
Возобновлю обсуждение темы, УТ11 - БП3, настроен односторонних обмен через синхронизацию, галочки "проводить документы" нет нигде, проверил регистры настройки узлов обмена, там тоже ничего за что можно было бы зацепиться нет.

Обмен по универсальным правилам, надо чтобы все документы проводились в базе приемнике (в данном случае в БП).
может кто-то уже решил эту проблему без изменения правил обмена?
26. Serg_2010 25.03.21 11:37 Сейчас в теме
(25) Столкнулся с такой же проблемой. Cohap у тебя получилось решить проблему?
27. Cohap 6 25.03.21 14:50 Сейчас в теме
(26) в УТ11 отложенное проведение документов, поэтому иногда после обмена создается впечатление, что документы не проводятся, чуть позже проводятся.

я перешел с обмена через файлы, на прямое подключение, проведение заработало, только так удалось победить эту проблему.
28. blaik 23.08.24 15:17 Сейчас в теме
у меня прямое подключение, а проведение не работает((
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот