Имя: Пароль:
1C
1С v8
Не получается настроить обмен из БУХ в УТ 10.3 данных регистра сведений
0 Saari
 
13.06.18
14:10
Хочу передавать обменом регистр сведений "Состояния контрагентов" (независимый, непериодический) из БУХ 3 в УТ 10.3.
Для этого сделал в УТ 10.3 такой же регистр сведений.
В правилах обмена добавил обмен этого регистра. В правила регистрации в БУХ добавил этот регистр.
Далее в БУХ регистрирую изменения (в состав отправляемых данных добавляю запись регистра).
Но при обмене эта запись не выгружается (смотрю файл выгрузки - нет данных по этому регистру).
Пожалуйста, подскажите, как настроить обмен регистра сведений?
1 Cyberhawk
 
13.06.18
14:12
Надо в ПВД добавить, ну и проверить на прохождение фильтров ПРО (хотя, ЕМНИП, если ПРО для объекта МД не задано, то объект всегда выгружается)
2 Cyberhawk
 
13.06.18
14:13
Ну и ПОД не туда может подгрузил
3 Saari
 
13.06.18
14:21
В ПВД, ПРО добавлено. В БУХ в регистрации изменений для обмена запись регистра регистрируется.

Вот что находится в файле выгрузки касательно регистра:
НаборЗаписейРегистра Нпп="4" Тип="РегистрСведенийНаборЗаписей.СостоянияКонтрагентов" ИмяПравила="СостоянияКонтрагентов" ПустойНабор="true">
    <Отбор>
        <Свойство Имя="Контрагент" Тип="СправочникСсылка.Контрагенты"/>
    </Отбор>
    <СтрокиНабораЗаписей/>
</НаборЗаписейРегистра>
4 Cyberhawk
 
13.06.18
14:52
Ну так выгружается пустой набор записей.
Если не пустой, то выгружается его (набора записей) отбор.
5 Saari
 
13.06.18
15:02
как выгрузить непустой набор записей?
Структура регистра: Измерение - Контрагент (ссылка на справочник); Ресурс - Статус (Перечисление); Реквизиты - ИНН, КПП.

В БУХ захожу в регистр сведений, запоминаю контрагента в существующей записи регистра.
Далее в окне "Регистрация изменений для обмена" по регистру делаю "Зарегистрировать изменения одиночного объекта", при этом открывается окно отбора со списком контрагентов. Выбираю запомненного контрагента.
Результат выгрузки - пусто.
Где я делаю ошибку?
6 Saari
 
13.06.18
15:05
В обмене участвует регистр сведений "Курсы валют". Таким же способом я регистрирую изменения и для этого регистра.
В результате выгрузки информация о зарегистрированном курсе валют попадает в файл выгрузки.
7 Cyberhawk
 
13.06.18
16:22
Покажи в файле как выглядит выгруженный набор записей (нескольки валют чтоб было)  РС "Курсы валют"
8 Saari
 
13.06.18
16:25
<ДанныеПоОбмену ПланОбмена="ОбменУправлениеТорговлей103БухгалтерияПредприятия30" Кому="001" ОтКого="002" НомерИсходящегоСообщения="43386" НомерВходящегоСообщения="36515" УдалитьРегистрациюИзменений="true" ВерсияОтправителя="3.0.62.17"/>
<НаборЗаписейРегистра Нпп="1" Тип="РегистрСведенийНаборЗаписей.КурсыВалют" ИмяПравила="КурсыВалют">
    <Отбор>
        <Свойство Имя="Период" Тип="Дата">
            <Значение>2018-06-13T00:00:00</Значение>
        </Свойство>
        <Свойство Имя="Валюта" Тип="СправочникСсылка.Валюты"><Ссылка НеСоздаватьЕслиНеНайден="true" ПродолжитьПоиск="true" ПриоритетОбъектаОбмена="Ниже">
    <Свойство Имя="{УникальныйИдентификатор}" Тип="Строка" ТипИсточника="СправочникСсылка.Валюты" ТипПриемника="СправочникСсылка.Валюты">
        <Значение>b8936824-13e4-11e0-bf19-001e5848397d</Значение>
    </Свойство>
    <Свойство Имя="Наименование" Тип="Строка">
        <Значение>EUR</Значение>
    </Свойство>
</Ссылка>
        </Свойство>
    </Отбор>
    <СтрокиНабораЗаписей><Объект>
    <Свойство Имя="Активность" Тип="Булево">
        <Значение>true</Значение>
    </Свойство>
    <Свойство Имя="Валюта" Тип="СправочникСсылка.Валюты"><Ссылка НеСоздаватьЕслиНеНайден="true" ПродолжитьПоиск="true" ПриоритетОбъектаОбмена="Ниже">
    <Свойство Имя="{УникальныйИдентификатор}" Тип="Строка" ТипИсточника="СправочникСсылка.Валюты" ТипПриемника="СправочникСсылка.Валюты">
        <Значение>b8936824-13e4-11e0-bf19-001e5848397d</Значение>
    </Свойство>
    <Свойство Имя="Наименование" Тип="Строка">
        <Значение>EUR</Значение>
    </Свойство>
</Ссылка>
    </Свойство>
    <Свойство Имя="Кратность" Тип="Число">
        <Значение>1</Значение>
    </Свойство>
    <Свойство Имя="Курс" Тип="Число">
        <Значение>73.3654</Значение>
    </Свойство>
    <Свойство Имя="Период" Тип="Дата">
        <Значение>2018-06-13T00:00:00</Значение>
    </Свойство>
</Объект>
    </СтрокиНабораЗаписей>
</НаборЗаписейРегистра>
<НаборЗаписейРегистра Нпп="5" Тип="РегистрСведенийНаборЗаписей.БП_СостоянияКонтрагентов" ИмяПравила="БП_СостоянияКонтрагентов" ПустойНабор="true">
    <Отбор>
        <Свойство Имя="Контрагент" Тип="СправочникСсылка.Контрагенты"/>
    </Отбор>
    <СтрокиНабораЗаписей/>
</НаборЗаписейРегистра>
9 Cyberhawk
 
13.06.18
16:34
Думаю, НЗ не проходит фильтры ПРО при выгрузке
10 Saari
 
14.06.18
08:46
Вот что обнаружил:
1. Если правила выгрузки загрузить во встроенную обработку "Универсальный обмен данными в формате XML", на закладке "Выгружаемые данные" отметить только выгружаемый регистр сведений, то в файле выгрузки появятся выгруженные записи регистра. Причем тега "Отбор" не будет.
2. Если в настроенном обмене  (пункты меню "Администрирование"-"Синхронизация данных"...) по правой кнопке мыши зайти в пункт "Состав отправляемых данных" и в меню правой кнопкой мыши на регистре сведений выбрать "Зарегистрировать изменения всех объектов выбранных типов", то справа в окне появятся все записи регистра (список контрагентов, т.к. измерение у регистра одно - Контрагент) и в выгруженном файле будет много (сколько записей в регистре) пустых записей вида:

НаборЗаписейРегистра Нпп="7055" Тип="РегистрСведенийНаборЗаписей.БП_СостоянияКонтрагентов" ИмяПравила="БП_СостоянияКонтрагентов" ПустойНабор="true">
    <Отбор>
        <Свойство Имя="Контрагент" Тип="СправочникСсылка.Контрагенты"/>
    </Отбор>
    <СтрокиНабораЗаписей/>
</НаборЗаписейРегистра>
11 Cyberhawk
 
14.06.18
10:41
"Причем тега "Отбор" не будет" // Потому что эта внешняя универсальная обработка выгружает наборы записей "пообъектно", а не через отбор НЗ
12 Saari
 
14.06.18
11:01
Вот еще что заметил:
в регистре измерение "Контрагент" имеет тип: "ОпределяемыйТип.КонтрагентБИП", а в определяемом типе "КонтрагентБИП" содержится тип "СправочникСсылка.Контрагенты".
Может поэтому отбор по контрагенту в настройке обмена приводит к пустой выгрузке?
13 Cyberhawk
 
14.06.18
11:36
Возможно
14 Saari
 
14.06.18
12:32
изменил в конфигурации тип измерения на ссылочный. Не помогло. Правила использовал те же.
15 Cyberhawk
 
14.06.18
12:50
Чудак. Надо описание метаданных, которые ты снимал с конфы инфобазы, по-новой залить. Хотя поддержка определяемых типов была, кажись, начиная еще с КД 2.1.5.
16 Cyberhawk
 
14.06.18
12:51
Правила обмена-то под КД 2?
17 Saari
 
14.06.18
13:00
Да, правила обмена-то под КД 2.
(15), открываю описание конфигурации БУХ 3 в конвертации. Открываю регистр сведений "Состояние контрагентов".
На закладке "Свойства" ищу "Контрагент". В колонке "Тип" вижу: "СправочникСсылка.Контрагенты".
Это я к тому, что метаданные перезаливать не нужно.
18 Cyberhawk
 
14.06.18
13:19
"метаданные перезаливать не нужно" // Ага, поэтому Я и написал выше слово "хотя", т.е. КД корректно определяемые типы "переваривает" и дело не в них.
Однако, мое первое предположение ты так и не удосужился проверить.
19 Saari
 
14.06.18
13:27
(18) Какое именно? Прямо сейчас проверю.
20 Saari
 
14.06.18
13:29
(9) Если это "НЗ не проходит фильтры ПРО при выгрузке", то не пойму, где смотреть.
ПРО (правила регистрации объекта) чистые.
21 Cyberhawk
 
14.06.18
14:30
Да, это.
Смотреть в прикладном коде, что вызывается подсистемой "Обмен данными" БСП при выгузке набора записей. Точку входа можно поймать, оттрассировав начиная с "Перед записью" при записи НЗ.
22 Saari
 
15.06.18
14:52
Вот что на данный момент удалось выяснить:
В обработке "КонвертацияОбъектовИнформационныхБаз" в процедуре "ВыполнитьВыгрузкуЗарегистрированныхДанных()" формируется ВыборкаИзменений путем команды: ПланыОбмена.ВыбратьИзменения(Узел, НомерСообщения, ФильтрВыборки);
И вот внутри этой выборки изменений есть Отбор, который по регистру "КурсыВалют" правильно сформирован, а по новому регистру "СостоянияКонтрагентов" в отборе указано: Контрагент = "".
Поэтому в файле выгрузки по этому регистру нет данных.
Возникает вопрос: почему устанавливается отбор Контрагент = "" несмотря на то, что в Составе отправляемых данных указаны записи регистра к выгрузке.
23 Saari
 
20.06.18
13:27
Получилось!
В конфигурации есть общий реквизит "ОбластьДанныхВспомогательныеДанные". В составе этого реквизита присутствует регистр сведений "СостоянияКонтрагентов" со значением "Использовать" в колонке "Использование".
При изменении этого значения на "Автоматически" выбранные строки регистра выгружаются (метаданные при этом "перезаливать" в конвертацию данных не нужно).

Все это хорошо, только на что повлияет в дальнейшем изменение значения в Использовании?
24 vis_tmp
 
20.06.18
13:59
(0)У тебя работают типовые правила выгрузки из БП3 в УТ 10.3?
Можешь прислать на мою почту в профиле?
25 Saari
 
20.06.18
14:12
работают нетиповые. Прислать не могу.
26 Saari
 
25.06.18
08:42
(23) После изменений, описанных выше, при открытии документов "РеализацияТоваровУслуг", "ПоступлениеТоваровУслуг" возникает ошибка:
Поле не найдено "СостоянияКонтрагентов.ОбластьДанныхВспомогательныеДанные"
И ДанныеКонтрагентов.ОбластьДанныхВспомогательныеДанные = СостоянияКонтрагентов.<<?>>ОбластьДанныхВспомогательныеДанные

Получается, этот вариант не вариант.