Есть задача:
Импортировать выписки банка из 1С:Бухгалтерии 8.2 базовой версии в Terrasoft XRM 3.4.0.137 в Финансы/Операции.

1. Обновил модули интеграции 1С вот отсюда: https://community.terrasoft.ua/catalog/3796
2. Прицепляюсь к 1С, всё нормально.
3. А дальше не понимаю, что от меня желает эта оснастка интеграции:
3.1. "Перед началом настройки рекомендуется загрузить метаданные из 1С? Загрузить сейчас?"
Жму "Да", вроде ничего и не загрузилось. Или это нормально?
3.2. "Тип в 1С" - там в выпадающем списке только "Справочники". Этого же не достаточно? Выписки из банка - это разве справочники?
3.3. Для заполнения полей надо выбрать в "Тип в TS": "Набор данных", "Таблица" (ну уж точно не "Перечисление")?
3.4. В поисках полей TS нет тех полей, которые мне нужны в Финансы/Операции: "Фактическая дата", "Сумма, RUR", "Назначение", "Плательщик"/"Получатель", "Тип", "Состояние"

Нравится

7 комментариев

Здравствуйте, Евгений!

3.1. "Перед началом настройки рекомендуется загрузить метаданные из 1С? Загрузить сейчас?"
Жму "Да", вроде ничего и не загрузилось. Или это нормально?
3.2. "Тип в 1С" - там в выпадающем списке только "Справочники". Этого же не достаточно? Выписки из банка - это разве справочники?

Вероятнее всего, Вами не были выполнены запросы на БД по добавлению объектов интеграции в tbl_1CObjectTypes.

Обратите внимание на инструкцию по установке утилиты. (в приложении)

3.3. Для заполнения полей надо выбрать в "Тип в TS": "Набор данных", "Таблица" (ну уж точно не "Перечисление")?

Если Вами выбрана таблица, в информация будет добавлена напрямую в СУБД, минуя логику набора данных. Если выбран набор данных, отработают в том числе все скрипты датасета, если таковые есть.

3.4. В поисках полей TS нет тех полей, которые мне нужны в Финансы/Операции: "Фактическая дата", "Сумма, RUR", "Назначение", "Плательщик"/"Получатель", "Тип", "Состояние"

Нужные поля находятся в наборе данных Операция, с ним и следует настраивать интеграцию.

Как это вставить в таблицы:
NSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{7770C2DE-BFCA-4980-B4D2-DF8AD632877E}', 'Справочники', 'Справочник')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{20BBEA1D-DC1D-4F83-BF32-D01476F0112E}', 'Документы', 'Документ')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{60CB936B-ABD8-46A0-929A-C189D99B3020}', 'ПланыВидовРасчета', 'ПланВидовРасчета')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{E9BDA912-C60C-43A9-9486-32C9FA41377A}', 'Перечисления', 'Перечисление')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{33FCCD6E-6E6E-454A-BFC9-3D79F895F0DB}', 'РегистрыСведений', 'РегистрСведений')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{4B622A3D-1D5B-4547-B27D-0609ADACDB90}', 'РегистрыНакопления', 'РегистрНакопления')
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{AC1FDB3C-53BD-4992-A3FD-C5F498D9C434}', 'ПланыВидовХарактеристик', 'ПланВидовХарактеристик')
INSERT INTO tbl_1CObjectTypes (ID, Name, SQLName) VALUES ('{29BB104F-39FC-4F28-A74F-2854842452E1}', 'ПланыСчетов', 'ПланСчетов')
INSERT INTO tbl_1CObjectTypes (ID, NAME, SQLNAME) VALUES ('{A35397EC-B6CF-4593-9EFA-691776D9A25C}', 'РегистрыБухгалтерии', 'РегистрБухгалтерии')

INSERT INTO tbl_1CObjectTypes (ID, NAME, SQLNAME) VALUES ('{7558D403-3E85-4A82-AA44-AD9C805DF6BF}', 'ЖурналыДокументов', 'ЖурналДокументов')
Через что?

Нашёл как вставить через IBExpert через SQL Editor, но запросы, начиная с
INSERT INTO tbl_1CObjectTypes (ID, Name, sqLName) VALUES ('{20BBEA1D-DC1D-4F83-BF32-D01476F0112E}', 'Документы', 'Документ')
признаются ошибочными:
"Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 2, column 1"
P.S. sqLName - это так надо? Я исправил на SQLName - но не помогло

Судя по коду ошибки, Вами используется СУБД Firebird.

Для установки утилиты на Firebird в мануале есть отдельная инструкция «Для Firebird.docx» в архиве http://www.community.terrasoft.ua/system/files/install_manual.zip

Инструкция в приложении.

Прошёл интеграцию утилиты с помощью IBExpert. Многие условия работы с базой - чёрная магия. Запуск скрипта из инструкции получился только при старте скрипта из меню Tools/Script Engine и выборе раздела "Таблицы". Успешно, без ошибок, если выполнить директивы удаления содержимого таблиц.
Теперь:
1. в интеграции 1С появилось значение поля 8.2 (test);
2. настройка интеграции успешно подключается к базе 1С:Бухгалтерия (базовая версия);
3. Но теперь пишет вот такую вот ошибку при импорте мета-данных 1С, либо вообще ничего не пишет:

0. Как исправить или я что-то сделал не так? Как увидеть лог ошибок или ещё что-то подобное?
1. Надо ли было играть с UTF8? Вроде поля данных заполнены были корректно в новом IBExpert, я не стал их искажать.
2. Работать с базой 1С можно только на локальной машине? Через сеть авторизоваться на 1С базе не получается.

Здравствуйте! Вероятнее всего, алиасы сущностей 1С внесены в базе в неправильной кодировке.

"linuxmasterz" написал:0. Как исправить или я что-то сделал не так? Как увидеть лог ошибок или ещё что-то подобное?

В данном случае рекомендуется переименовать их вручную в IBExpert либо же очистить таблицу и повторно выполнить запрос на вставку, однако же все-таки переконвертировать в Unicode перед выполнением запроса.

1. Надо ли было играть с UTF8? Вроде поля данных заполнены были корректно в новом IBExpert, я не стал их искажать.

Да. Это Firebird, он иначе с кириллицей работать не умеет.


2. Работать с базой 1С можно только на локальной машине? Через сеть авторизоваться на 1С базе не получается.

COM-объект 1С обязатетельно должен быть установлен на локальной машине. База может быть где угодно. Если база лежит в расшаренной папке, выбираем в настройках подключения "локально" и указываем сетевой путь.

Если база развернута на сервере, соответственно, параметры сервера.

Показать все комментарии

Здравствуйте.
Мне необходимо провести импорт из 1С контрагентов и их платежных реквизитов. Я настроил синхронизацию. В качестве родительского объекта синхронизации выбрал таблицу Контрагент(ключевое поле - имя контрагента), в качестве подчиненного объекта синхронизации выбрал таблицу Платежные реквизиты(ключевое поле - ИНН). В 1С поле ИНН находится в справочнике Контрагенты.
При импорте данных из 1С с описанными выше настройками все Контрагенты из 1С успешно попали в Terrasoft, а вот таблица платежные реквизиты осталась пустой.
Возможно я неверно выполняю настройку подчиненного объекта синхронизации с 1С,в чем может быть причина такого результата?
В приложенных скринах - настройки синхронизации.

Нравится

11 комментариев

Чтобы импортировать часть данных в родительский объект, а часть в подчиненный из одного и того же справочника, Вам нужно указать в настройке объекта синхронизации поле родителя 1С как [UUID]. А как видно на скриншоте, у Вас оно вообще не заполнено.

Спасибо за ответ. В поле родитель 1С я набрал UUID.
Но результат, к сожалению, остался тот же - реквизиты не попали в Terrasoft.

Возможно Вы и родительский, и дочерний объекты Террасофт настроили на один и тот же объект "Контрагенты" 1C?

"Стоян Виталий" написал:Возможно Вы и родительский, и дочерний объекты Террасофт настроили на один и тот же объект "Контрагенты" 1C?

Да, так я и сделал.
Родительский объект - Контрагент(Terrasoft) я настроил на объект "Контрагенты" 1C. Дочерний объект - Платежные реквизиты, тоже настроен на объект "Контрагенты" 1C.
А как необходимо поступить в этом случае? Ведь поле ИНН, которое мне необходимо для таблицы Платежные реквизиты(Terrasoft) также находится в справочнике 1С Контрагенты.

Что видно на детали "История" у Платежных реквизитов?
(очистите ее а потом запустите импорт с полем родителя 1С = UUID)

У платежных реквизитов история пустой остается.
История заполняется только у родительского объекта - Контрагент.
Добавлено 0, Обновлено 2250, Ошибок 0

Не стояли галки в поле "Импортируется".
Как только их поставил, появились ошибки в истории, связанные с тем, что не задано обязательное для заполнения поле Name в таблице Платежные реквизиты

Проблема решена. Настроил соответствие обязательных для заполнения полей, и импорт прошел успешно.
Большое всем спасибо за советы.

Та же задача. Нужно перенести платежные реквизиты из 1С в Террасофт.
Контрагенты перенеслись (70 штук). Платежные реквизиты тоже перенеслись, но для каждой записи контрагента перенеслось по 70 записей платежных реквизитов.
Ключевым полем у меня является код. Добавил скрины.

Заполните "Поле родителя в 1С" = "Ссылка"

Показать все комментарии