Имя: Пароль:
1C
1С v8
КД: довыгрузка справочников
0 Cyberhawk
 
07.06.13
13:33
Друзья! Имеем ситуацию: база УТ 10.3 и база БП 2.0, обмен односторонний из УТ в БП по правилам обмена (регистрация - через план обмена).
Предыстория: УТ была со справочниками и доками, БП - база была создана с нуля, т.е. голая.
Первоначального переноса _всех_ справочников выполнено не было (не вдаюсь в причины этому, но одна из них - не надо видеть в БП ненужную номенклатуру, т.е. которая не фигурирует в документах, прилетающих в БП).
Проблема: создаем в УТ документ с товарами, которых еще нет в БП. В БП прилетает документ, а в номенклатуре БП создаются эти товары без всех реквизитов, только код и наименование. Т.е. не заполнена ни ставка НДС, ни номенклатурная группа, ни статья затрат.
Если принудительно добавить в очередь обмена этот товар, то все будет тип-топ, реквизиты заполнятся.
Собственно, требуется, чтобы вся номенклатура в базе БП стала с заполненными реквизитами.

Мои варианты решения:
1) перенести _весь_ справочник, а потом товары, не фигурирующие в доках, почистить в БП (обработкой)
2) в правилах конвертации каждого документа в ТЧ "Товары" для ПКС "Номенклатура" в обработчик "ПередВыгрузкой" прописать код, выгружающий товар по правилу обмена (типа ВыгрузитьПоПравилу(Значение, "Номенклатура")), а затем зарегистрировать все доки в УТ (период пока позволяет сделать это). Но в этом случае будут лишние полные многократные выгрузки повторяющихся товаров
3) развитие способа 1: зарегистрировать в очереди обмена только те товары, которые есть в УТ в документах, подлежащих выгрузке в БП

Возможно, есть более простой способ решения задачи? Буду благодарен, если поделитесь.
1 floody
 
07.06.13
13:43
в правилах галка "не выгружать свойства объекта по ссылкам", посмотри
2 floody
 
07.06.13
13:45
вернее "не выгружать объекты свойств источника по ссылкам"
3 mikecool
 
07.06.13
13:45
3 способ по идее верен
4 Cyberhawk
 
07.06.13
16:51
(3) щас подумал: третий способ не защитит от ситуации, когда в УТ создадут и зарегистрируют для обмена документ с товаром, который еще не участвовал ни в одном другом документе УТ (а значит его нет в БП и он не был перенесен даже третьим способом)...
(2) благодарю, покурю эту галочку
5 Cyberhawk
 
10.06.13
09:13
Вердикт:
1) галочка "Не выгружать объекты свойств источника по ссылкам" влияет на то, будут выгружены ссылочные реквизиты объекта-источника или не будут, но не влияет на то, _как_ они будут выгружены. Другими словами, если в ПКО для ПТУ эта галочка не стоит, то по ссылкам будет выгружена вся номенклатура из этого ПТУ. Если галочка стоит, то номенклатура выгружена не будет.
Т.е. галочка не влияет на способ выгрузки той самой номенклатуры: она или будет выгружена по ссылке, или не будет выгружена совсем, а мне надо, чтоб номенклатура выгрузилась со своими дочерними реквизитами (назову это "полностью" в противовес выгрузке "по ссылке").
2) исходя из 1, склоняюсь к методу "Выгружать товары принудительно" (кодом "ВыгрузитьПоПравилу()") в каждом ПКО, имеющем ТЧ "Товары" (ПТУ, РТУ, требование-накладные и т.д.) плюс зарегистрировать для обмена все уже попавшие в базу-приемник товары
6 fenixx
 
10.06.13
10:16
Теоретически, можно реализовать схему такую:

При выгрузке пакета из БП в УТ создавать список таких "недо-товаров" и документов в которых они фигурируют и через параметр загонять его в пакет для УТ. На другой стороне эти списки разбирать и помечать товары и документы на выгрузку.
7 Cyberhawk
 
10.06.13
10:39
(6) хороший вариант, если бы был двухсторонний обмен :) В данном случае обмен только в одну сторону: УТ --> БП. Но идею запомню, хотя лучше вообще не допускать таких ситуаций и синхронизировать справочники первым делом до обмена документами.
8 fenixx
 
10.06.13
10:41
(7) В обратную сторону точно ничего не идёт? Документы и справочники могут и не передаваться, но должны из БП передаваться подтверждения о загрузке объектов
9 Cyberhawk
 
10.06.13
10:56
(8) квитанции о получении конечно передаются (иначе как бы УТ определяла, выполнены отложенные движения или не выполнены), но ведь сбор, анализ и передача "недотоваров" из БП в УТ должен происходить на стороне БП, так? :) А это изменение конфы. Или это можно засунуть в правила обмена и разрулить без изменения конфигурации базы-приемника?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший