|
КД, параметр в произвольном запросе | ☑ | ||
---|---|---|---|---|
0
vde69
27.08.12
✎
16:57
|
делаю правило выгрузки для справочника ГруппыПользователей, Необходимо выгружать только те которые есть в реквизитах другого справочника, но при этом нужно регистрировать изменение ТЧ пользователи.
Включил ГруппыПользователей в план обмена установил "произвольный запрос" Запрос = Новый Запрос(" |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЦФО.ГруппаДоступа |ИЗ | Справочник.ЦФО КАК ЦФО |ГДЕ | ЦФО.ГруппаДоступа В(&ГруппаДоступа)" |"); ВыборкаДанных = Запрос.Выполнить(); но не пойму как список из плана обмена запихать в параметр запроса |
|||
1
vde69
28.08.12
✎
08:04
|
ап
|
|||
2
Рэйв
28.08.12
✎
08:08
|
А напрямую недоступен? Пробовал?
|
|||
3
andrewks
28.08.12
✎
08:09
|
а что за хитрая строчка
|<"); ? |
|||
4
vde69
28.08.12
✎
08:12
|
(3) это опечатка
(2) что именно напрямую? понятно как сделать проверку для одного элемента, но у меня много их, хочу именно выборку делать с проверкой. |
|||
5
Рэйв
28.08.12
✎
08:17
|
(4)Если узел плана доступен при обмене, то почему бы из него и не взять нужный список для запроса.
|
|||
6
vde69
28.08.12
✎
08:23
|
(5) мы говорим о "конвертация данных", никакой информации (кроме помощи по обработчикам) что и как будет обрабатыватся - нет
в указаной помощи ответа я не нашел копатся в обработке обмена по правилам КД геморно |
|||
7
andrewks
28.08.12
✎
08:25
|
"Необходимо выгружать только те которые есть в реквизитах другого справочника" можно поподробнее?
что мешает сделать запрос, выбирающий "только те которые есть в реквизитах другого справочника" ? |
|||
8
vde69
28.08.12
✎
08:27
|
(7) запрос я привел в (0), я выгружаю только те группы доступа которые
(ИЗМЕНИЛИСЬ и ОтвечаютЗаДоступК_ЦФО) |
|||
9
SergeyKB
28.08.12
✎
08:27
|
а так получить список измененных по узлу ?
ВЫБРАТЬ ГруппыПользователейИзменения.Ссылка ИЗ Справочник.ГруппыПользователей.Изменения КАК ГруппыПользователейИзменения |
|||
10
sttt
28.08.12
✎
08:35
|
а так:
Запрос = Новый Запрос(" |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЦФО.ГруппаДоступа |ИЗ | Справочник.ЦФО КАК ЦФО |ГДЕ | ЦФО.ГруппаДоступа В(ВЫБРАТЬ ГруппаДоступа.Ссылка ИЗ Справочник.ГруппаДоступа)" |<"); ВыборкаДанных = Запрос.Выполнить(); откуда список берется? |
|||
11
sttt
28.08.12
✎
08:38
|
кажись понял. выбирать только измененные из ГруппаДоступа, тогда в (9)
|
|||
12
vde69
28.08.12
✎
08:47
|
можно сделать так
ИсходящиеДанные = Новый Структура; Запрос = Новый Запрос(" |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЦФО.ГруппаДоступа |ИЗ | Справочник.ЦФО КАК ЦФО" |"); мМассив = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ГруппаДоступа"); ИсходящиеДанные.Вставить("ВыгрузкаПоРегистрацииИзменений", Истина); ИсходящиеДанные.Вставить("МассивГруппОбмена", мМассив); а в правиле конвертации Если ТипЗнч(ИсходящиеДанные) = Тип("Структура") Тогда мВыгрузкаПоРегистрацииИзменений = Неопределено; мМассивГруппОбмена = Неопределено; ИсходящиеДанные.Свойство("ВыгрузкаПоРегистрацииИзменений", мВыгрузкаПоРегистрацииИзменений); ИсходящиеДанные.Свойство("МассивГруппОбмена", мМассивГруппОбмена); Если (мВыгрузкаПоРегистрацииИзменений = Истина) и (ТипЗнч(мМассивГруппОбмена) = Тип("Массив")) Тогда Если мМассивГруппОбмена.Найти(Источник.Ссылка) = Неопределено Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецЕсли; |
|||
13
vde69
28.08.12
✎
08:48
|
(9) а это работает?
|
|||
14
SergeyKB
28.08.12
✎
09:04
|
(13)
Получить список измененных элементов справочника да, работает, а почему нет, это ведль платформенная вещь ... Что касается выгрузки только измененных, то в рамках типовой, если пользоваться универсальной выгрузкой, то при выгрузке в разделе Выгружаемые данные, для каждого выгружаемого объекта, можно указать узел обмена, и тогда выгрузятся только те, что зарегены для обмена (т.е были изменены ... если авторегистрация изменений) но понятно, что без оглядок на наличие в ЦФО |
|||
15
vde69
28.08.12
✎
09:19
|
пока сделал так (вроде что-то выгружает, потестю)
Запрос = Новый Запрос( "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЦФО.ГруппаДоступа |ИЗ | Справочник.ЦФО КАК ЦФО |ГДЕ | ЦФО.ГруппаДоступа.Ссылка В | (ВЫБРАТЬ | ГруппыПользователейИзменения.Ссылка | ИЗ | Справочник.ГруппыПользователей.Изменения КАК ГруппыПользователейИзменения) |"); ВыборкаДанных = Запрос.Выполнить(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |