В террасофте версия 3.3 предусмотрена интеграция с 1C (Инструменты->интеграции). Но там можно выбрать только версию 8.0 и 8.1. Добавил в перечисление Dataflow\General\Edit Windows\1C\Dictionaries\enm_1CVersion версию 8.2 со значением V82. Теперь при тесте соединения в интеграции, при выборе версии 8.2 появляется ошибка 'undefined' есть null или не является объектом.
Как я понимаю соединение с 1С идет с помощью ActiveXObject('V81.COMConnector') и чтобы начало работать с версией 8.2 надо использовать ActiveXObject('V82.COMConnector'). И где-то надо привязать значение перечисления и вызов нужного объекта...
Какие есть решения?
Нравится
Антон, попробуйте в скрипте scr_Dataflow1CUtils в функцию GetScriptObjectByVersion добавить блок для V82:
function GetScriptObjectByVersion(Param) { switch (Param.Version) { case 'V82': return scr_Dataflow1CUtils_V81; break; case 'V8': return scr_Dataflow1CUtils_V81; break; } }
Для версии 1С 7.7 нужно обновить утилиту интеграции. Все необходимые файлы и инструкция по установке находятся: http://community.terrasoft.ua/catalog/3796
Спасибо Вам за ответ, мне вот там один пунктик не понятен...
2.Удалить из папки с сервисами (Services) утилиты синхронизации:
scr_DataflowEditExcel
wnd_DataflowEditExcel
wnd_DataflowsWorkspace
wnd_DefaultValuesArea
wnd_EnumItemsArea
wnd_PrimaryKeysArea
В последней версии утилиты эти сервисы уже исключены из архива services.rar
Все сделал как в инструкции, выбивает ошибку при настройке правил синхронизации
Если ошибка связанная с NotifyObject то Вам нужно подправить скрипт
wnd_1CObjectEditScript
Привести функцию к такому виду:
function edtServiceCodeOnPrepareSelectWindow(LookupDataControl, SelectWindow) { var TypeTS = edtTypeTSID.DataField.Value; var ServiceTypeCode; if (TypeTS == tsotDBDataset){ ServiceTypeCode = 'DBDataset'; } else if (TypeTS == tsotEnum){ ServiceTypeCode = 'Enum'; } else if (TypeTS == tsotTable){ ServiceTypeCode = 'Table'; } SetAttribute(SelectWindow, 'ServiceTypeCode', ServiceTypeCode); var LookupDataset = LookupDataControl.DataField.LookupDataset; LookupDataset.KeyDataField = LookupDataset.DataFields('Code'); }
Новая версия, с исправленным скриптом, в скором времени появится на сайте.
Спасибо, помогло!
Вот только не понятно, почему в инструкции по настройке интеграции ТС с 1С одни формы, а после обновления ТС другие? И еще вопрос, мне нужно какие то реквизиты добавлять в конфигурацию 1С?
Вот еще такие ошибки есть...
не понятно, почему реквизит 1С называется Objec1C а в TS - Object1C
Спасибо заранее.
и в продолжение...
вот создал я правило для импорта из 1С в ТС справочника "Контрагенты", но при импорте в истории есть ошибки, прикладывают копию экрана...
"Пономаренко Владимир" написал: #10
1.Инструкция немного устарела
2.Никакие реквизиты не нужно добавлять в 1С
(в утилите, в списке реквизитов 1С, есть системные реквизиты, которых фактически нет в 1С; они созданы для удобства настройки ключевых полей)
[ВАЖНО! в каждой настройке сущностей должно быть хотя бы одно ключевое поле]
3.Перезапустите Террасофт
"Пономаренко Владимир" написал: #11
По поводу той ошибки, что видна на скриншоте, дело в том что:
Cannot insert the value NULL into column 'Name', table 'tbl_Account'
Поле "Контрагент"('Name') в справочнике "Контрагенты" не допускает пустых значений, учтите это при настройке синхронизации
"Кривонос Максим" написал:В последней версии утилиты эти сервисы уже исключены из архива services.rar
А где взять самую последнюю, где они исключены? В каталоге расширений последняя от 230311 и там они не исключены.
230311 на текущий момент самая последняя.
В будущих версиях исключим.
Dataflow\General\Edit Windows\1C\Dictionaries\enm_1CVersion создал тут 8.2
поправил функцию
выдает ошибку "ошибка соедининения undefind есть null или не является объектом" при поытке соединиться с 1С
1С 8.2
Версия TC 3.4
Где копать ?
Здравствуйте, Юрий!
Пожалуйста, предоставьте скриншот окна настройки подключения.
Наиболее вероятный источник проблемы - вы настройках подключения выбрано сетевое подключение к БД, а она находится локально (либо наоборот)
Обратите внимание на галочку "на сервере 1С"
пробовал подключаться к копии базы локально и к рабочей по сети.
Галочку не ставлю так как 1С файл серверная
вопрос решился сам собой
и без каких лыбо изменений стало подключатся
вчера не подключалось а теперь подключается.
Таким образом если сделать вышеуказанное в этой ветке - то подключится к 8.2 получается
Здравствуйте. Версия ТС 3.3.2.53 Подключиться получается к 1С 8.2 УПП. А вот выгрузить метаданные не получилось. Сразу обрывается, как только запускается.
Подобная проблема бывает, если Вами неверно установлена утилита - задублировано содержимое таблицы с о списком типов объектов 1С. Для устранения сбоя следует очистить таблицу, и выполнить запрос на заполнение таблицы повторно.
Добрый день!
Подскажите пожалуйста, что делать с ошибкой при загрузке сервиса tbl_1CObjectTypesByVersions
Спасибо!
Здравствуйте.
Укажите пожалуйста вашу версию Terrasoft.
Создайте новую таблицу с таким же названием и попробуйте загрузить сервис снова.
Убедитесь что Вы загружаете сервисы в таком порядке:
tbl_1CObjectTypes
tbl_1CObjectTypesByVersions
tbl_1CMDObjects
tbl_1CMDObjectFields
tbl_Dataflow
tbl_1CObject
tbl_1CObjectFields
tbl_DataflowHistory
il_*
При этом сохраняете в БД каждую таблицу