|
Конвертация данных | ☑ | ||
---|---|---|---|---|
0
DenV77
24.08.12
✎
10:35
|
Подскажите, пожалуйста, кто пользовался произвольными алгоритмами при выгрузке данных.
Т.е. в правилах выгрузки установил вместо «Стандартная выборка» значение «Произвольный алгоритм». В обработчике ПВД «Перед обработкой» создал запрос и выполнил его. Присвоил результат параметру «ВыборкаДанных». Как и написано в информации по обрабочикам. Но не работает. Что не так сделал? По стандартной выборке выгружает т.е. правило само рабочее. |
|||
1
Ursus maritimus
24.08.12
✎
10:36
|
ВыгрузитьПоПравилу() юзай
|
|||
2
DenV77
24.08.12
✎
10:39
|
Спасибо
|
|||
3
DenV77
24.08.12
✎
10:41
|
По ВыгрузитьПоПравилу все ок
А это что тогда...... ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов. Используется, когда способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически |
|||
4
Ursus maritimus
24.08.12
✎
10:44
|
(3) Скорее всего должен быть не рез. запроса а выборка.
т.е не Запрос.Выполнить(), а Запрос.Выполнить().Выбрать() |
|||
5
luckyluke
24.08.12
✎
10:46
|
(0) ПКО в ПВД указал?
|
|||
6
DenV77
24.08.12
✎
10:49
|
(5)Конечно
(4)По всякому пробовал и просто запрос и так Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.Контрагент КАК Контрагент |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.Оборудование)"; Результат = Запрос.Выполнить(); ВыборкаДанных = Результат.Выбрать(); |
|||
7
Ursus maritimus
24.08.12
✎
10:51
|
Попробуй ПоступлениеТоваровУслуг.Контрагент КАК Ссылка
|
|||
8
DenV77
24.08.12
✎
10:51
|
Выгрузить по правилу оказалось самый верный путь. но это и с самого начало было ясно.
Автоматически не происходит выгрузки. Может кто видел в типовых правилах ПВД с произвольным алгоритмом. Просто интересно. |
|||
9
Ursus maritimus
24.08.12
✎
10:51
|
(7) А вообще в отладчик
|
|||
10
luckyluke
24.08.12
✎
10:52
|
(6) А у твоего ПКО что, только одно ПКС Контрагент?
|
|||
11
DenV77
24.08.12
✎
10:54
|
Ошибка получения значения свойства объекта (по имени свойства источника)
ПКО = Контрагенты (Справочник: Контрагенты) ПКС = 1 (Код --> Код) Объект = (Выборка из результата запроса) СвойствоПриемника = Код (Строка) ОписаниеОшибки = Поле объекта не обнаружено (Ко |
|||
12
luckyluke
24.08.12
✎
10:54
|
+(10) в ВыборкаДанных ты должен передавать коллекцию, у которой колонки должны соответствовать ПКС.
|
|||
13
luckyluke
24.08.12
✎
10:56
|
(11) Попробуй так:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.Контрагент.* |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.Оборудование)"; Результат = Запрос.Выполнить(); ВыборкаДанных = Результат.Выбрать(); |
|||
14
luckyluke
24.08.12
✎
10:58
|
(13) Сморозил я что-то не то. В общем выбери все свойства контрагента, которые ты собираешься передавать в ПКО.
|
|||
15
DenV77
24.08.12
✎
11:00
|
Пробовал в запрос все что в ПКС вытягивать и передавать в ТЗ просто попробовал код наименование полноеНаименование родитель
все равно не работает Это несколько геморно как то даже если заработало бы. проще выгрузить ВыгрузитьПоПравилу() Вот так как и было подсказано (1) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслуг.Контрагент КАК Контрагент |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеТоваровУслуг.Оборудование)"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ВыгрузитьПоПравилу(Выборка.Контрагент, , , , "Контрагенты"); КонецЦикла; |
|||
16
luckyluke
24.08.12
✎
11:08
|
(15) Ну так ты передаешь в ВыгрузитьПоПравилу Ссылку, а ВыборкаДанных ты должен передавать коллекцию, чтобы потом КД2 передавало в ВыгрузитьПоПравилу элемент коллекции ВыборкаДанных.
|
|||
17
DenV77
24.08.12
✎
11:18
|
Справка говорит
ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов. Пробуем Результат = Запрос.Выполнить(); ВыборкаДанных = Результат.Выбрать(); В чем не правда я не понял. Задача в принципе решена просто из любопытства найти бы как в типовых правилах от 1С. Делают они или не делают так. Скорее всего не делают Спасибо всем за проявленный интерес |
|||
18
luckyluke
24.08.12
✎
11:58
|
(17) Делают и я делал, я не понимаю, что у тебя не получается.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |