Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм (число прочтений - 6996 )
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #15 - 30. Мая 2009 :: 04:34
Печать  
alexdd писал(а) 29. Мая 2009 :: 13:19:
может чего-то не понял, но зачем тут иерархические запросы?
Если базы на одном сервере и справочники не очень большие, то собсно достаточно 2х запросов.
...

Спасибо, содержательный ответ! Практически все ясно уже.
Вот только ткните меня, плз, в пример подключения двух SQL баз одновременно.  Чтобы в одном запросе можно было оперировать.
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #16 - 30. Мая 2009 :: 05:32
Печать  
w202 писал(а) 30. Мая 2009 :: 04:34:
Спасибо, содержательный ответ! Практически все ясно уже.
Вот только ткните меня, плз, в пример подключения двух SQL баз одновременно.  Чтобы в одном запросе можно было оперировать.

Если у текущего SQL-логина, с которым работает 1С-ка есть доступ к базе NewBase, то
select * from NewBase.dbo.NewTable сформирует выборку из базы NewBase из таблицы NewTable
  
Наверх
ICQ  
IP записан
 
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #17 - 30. Мая 2009 :: 10:43
Печать  
А какие нужно обыгрывать "нюансы" при записи в справочник с помощью INSERT?
- отборы, это понятно, отборов нет.
-???
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #18 - 30. Мая 2009 :: 11:52
Печать  
А что с отборами?

1. После импорта новых прописать maxId в _1suidctl, чтобы все было правильноУлыбка. Новые элементы не создаются на приемнике? Если создаются, при такой синхронизации получится каша.
2. В справочнике есть ссылки на другие объекты(справочники/документы/перечисление и тд)? Если есть, их тоже придется синхронизировать
  
Наверх
 
IP записан
 
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #19 - 05. Июня 2009 :: 09:02
Печать  
Решил в приемнике добавлять/изменять записи средствами SQL, не столько по необходимости, а чтобы освоиться с функционалом Улыбка
средствами 1с добавляться в приемнике записи не будут, соответсвенно источник.ID=приемник.ID

пока пытаюсь получить список добавленных элементов, запрос простейший, НО ругается на синтаксис ISNULL
Функции isnull необходимо 2 аргументов
Код
Выбрать все
ТекстЗапроса = "
|SELECT
|      Источник.ID            as Источник_ИД,
|      Источник.Code          as Источник_Код,
|      Источник.Descr         as Источник_Наим
|FROM
|      OKK.dbo.sc172 as Источник
|LEFT  JOIN APLUS.dbo.sc57 as Приемник ON Источник.ID =Приемник.ID
|WHERE ISNULL(Приемник.ID)";
 


синтаксис с мануала: ISNULL (v) 1, если v имеет значение "пусто" (NULL)  0, в противном случае
так с какого спрашивается такая ошибка???? такое впечатление что путает команду с iFnull (v1, v2)  Улыбка

Вообще не понимаю в чем дело. Поможите?
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #20 - 05. Июня 2009 :: 09:11
Печать  
это с какого мануала такой синтаксис?Улыбка

ISNULL ( check_expression , replacement_value )



  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #21 - 05. Июня 2009 :: 09:13
Печать  
зы: а вообще там нужно написать where Приемник.ID is null
  
Наверх
 
IP записан
 
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #22 - 05. Июня 2009 :: 14:43
Печать  
alexdd писал(а) 05. Июня 2009 :: 09:11:
это с какого мануала такой синтаксис?Улыбка

ISNULL ( check_expression , replacement_value )



нарыл в интернете, да и выше такой синтаксис в советах  Улыбка
cсылкой на "правильный" синтаксис не поделитесь?
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #23 - 05. Июня 2009 :: 14:46
Печать  
тынц, а вообще BOL открыть, там же все есть
  
Наверх
 
IP записан
 
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #24 - 05. Июня 2009 :: 15:33
Печать  
alexdd писал(а) 05. Июня 2009 :: 14:46:
тынц, а вообще BOL открыть, там же все есть

глянул, уяснил, сделал закладку Улыбка
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #25 - 08. Июня 2009 :: 04:40
Печать  
Синтаксис, который я приводил у меня работает для Foxpro. Извиняюсь, если ввел в заблуждение.
  

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #26 - 08. Июня 2009 :: 04:55
Печать  
w202 писал(а) 05. Июня 2009 :: 09:02:
Решил в приемнике добавлять/изменять записи средствами SQL, не столько по необходимости, а чтобы освоиться с функционалом Улыбка
средствами 1с добавляться в приемнике записи не будут, соответсвенно источник.ID=приемник.ID

пока пытаюсь получить список добавленных элементов, запрос простейший, НО ругается на синтаксис ISNULL
Функции isnull необходимо 2 аргументов
Код
Выбрать все
ТекстЗапроса = "
|SELECT
|      Источник.ID            as Источник_ИД,
|      Источник.Code          as Источник_Код,
|      Источник.Descr         as Источник_Наим
|FROM
|      OKK.dbo.sc172 as Источник
|LEFT  JOIN APLUS.dbo.sc57 as Приемник ON Источник.ID =Приемник.ID
|WHERE ISNULL(Приемник.ID)";
 


синтаксис с мануала: ISNULL (v) 1, если v имеет значение "пусто" (NULL)  0, в противном случае
так с какого спрашивается такая ошибка???? такое впечатление что путает команду с iFnull (v1, v2)  Улыбка

Вообще не понимаю в чем дело. Поможите?


Код
Выбрать все
WHERE Приемник.ID IS NULL 


  
Наверх
 
IP записан
 
w202
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 18
Зарегистрирован: 28. Мая 2009
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #27 - 08. Июня 2009 :: 10:33
Печать  
Alex_Bob писал(а) 08. Июня 2009 :: 04:40:
Синтаксис, который я приводил у меня работает для Foxpro. Извиняюсь, если ввел в заблуждение.

все равно спасибо, подтолкнули с пути копи-паста на путь изучения  Улыбка
  
Наверх
 
IP записан
 
Antes
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 57
Зарегистрирован: 17. Октября 2008
Re: офф/2 Синхронизация многоуровнего справочника. Предлагаю обсудить алгоритм
Ответ #28 - 10. Августа 2009 :: 13:55
Печать  
Есть одна обработка по синхронизации. Под SQL работает, проверено. Под dbf немного тестилась, т.к. постоянно используется под SQL.
« Последняя редакция: 11. Августа 2009 :: 13:45 - Antes »  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать