|  25.03.2005, 13:56 | #1 | 
| Участник | 
			
			Добрый день! Пытаюсь через ADO из-под 1С подключиться к Навижновской базе. Создал udl-файл. Подключился, структуру таблиц базы увидел. А все запросы выдают ошибку... Например: SELECT * FROM Currency; Результат: Microsoft OLE DB Provider for ODBC Drivers: [Navision Software a/s][Navision Financials ODBC Driver]Table does not exists Не подскажете, в чем может быть проблема? | 
|  | 
|  25.03.2005, 17:06 | #2 | 
| Участник | 
			
			Причем подключаясь к навижну через аксесс все запросы работают...
		 | 
|  | 
|  25.07.2005, 15:23 | #3 | 
| Участник | Цитата: 
		
			Сообщение от DimCorso
			
			 Добрый день! Пытаюсь через ADO из-под 1С подключиться к Навижновской базе. Создал udl-файл. Подключился, структуру таблиц базы увидел. А все запросы выдают ошибку... Например: SELECT * FROM Currency; Результат: Microsoft OLE DB Provider for ODBC Drivers: [Navision Software a/s][Navision Financials ODBC Driver]Table does not exists Не подскажете, в чем может быть проблема? зачем udl файл? <div class='v7top'>1Cv7</div><div class='v7'> Соединение=СоздатьОбъект("ADODB.Connection"); СтрокаКоннекта="driver={SQL Server};server=sql;uid=sa;pwd=пароль;Database=navision"; Соединение.ConnectionTimeOut=200; Соединение.CursorLocation=3; Попытка  Соединение.Open(СтрокаКоннекта); Исключение  Предупреждение("Невозможно установить соединение с базой данных!");  Возврат 0; КонецПопытки;</div> Да и Navision дает имена таблицам по шаблону ИмяФирмы$ИмяТаблицыИзДизайнера. Кусок из 1С ки: <div class='v7top'>1Cv7</div><div class='v7'> Функция ТипПараметра(SQLStrType )  Экспорт  Тип = НРег(SQLStrType);  Если Тип = "empty" тогда Возврат 0;  иначеесли Тип = "boolean" тогда Возврат 11;  иначеесли Тип = "integer" тогда Возврат 3;  иначеесли Тип = "int" тогда Возврат 3;  иначеесли Тип = "tinyint" тогда Возврат 16;  иначеесли Тип = "smallint" тогда Возврат 2;  иначеесли Тип = "bigint" тогда Возврат 20;  иначеесли Тип = "numeric" тогда Возврат 131;      иначеесли Тип = "double" тогда Возврат 5;      иначеесли Тип = "date" тогда Возврат 7;      иначеесли Тип = "char" тогда Возврат 129;  иначеесли Тип = "varchar" тогда Возврат 200;      иначеесли Тип = "unsignedtinyint" тогда Возврат   17;  иначеесли Тип = "unsignedsmallint" тогда Возврат  18;  иначеесли Тип = "unsignedint" тогда Возврат 19;  иначеесли Тип = "unsignedbigint" тогда Возврат   21;  иначеесли Тип = "single" тогда Возврат 4;  иначеесли Тип = "currency" тогда Возврат 6;  иначеесли Тип = "decimal" тогда Возврат 14;  иначеесли Тип = "error" тогда Возврат 10;  иначеесли Тип = "userdefined" тогда Возврат 132;  иначеесли Тип = "variant" тогда Возврат 12;  иначеесли Тип = "idispatch" тогда Возврат 9;  иначеесли Тип = "iunknown" тогда Возврат 13;  иначеесли Тип = "guid" тогда Возврат 72;  иначеесли Тип = "dbdate" тогда Возврат 133;  иначеесли Тип = "dbtime" тогда Возврат 134;  иначеесли Тип = "dbtimestamp" тогда Возврат 135;  иначеесли Тип = "bstr" тогда Возврат 8;  иначеесли Тип = "longvarchar" тогда Возврат 201;  иначеесли Тип = "wchar" тогда Возврат 130;  иначеесли Тип = "varwchar" тогда Возврат 202;  иначеесли Тип = "longvarwchar" тогда Возврат 203;  иначеесли Тип = "binary" тогда Возврат 128;  иначеесли Тип = "varbinary" тогда Возврат 204;  иначеесли Тип = "longvarbinary" тогда Возврат   205;  иначе возврат 0;  конецесли; КонецФункции Процедура ДалаемСклоненияВЕбижене()     ИмяТаблицы="KadrTabSklon";     ТекстЗапроса="SELECT Tip,Name,Flzap FROM ["+ИмяБазы+ИмяТаблицы+"] ";     Запрос=СкомпилироватьЗапрос(Соединение,ТекстЗапроса);       ТекстОбновления="UPDATE ["+ИмяБазы+ИмяТаблицы+"] SET NameD=?, NameV=?, NameT=?, Flzap=0 WHERE Tip=? AND Name=?";     ЗапросОбновления=СкомпилироватьЗапрос(Соединение,ТекстОбновления);       NameD=ЗапросОбновления.CreateParameter("P1", ТипПараметра("Char"), input,240);     NameV=ЗапросОбновления.CreateParameter("P2", ТипПараметра("Char"), input,240);     NameT=ЗапросОбновления.CreateParameter("P3", ТипПараметра("Char"), input,240);     Tip=ЗапросОбновления.CreateParameter("P4", ТипПараметра("Integer"), input,);     Name=ЗапросОбновления.CreateParameter("P5", ТипПараметра("Char"), input,240);         ЗапросОбновления.Parameters.Append(NameD);     ЗапросОбновления.Parameters.Append(NameV);     ЗапросОбновления.Parameters.Append(NameT);     ЗапросОбновления.Parameters.Append(Tip);     ЗапросОбновления.Parameters.Append(Name);       НаборЗаписей=Запрос.Execute();       Если НаборЗаписей.EOF() = 0 Тогда       НаборЗаписей.MoveFirst();           Пока НаборЗаписей.EOF() = 0 Цикл        Тип=Число(НаборЗаписей.Fields(0).Value);        Стр=СокрЛП(НаборЗаписей.Fields(1).Value);      ФлагЗаполнения=НаборЗаписей.Fields(2).Value;   ...  и т.д.   Если ..    ЗапросОбновления.Execute();   КонецЕсли;      НаборЗаписей.MoveNext();       КонецЦикла;    </div> и т.п. | 
|  | 
|  25.07.2005, 15:36 | #4 | 
| Участник | 
			
			Glazz что за "Ебижен" ? наезд или повод для драки?   | 
|  | 
|  25.07.2005, 16:07 | #5 | 
| NavAx | 
			
			Па-любому наезд пацаны!
		 
				__________________ "Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери | 
|  | 
|  25.07.2005, 16:09 | #6 | 
| Участник | 
			
			Спокойствие, только спокойствие. Не надо религиозных войн... | 
|  | 
|  05.08.2005, 11:21 | #7 | 
| Участник | 
			
			Есть AddOn к Navision - XML-DEM, с помощью его можно организовывать выгрузку и загрузку в XML формате. Для него созданы шаблоны обмена с разными программами, в том числе есть и для 1С. В отличии от работы напрямую с базой в XML-DEM при импорте можно выполнять триггеры OnInsert, Validate тем самым поддерживая целостность данных без особых затрат. Настраивается все легко.  Пдробнее http://www.pbiz.ru/DEM/navision_1s/navision_1s.htm | 
|  | 
|  25.08.2005, 18:09 | #8 | 
| Участник |   
			
			У нас есть задача по ежедневному обмену торговыми документами между Navision и 1С Бухгалтерия. С помощью ADO реализовать это очень сложно. Какие еще есть варианты интеграции? Кто-нибудь уже работал с XML-DEM, насколько сложно самостоятельно его настроить?
		 | 
|  | 
|  26.08.2005, 12:05 | #9 | 
| Moderator | 
			
			Обмен XML-файлами сделать очень просто, но трудоемко (разные варианты обработки документов). Производительность хорошая.
		 | 
|  | 
|  26.08.2005, 13:30 | #10 | 
| Участник | 
			
			Я делал на одном из проектов (розница) передачу данных из Navision в 1С Передавали документы закупки и реализации. Выгрузка - тектовый файл загрузка в 1С - обработчик текстового файла, вроде нормально работает, да в принципе и разработка то не сложная совсем | 
|  | 
|  29.08.2005, 15:36 | #11 | 
| Участник | 
			
			Нам надо в процессе обмена, при создании нового документа в 1с, автоматически создавать как новых контрагентов, так и  новые товары, если их еще нет в системе, соответственно данные по ним надо выгружать из Navision. Причем всех контрагентов и товары не надо, а только тех, которые есть в передаваемых документах. Если настраивать это через текстовые файлы, мне кажется, очень сложно будет. Для каждого элемента в файлах обмена надо будет писать свой код сохранения, поиска и выборки данных. XML в этом случае выглядит более удобным форматом.  To Dzemon: Что значит «сделать очень просто, но трудоемко»? Можно поподробнее? Поделитесь опытом, пожалуйста. | 
|  | 
|  29.08.2005, 16:51 | #12 | 
| Moderator | 
			
			Это значит, что логика процесса довольно простая, но нужно обработать критические ситуации, проверку/поиск документов и справочников. Много кода получается.
		 | 
|  | 
|  30.08.2005, 10:57 | #13 | 
| Участник | 
			
			**** Удалено на основании пункта 4.7 правил ****
		 | 
|  | 
|  30.08.2005, 11:01 | #14 | 
| Участник | 
			
			SergH, реклама допустима ТОЛЬКО в разделе Коммерческие предложения! Если есть желание расскажите здесь о вашем решении. Расскажите какие принципы заложены, какие функции есть. Но коммерческая реклама только в соответствующем разделе. | 
|  | 
|  02.09.2005, 18:24 | #15 | 
| Участник | 
			
			To Mazzy: В разделе коммерческие предложения размещено описание универсального решения по обмену данными. Коммерческие предложения To Che: Задача о которой Вы пишете, может быть решена достаточно легко с помощью инструмента XML-DEM для Navision и Менеджера Обмена Данными (МОД) для программы 1С. Оба этих инструмента поддерживают выгрузку и загрузку связанных данных, т.е., например, заказа продажи в виде шапки и табличной части и всех необходимых данных из таблиц, на которые есть ссылки: Клиент, Адреса Доставки, Товары, Единицы измерения и пр. При этом предусматривается синхронизация уже имеющихся данных по уникальным реквизитам, т.е. запись добавляется только в том случае, если она отсутствует в системе, если запись уже есть, то обновляются данные в этой записи. Все это настраивается легко, не прибегая к программированию. В XML-DEM уже есть готовый шаблон для выгрузки из Navision Заказа Продажи и загрузки его в 1С в виде Расходной Накладной. Его можно использовать для дальнейшей настройки применительно к Вашим условиям. | 
|  |