|
БП3: Загрузка данных Enterpise Data - чтобы загруженные проводились. | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
08.06.21
✎
17:00
|
Скромная такая хотелка от бухгалтера - это возможно типовыми настройками?
Или надо писать расширение? В принципе у нее не Фреш, а бухня на 1АБ:Облаке, можно закинуть и расширением. |
|||
1
Garykom
гуру
08.06.21
✎
17:01
|
оно и есть типовыми если ошибок нет и все реквизиты заполнились
а вот если нет то упс |
|||
2
acht
08.06.21
✎
17:02
|
Опять у Гени проблемы какие-то, да что ж такое
|
|||
3
Biker
08.06.21
✎
17:05
|
(2) Это у него бизнес-модель такая, проблемы клиента перекидывать на форум, а самому бабки стричь, пора его темы платными делать
|
|||
4
Вафель
08.06.21
✎
17:13
|
(2) у него одна проблема: думать алом проще спросить
|
|||
5
Новый1сник2
08.06.21
✎
17:16
|
(0) проверить на заполненность реквизитов если причина в этом. можно подписки на события создать
|
|||
6
ChMikle
08.06.21
✎
17:44
|
Готовится на рост в карьере Генеральный директор (1С Франчайзи, в Краснодар) потихоньку учится задачи перекидывать и потенциальную команду консультантов :))
|
|||
7
Гений 1С
гуру
08.06.21
✎
19:04
|
(1) так она потом вручную проводит
|
|||
8
Гений 1С
гуру
08.06.21
✎
19:04
|
(4) за спрос не бьют в нос
|
|||
9
rphosts
08.06.21
✎
19:05
|
(7) значит не всё переносится.
|
|||
10
hhhh
08.06.21
✎
19:17
|
(7) всё проводится, это вы чего-то чудите. Или отрицательные остатки туда фигачите или действительно поля незаполненные.
|
|||
11
Гений 1С
гуру
08.06.21
✎
19:21
|
(9) Ладно попробуем анализ кода.
Обработка ВыгрузкаЗагрузкаEnterpriseData, код в модуле. Процедура: ЗагрузитьДанныеИзXML Она вызывает ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанныхе на весь файл XML и далее ОбменДаннымиXDTOСервер.ПрочитатьСообщениеОбмена В этом модуле есть еще ВыполнитьОтложенноеПроведениеДокументов. Ну да ладно, в следующий раз подключусь, когда она будет грузить, посмотрю что там в журнале регистрации (10) так она потом выделяет доки и они проводятся |
|||
12
Ivan_495
08.06.21
✎
20:03
|
да. возможно. есть несколько вариантов
|
|||
13
Ненавижу 1С
гуру
08.06.21
✎
20:46
|
(8) это ты своим хейтерам ответил, когда они к тебе в гости пришли?
|
|||
14
Гений 1С
гуру
25.06.21
✎
16:13
|
Короче, пришлось решать эту задачу
КомпонентыОбмена.XMLСхема = http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6 Процедура ОбменДаннымиXDTOСервер::ЗаписатьОбъектВИБ - тут происходит запись по классике: Попытка // Записываем объект в транзакцию. Объект.Записать(); ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); ОбменДаннымиXDTOСервер::СтруктураОбъектаXDTOВДанныеИБ - тут происходит после записи объекта вызов: ЗапомнитьОбъектДляОтложенногоЗаполнения(ДанныеДляЗаписиВИБ, ПравилоКонвертации, КомпонентыОбмена); Вот эта процедура: Процедура ЗапомнитьОбъектДляОтложенногоЗаполнения(ДанныеДляЗаписиВИБ, ПравилоКонвертации, КомпонентыОбмена) Если ПравилоКонвертации.ЕстьОбработчикПослеЗагрузкиВсехДанных Тогда // Занесем данные об объекте в таблицу отложенной обработки. НоваяСтрока = КомпонентыОбмена.ЗагруженныеОбъекты.Добавить(); НоваяСтрока.ИмяОбработчика = ПравилоКонвертации.ПослеЗагрузкиВсехДанных; НоваяСтрока.Объект = ДанныеДляЗаписиВИБ; НоваяСтрока.СсылкаНаОбъект = ДанныеДляЗаписиВИБ.Ссылка; КонецЕсли; КонецПроцедуры Правило называется ОтложеннаяОбработка_РТиУ: В процедуре МенеджерОбменаЧерезУниверсальныйФормат13::ВыполнитьПроцедуруМодуляМенеджера ИначеЕсли ИмяПроцедуры = "ОтложеннаяОбработка_РТиУ" Тогда ОтложеннаяОбработка_РТиУ( Параметры.Объект, Параметры.КомпонентыОбмена.ПараметрыКонвертации, Параметры.ОбъектМодифицирован); И вот собственно этот код: Процедура ОтложеннаяОбработка_РТиУ(Объект, ПараметрыКонвертации, ОбъектМодифицирован) Если НЕ ЗначениеЗаполнено(Объект.ДоговорКонтрагента) Тогда // Устанавливаем основной договор, если он не найден. Объект.ДоговорКонтрагента = ОсновнойДоговорКонтрагента(Объект, Объект.Организация, Объект.Контрагент, Объект.ВалютаДокумента); КонецЕсли; // Заполняем счета учета ЗаполнитьСчетаУчета(Объект); ЗаполнитьДеятельностьНаПатентеТорговомСборе(Объект); УчетНДСБП.ЗаполнитьКодТНВЭДОбъекта(Объект); КонецПроцедуры Сюда заходило. И вот наконец, зашло в ОбменДаннымиXDTOСервер::ВыполнитьОтложенноеПроведениеДокументов И тут же вышло: Если ДокументыДляОтложенногоПроведения.Количество() = 0 Тогда Возврат; // нет документов в очереди КонецЕсли; Т.е. не заполнилось проведение документов. Почему? Поискал по конфигурации, оно заполняется тут: ОбменДаннымиXDTOСервер::СтруктураОбъектаXDTOВДанныеИБ Если ПравилоКонвертации.ЭтоДокумент Тогда Попытка Если ПравилоКонвертации.ДокументМожетПроводиться Тогда Если ДанныеДляЗаписиВИБ.Проведен Тогда И вот тут имеем что ДанныеДляЗаписиВИБ.Проведен = ложь Дальше я не понял, почему она не устанавливается. Попробовал в файл добавить тег Проведен, не помогло. https://v8.1c.ru/upload/static/enterprisedata_1_0.html#00000000054 тут нет поля проведен у документа реализации |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |