При подготовке этого релиза 1C Connector 3.6 команда технической поддержки тщательно проанализировала обращения клиентов, в результате чего сформировался список наиболее востребованных обновлений и улучшений. Подробнее...

Нравится

Поделиться

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

Время от времени возникает ситуация, когда дата документа (ДатаДок) в 1С изменяется, но не выходит за рамки того же года (например, с 12.02.2011 на 14.02.2011). То есть номер документа является уникальным в разрезе одного года, но не уникальным в разрезе всего реестра документов. В таком случае, если использовать стандартную связку по ключевым полям (НомерДок, ДатаДок и объект 1С), такая связка с 1С теряется. Есть ли возможность в текущей утилите синхронизации задавать связку по году, а не по конкретной дате?

Отзовитесь у кого такая проблема тоже возникала. Если я не один такой, возможно, стоит добавить такую функциональность в базовую утилиту синхронизации с 1С (если таковой функциональности еще не сделали).

Нравится

2 комментария

Здравствуйте, Андрей.

Доработка утилиты интеграции подобным образом является очень трудоемокой.

Предлагаю для решения данной проблемы добавить еще одно ключевое поля для синхронизации и исключить дату документа.

В частности, добавить в конфигурацию 1С поле TSID, передавать в него при синхронизации соответствующий идентификатор записи в Terrasoft.

"Alimova Anna" написал:В частности, добавить в конфигурацию 1С поле TSID, передавать в него при синхронизации соответствующий идентификатор записи в Terrasoft.

Спасибо, тоже вариант.

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

Добрый день! Есть вопрос, который адресован в первую очередь к продажникам. Есть клиент, которого принципиально волнует вопрос интеграции Terrasoft с 1C? Причем для него важно именно легкость и простота работы сотрудников в двух системах одновременно. На демо-версии, к сожалению, такой возможности не продемонстрировать. Может быть есть какой-либо материал-презентация, нарезка скриншотоа и т.п? На Community не удается ничего найти.

Нравится

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

Надежда, здравствуйте.

Рекомендую два варианта:
Простой - собрать с нашего сайта все рекомендательные письма, где указана интеграция с 1С.
Второй - у нас есть настроенная демо-версия с интеграцией, но в ней нужно разобраться. Можете запросить демо у партнерского отдела. Должна быть установлена 1С 8.

Удачи

Андрей, спасибо за ответ!
К сожалению, у нас в компании используется 1С7.
Рекомендательные письма клиента не устраивают, хочет посмотреть визуально.
Возможны ли другие варианты?

Ну тогда надо ставить 8 либо договориться с МРК из Террасофт, что бы показали удаленно демку

Спасибо, Андрей.:smile:

Надежда, если нарезки скриншотов будет достаточно, высылаю Вам на почту. Если же нужно демонстрировать, рекомендую установить 8 и заняться изучением и настройкой!

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

Написал практически универсальную обработку по переносу справочников Контрагентов и Номенклатуры, а также всех сопутсвующих им из 1С в Террасофт. Посредство ADO соединения с БД террасофт на SQL сервере. В прикрепленных файлах тестовая версия и инструкция к ней.

Нравится

Поделиться

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

Здравствуйте! Скажите пожалуйста, каждый раз экспортируются все значения справочников? Можно ли отследить те элементы, которые в 1С были удалены и остались в Террасофт? Планируете дальше писать импорт документов из 1С?

Забыли указать в шапке, для какой версии 1С предназначена утилита. Насколько я понял, утилита работает только с версией 8.1.

1. На данный момент реализована только первоначальная выгрузка данных. Если это будет востребовано то можно написать вообщем то и импорт документов из 1С. Вообще планировал писать экспорт счетов из террасофт и практически закончил но пока остановился.
2. На данный момент обработка работает на версии 8.1 по запросу можно будет конвертнуть под любую 8.х

Не пытались использовать эту утилиту?

"Глова Сергей" написал:

Пытался. А вы пытались ей пользоваться? У меня не получилось нормально все с помощью нее реализовать. Даже если с помощью нее и можно сделать то же самое то написать скриптов придется не меньше а может и больше чем кода в 1С.

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

Нравится

Поделиться

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

Продолжаем разговор. Ниже функция для импорта справочника единиц измерения. Создана по образу и подобию импорта номенклатуры, так что нового там мало. Эту функцию нужно добавить в модуль scr_1CFirstImport.

function ImportUnits(){
    Log.Write(1,'Первичный импорт справочника единиц измерения');
	Log.Write(1,'========================================');
	var Dataset = Services.GetNewItemByUSI('ds_Unit');
	Log.Write(1,'Открытие справочника единиц измерения в 1С...');
    var C1 = FirstImport.Obj1C;
	var Units = C1.Справочники.КлассификаторЕдиницИзмерения;
	var UnitsList = Units.Выбрать();
	Log.Write(1,'Загрузка единиц измерения...');
	var UnitObj;
    var ID;
	while (UnitsList.Следующий()){
	    UnitObj = UnitsList.ПолучитьОбъект();
		if (!UnitObj.ЭтоГруппа){
		    Dataset.Append();
		    ID = Connector.GenGUID();
		    Dataset('ID') = ID;
		    Dataset('IntegrationID') = UnitObj.Код;
	    	    Dataset('Name') = UnitObj.Наименование;
	    	    Dataset('Description') = UnitObj.НаименованиеПолное;
	    	    Dataset('IntegrationDate') = GetTodayDate().getVarDate();
		    Dataset.Post();
			Log.Write(1,Dataset('IntegrationID')+' '+Dataset('Name'));
		}
		System.ProcessMessages();
	}
	Log.Write(1,'==================================================');
    Log.Write(1,'Первичный импорт справочника единиц измерения завершен.');
}

На сколько я знаю групп в справочнике единиц нету, но проверку в функции на всякий случай оставил.

Почему после создания СОМОбьекта и подключения к нему нету доступа к справочникам 1С? Например, в вашем же коде:

var Offerings = C1.Справочники.Номенклатура; - undefined.

А инициализация объекта точно прошла нормально? И еще, каким образом инициализировали объект? Как Application или как COMConnector?

Пробовал оба варианты.
C1.Справочники - работает. C1.Справочники.Номенклатура - нет.
Я и выборку пробовал делать из Клиентов. Результат "Таблица не найдена Справочники.Клиенты".

function dataload()
{
	var v8=new ActiveXObject("V81.COMConnector");
	path='E:\\1C\\DB';
	db='TEST';
	user='user1';
	password='123456789a';
	conn = v8.Connect("File=\""+path+""\"";Ref=\""""+db+""\"";Usr=\""""+user+""\"";Pwd=\""""+password+""\"";"");;  

С русскими названиями можно работать только если инициализировали объект Application. Если работа идет с COMConnector, то там все интерфейсы, все процедуры и объекты называются по английски, это надо смотреть SDK по COM-объекту 1С.

По поводу справочников, их правильное название лучше смотреть в самой 1С, например, в конфигураторе.

В тексте указанном выше есть строка
"tab = conn.Справочники.Клиенты;"

У нас в 1С такого справочника нет, есть справочник "Контрагенты".

Большое спасибо! Уже работает.

А почему не работало? :wink:

--
www.it-sfera.com.ua

В приведенным скрипте "ИЗ Справочники.Клиенты" - не верно. Верно"ИЗ Справочник.Клиенты" :smile:

И при работе с V81.Application надо было обращаться к самому объекту Application. Я обращался к Connect как в V81.COMConnector.
Но теперь я во всем разобрался :smile:

P.S. У меня через COMConnector работают процедуры и объекты на русском.

"Домброва Михаил" написал:У меня через COMConnector работают процедуры и объекты на русском.

Странно, а у меня ни в какую не захотел по-русски. Или там написание отличается?

Работает:

function dataload()
{
	var v8=new ActiveXObject("V81.COMConnector");
	connection = v8.Connect("File=\"E:\\1C\\DB\"";"");  

Да. Совершенно верно, я понял свою ошибку. Я к КомКоннектору обращался как объекту самому, а не к Коннекту.

Для работы с СОМ объектом 1С, сама 1С должна быть установлена у меня на компьютере? Или всё таки можно только зарегистрировать сам объект, который лежит где-то на сервере 1С?

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