|
КД 2.1 - Не отрабатывает ПВД | ☑ | ||
---|---|---|---|---|
0
YurAnt
12.11.14
✎
12:03
|
Доброго времени суток, господа-форумчане.
Не так часто (как хотелось бы) сталкиваюсь с конвертацией данных. Возник вот такой вопрос: КД 2.1, переписанные v7.7 1) Источник - ТиС 9.2 2) Приемник - БУ 4.5 При попытке выгрузить значения перечисления в элементы справочника, даже не попадаю в процедуру выгрузки. http://savepic.su/4409520.png http://savepic.su/4407472.png Собственно не могу разобраться, то ли я что-то забыл (все таки с конвертацией сталкиваюсь раз в полгода если придется) то ли чего-то недопонимаю. Написал, сохранил правила в файл, галки на выгрузку модулей выгрузки/загрузки для 7 стоят. Выгрузил, заменил код. На отладке http://savepic.su/4402352.png в процедуру с этим "фывфыв" даже не попадает. В глубоких раздумиях... С уважением, YurAnt. |
|||
1
YurAnt
12.11.14
✎
12:07
|
*в функцию с этим "фывфыв" даже не попадает.*
|
|||
2
YurAnt
12.11.14
✎
12:30
|
В обработке выгрузки (код которой формируется автоматом в КДшке) в процедуре:
(в нижеприкрепленной промокашке - в условии Правило.СпособОтбораДанных = "СтандартнаяВыборка" отсутствует тип Перечисления как таковой) Процедура ВыгрузкаОбъектаВыборки(Объект, Правило, ВходящиеДанные) методом отладки и тыка нашел вот такой кусок. // Выборка данных Если Правило.СпособОтбораДанных = "СтандартнаяВыборка" Тогда ЕстьОтбор = 0; Если ТипЗначенияСтр(мТаблицаПравилВыгрузки.Отбор) = "ТаблицаЗначений" Тогда мТаблицаПравилВыгрузки.Отбор.ВыбратьСтроки(); Пока мТаблицаПравилВыгрузки.Отбор.ПолучитьСтроку() = 1 Цикл Если (мТаблицаПравилВыгрузки.Отбор.Использовать = 2) И (ПустаяСтрока(мТаблицаПравилВыгрузки.Отбор.ПолеОтбора)=0) Тогда ЕстьОтбор = 1; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; ОбъектВыборки = СтрЗаменить(Правило.ОбъектВыборки, "Ссылка", ""); ИмяТипа = Лев(ОбъектВыборки, Найти(ОбъектВыборки, ".") - 1); Если ЕстьОтбор = 1 Тогда Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = СоздатьЗапрос(ОбъектВыборки, мТаблицаПравилВыгрузки.Отбор); Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Сообщить("Ошибка при выполнении запроса для отбора данных по правилу " + мТаблицаПравилВыгрузки.Наименование,"!"); Сообщить("Выгрузка данных по этому правилу не проведена!","!"); Возврат; КонецЕсли; Пока Запрос.Группировка("ПеремОбъект") = 1 Цикл ВыгрузкаОбъектаВыборки(Запрос.ПеремОбъект, Правило, ИсходящиеДанные); КонецЦикла; Иначе Если ИмяТипа = "Справочник" Тогда Выборка = СоздатьОбъект(ОбъектВыборки); Выборка.ВыбратьЭлементы(0); Пока Выборка.ПолучитьЭлемент() > 0 Цикл ВыгрузкаОбъектаВыборки(Выборка.ТекущийЭлемент(), Правило, ИсходящиеДанные); КонецЦикла; ИначеЕсли ИмяТипа = "Документ" Тогда Выборка = СоздатьОбъект(ОбъектВыборки); Выборка.ВыбратьДокументы(ДатаНачала, ДатаОкончания); Пока Выборка.ПолучитьДокумент() > 0 Цикл ВыгрузкаОбъектаВыборки(Выборка.ТекущийДокумент(), Правило, ИсходящиеДанные); КонецЦикла; ИначеЕсли ОбъектВыборки = "КонстантыНабор" Тогда ВыгрузкаОбъектаВыборки(Константа, Правило, ИсходящиеДанные); ИначеЕсли ИмяТипа = "ПланСчетов" Тогда Возврат; Иначе Возврат; КонецЕсли; КонецЕсли; ИначеЕсли Правило.СпособОтбораДанных = "ПроизвольныйАлгоритм" Тогда Если ПустоеЗначение(ВыборкаДанных) = 0 Тогда Если ТипЗначенияСтр(ВыборкаДанных) = "ТаблицаЗначений" Тогда ВыборкаДанных.ВыбратьСтроки(); Пока ВыборкаДанных.ПолучитьСтроку() > 0 Цикл ВыборкаДанных.ТекущаяСтрока(ВыборкаДанных.НомерСтроки); ВыгрузкаОбъектаВыборки(ВыборкаДанных, Правило, ИсходящиеДанные); КонецЦикла; ИначеЕсли ТипЗначенияСтр(ВыборкаДанных) = "СписокЗначений" Тогда СчетчикЦикла = 0; Для СчетчикЦикла = 1 По ВыборкаДанных.РазмерСписка() Цикл ОбъектДляВыгрузки = ВыборкаДанных.ПолучитьЗначение(СчетчикЦикла); ВыгрузкаОбъектаВыборки(ОбъектДляВыгрузки, Правило, ИсходящиеДанные); КонецЦикла; Иначе Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; КонецЕсли; |
|||
3
YurAnt
12.11.14
✎
12:32
|
Вот собственно не пойму почему?
что-то в КДхе не дописал? аль её там по дефолту нет? полагаю перечисления в 7ке люди ж перебрасывали... и, судя по отсутствию топиков на эту тему - успешно. |
|||
4
YurAnt
12.11.14
✎
12:44
|
действительно)
медленно до меня начало доходить :D что перечисления мы создаем из конфигуратора... и прграрммная попытка их создания вызывает краш) По итогам общения с самим собой прихожу к выводу, что "у меня яркая форма шизы" (зачеркнуто) придется прогарммно вносить все перечисления руками в конфу приемник, и настраивать правила соответствия перечислений в реквизитах доков. вроде бы так. поправьте если ошибаюсь. С уважением, YurAnt |
|||
5
YurAnt
12.11.14
✎
12:46
|
PS: Миста - это такое волшебное место, которое позволяет привести мысли в порядок)
|
|||
6
Defender aka LINN
12.11.14
✎
12:46
|
А ты Стандартную выборку из принципа убирать не будешь, да?
|
|||
7
Naumov
12.11.14
✎
12:47
|
какой ПВД для перечисления? ты их специально выгружаешь?
Если ПКО отрабатывается по ссылке, то ПВД не при чем. |
|||
8
YurAnt
12.11.14
✎
12:52
|
так. стоп. сам себя уже запутал.
выгружем мы в справочник, т.е. пргарммным созданием порядок. благодарю вас, Defender aka LINN, намек понял. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |