|
v8: 8.3 Внешние источники из другой базы 1С, IdRef - поиск по этому полю |
☑ |
0
RomaH
naïve
17.04.14
✎
11:54
|
Подключил таблицу подразделений из ЗУП к БП
надо искать родителя
кроме как по ГУИД вроде никак
ГУИД - двоичные данные
добавил поле типа строка 32, но со ссылкой на это поле в источнике
не ищет
как найти по ГУИД во внешнем источнике?
|
|
1
RomaH
naïve
17.04.14
✎
11:57
|
|
|
2
RomaH
naïve
17.04.14
✎
12:04
|
хм
это ГУИН выраженый в строку в запросе
и как искать по ГУИД
|
|
3
IKSparrow
17.04.14
✎
12:09
|
(0) Интересное применение. Права не имел так делать согласно лицензионному :)
|
|
4
RomaH
naïve
17.04.14
✎
12:15
|
блин, неужели только так:
Запрос.Текст =
"ВЫБРАТЬ
| ПодразделенияОрганизаций.Код,
| ПодразделенияОрганизаций.ГУИН,
| ПодразделенияОрганизаций.ГУИНРодитель
|ИЗ
| ВнешнийИсточникДанных.ЗУП.Таблица.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
|";
ВнешнееПодразделение = Запрос.Выполнить().Выбрать();
Пока ВнешнееПодразделение.Следующий() Цикл
Если ВнешнееПодразделение.ГУИН = "91F0000423BA5CB811DF09877A019244" Тогда
Прервать;
КонецЕсли;
КонецЦикла;
|
|
5
mehfk
17.04.14
✎
12:36
|
Использовать ADO не предлагать?
substring(sys.fn_sqlvarbasetostr(_IDRRef),3,32) AS _IDRRef
Только символы местами переставить
|
|
6
RomaH
naïve
17.04.14
✎
12:46
|
(5) я тут со "штатными" внешними источниками борюсь
это ADO именно к таблице ВИ можно прикрутить - тогда как?
|
|
7
mehfk
17.04.14
✎
12:47
|
ADO вместо ВИ
|
|
8
RomaH
naïve
17.04.14
✎
12:50
|
(7) это будет не спортивно
блин, этот внешний источник даже по коду не ищет
запрос ищет, а метод найти по полю возвращает "Объект не найден ..."
вот такое вот извращаение:
ну ладно с ГУИД - я понимаю, там преобразование "сложное"
но тут-то что?
Функция НайтиПоКодуВЗУП(КодПодразделенияЗУП)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Код",КодПодразделенияЗУП);
Запрос.Текст =
"ВЫБРАТЬ
| ПодразделенияОрганизаций.Код,
| ПодразделенияОрганизаций.ГУИН,
| ПодразделенияОрганизаций.ГУИНРодитель,
| ПодразделенияОрганизаций.КодПоОКАТО,
| ПодразделенияОрганизаций.КПП,
| ПодразделенияОрганизаций.ОКТМО,
| ПодразделенияОрганизаций.НаименованиеПолное,
| ПодразделенияОрганизаций.Наименование
|ИЗ
| ВнешнийИсточникДанных.ЗУП.Таблица.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
|ГДЕ
| ПодразделенияОрганизаций.Код = &Код";
ВнешнееПодразделение = Запрос.Выполнить().Выбрать();
Если Не ВнешнееПодразделение.Следующий() Тогда
Возврат ВнешниеИсточникиДанных.ЗУП.Таблицы.ПодразделенияОрганизаций.ПустаяСсылка();
КонецЕсли;
Возврат ВнешнееПодразделение;
КонецФункции
Процедура СоздатьПодразделениеИзЗУП(КодПодразделенияЗУП)
//ВнешнееПодразделение = ВнешниеИсточникиДанных.ЗУП.Таблицы.ПодразделенияОрганизаций.НайтиПоПолю("Код",КодПодразделенияЗУП);
ВнешнееПодразделение = НайтиПоКодуВЗУП(КодПодразделенияЗУП);
|
|
9
mehfk
17.04.14
✎
12:59
|
попробуй Подобно вместо =
|
|