Имя: Пароль:
1C
Админ
Перенос данных из 8.2 в 7.7 проблема ...
,
0 Старый Ворчун
 
18.04.13
18:08
Все, больше нет ни сил, ни времени, помогайте други. Бьюсь над проблемой непозволительно долго, уже два дня. С переносом из 7.7 в 8.2 проблем почти не было, но вот обратный перенос... Итак:
1. Надо переносить доки из КА 8.2 в Комплексную 7.7
2. Много модифицированных и добавленных новых объектов в 7.7(зачем то). Один из них КомплектацияНоменклатуры. Его надо выгружать в 7.7 ВыпускПродукцииПоНормам - дурная попытка всунуть док из Производства. Однако они есть и на определеннный период мне надо их заполнять. Суть: Реквизиты формы 8.2 должны быть в ТабличнойЧасти 7.7 а ТабличнаяЧасть из 8.2 должна быть выгружена вообще в другой документ. Весело очень.
3. Вроде сделал все как всегда, но вылезают ошибки и все. Уж все детали алгоритма и настроек обсмотрел, и учебники по КД перечитал. Никак. Самое главное, что голова уже не соображает. Может подскажет кто то из знатоков, глянув свежим взглядом. Вот алгоритм:

ВыборкаДанных = Новый СписокЗначений;

ТабПродукция = Новый ТаблицаЗначений;
ТабПродукция.Колонки.Добавить("Продукция");
ТабПродукция.Колонки.Добавить("Серия");
ТабПродукция.Колонки.Добавить("Цена");
ТабПродукция.Колонки.Добавить("ЕдиницаИзмерения");
ТабПродукция.Колонки.Добавить("Количество");
ТабПродукция.Колонки.Добавить("Сумма");

НачДата=НачалоДня(ТекущаяДата()-(60*60*24));
КонДата=КонецДня(НачДата);

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    КомплектацияНоменклатуры.Ссылка КАК Док,
              |    КомплектацияНоменклатуры.Номер,
              |    КомплектацияНоменклатуры.Дата,
              |    КомплектацияНоменклатуры.Комментарий,
              |    КомплектацияНоменклатуры.Комплектующие.(
              |        Номенклатура,
              |        ЕдиницаИзмерения,
              |        Количество,
              |        СерияНоменклатуры,
              |        ЦенаПередачи,
              |        СуммаПередачи
              |    ) КАК ТЧ,
              |    КомплектацияНоменклатуры.Номенклатура,
              |    КомплектацияНоменклатуры.ЕдиницаИзмерения,
              |    КомплектацияНоменклатуры.Количество,
              |    КомплектацияНоменклатуры.СерияНоменклатуры,
              |    КомплектацияНоменклатуры.ЦенаПередачи,
              |    КомплектацияНоменклатуры.СуммаПередачи
              |ИЗ
              |    Документ.КомплектацияНоменклатуры КАК КомплектацияНоменклатуры
              |ГДЕ
              |    КомплектацияНоменклатуры.Дата МЕЖДУ &НачДата И &КонДата";

Запрос.УстановитьПараметр("НачДата",НачДата );
Запрос.УстановитьПараметр("КонДата",КонДата );

ТабЗапроса = Запрос.Выполнить().Выбрать();
НомерДокументаПоПорядку=1;

Пока ТабЗапроса.Следующий() Цикл
   
   Строчка=ТабПродукция.Добавить();
   Строчка.Продукция=ТабЗапроса.Номенклатура;
   Строчка.Серия=ТабЗапроса.СерияНоменклатуры;
   Строчка.Цена=ТабЗапроса.ЦенаПередачи;
   Строчка.ЕдиницаИзмерения=ТабЗапроса.ЕдиницаИзмерения;
   Строчка.Количество=ТабЗапроса.Количество;
   Строчка.Сумма=ТабЗапроса.СуммаПередачи;                    
   
   ВыборкаДанных.Добавить(Прав(ТабЗапроса.Номер,8),"НомерДок");
   ВыборкаДанных.Добавить(ТабЗапроса.Дата,"ДатаДок");
   ВыборкаДанных.Добавить("Перенос "+Строка(Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy")) + " (" + НомерДокументаПоПорядку + ")","Комментарий");
   ВыборкаДанных.Добавить(ТабПродукция,"ТабличнаяЧасть");
   
   ВыгрузитьПоПравилу(,,ВыборкаДанных,, "ВыпускПродукцииПоНормам");
   
   ТабПродукция.Очистить();
   НомерДокументаПоПорядку = НомерДокументаПоПорядку + 1;
КонецЦикла;

Каких только ошибок не вылезало. Последняя Вот что пишет:

ПКО                    =  ВыпускПродукцииПоНормам  (Документ: Комплектация номенклатуры)
   ПКС                    =  1  (--> ДатаДок)
   Объект                 =    (Не определено)
   СвойствоПриемника      =  ДатаДок  (Дата)
   ОписаниеОшибки         =  Поле объекта не обнаружено (ДатаДок)
   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8323)
   КодСообщения           =  68


Если надо, то прилеплю скриншот настроек. Но там вроде все как обычно. Получение данных из произвольного алгоритма, поиск по номеру и дате. Ну в общем очень надеюсь на вашу помощь, коллеги. Если кто то пришлет пример Правил Конвертации, пусть и по другим объектам, но из 8.2 в 7.7 для образца, буду очень благодарен. Не ругайте сильно, ну вот затупил что то, бывает ...
1 Aprobator
 
18.04.13
18:15
Может галочку забыл получать из входящих данных, раз уж 3 параметром кидаешь в ВыгрузитьПоПраивлу. Кроме того, ВыборкаДанных вроде предопределенная переменная события.
2 Старый Ворчун
 
18.04.13
18:18
Нет, галочку не забыл. В пятидесятый раз только что проверил ((( Пробовал естественно и первым параметром. Ну сам понимаешь, чего только не перепробуешь от злости. Пробовал и предопределенными переменными и произвольными. Этот вариант просто от последнего эксперимента остался.
3 Мимохожий Однако
 
18.04.13
18:20
оФФ: Сначала надо успокоиться...
4 Aprobator
 
18.04.13
18:23
Посмотри про ВыборкаДанных в событиях к ПВД, была там какая то фишка с этой переменной.
5 Aprobator
 
18.04.13
18:26
А ... реквизит формы в ТЧ! А где заполнение тч для 7 ки то? Не вижу таблицу значений отданную в элеиент списка значений "ТабличнаяЧасть"
6 Aprobator
 
18.04.13
18:28
А млин - увидел :-)
7 Старый Ворчун
 
18.04.13
18:28
(3) Да я уже спокоен. Нервы были часа три назад ))) Мой сисадмин на полном серьезе думал, что монитор об стену шваркну )))
(4) Ок, счас посмотрю, спасибо. Но как говорил уже, я и с другими переменными пробовал.
8 Старый Ворчун
 
18.04.13
18:30
(4) В принципе подходит под мой случай:
ВыборкаДанных - Запрос, Результат запроса, Выборка из результата запроса или произвольная коллекция выгружаемых объектов. Используется, когда способ выгрузки данных - Произвольный алгоритм. Если определить данную переменную, то обход коллекции и выгрузка объектов будет осуществляться автоматически
9 Aprobator
 
18.04.13
18:32
Кстати ъ, склероз уже, при добавлении элемента списка значений, первый параметр точно значение, а второй ключ? А то было у меня что то подобное.
10 Eugene_life
 
18.04.13
18:32
(7) Я по правилам не силен, но могу посоветовать сделать перенос для этого документа отдельно, с самого начала. Возможно, где-то просто ошибся, и при повторном прохождении всех шагов ошибку не повторишь. Потом включить этот кусок в общие правила.
11 Aprobator
 
18.04.13
18:34
(8) там была какая то фенька еще. При использовании данной переменной какую то галку надо было то ли поставить, то ли снять. Там же в описалове все было.
12 Старый Ворчун
 
18.04.13
18:37
(9) Сначала значение, потом представление вроде ...
(10) Шесть раз уж заново начинал (((
(11) А что за галка ?
13 Aprobator
 
18.04.13
18:39
(12) проверь, что сначала, а что потом. Галка - в описании возле этой переменной было прописано. Что то там с запоминать выгруженные объекты связано.
14 Старый Ворчун
 
18.04.13
18:49
(13) Не, это галка "Не запоминать выгруженные объекты" она тут не причем, но вообще она поставлена.
15 Старый Ворчун
 
18.04.13
18:50
Все, на эту одноэсину смотреть больше не могу, пошел в спортзал стресс снимать. Очень большая просьба, если кто то что то сможет подсказать, пишите обязательно. С утра, на свежую голову, первым делом сюда зайду разумеется.
Всем удачи !
16 Aprobator
 
18.04.13
19:04
Сстранно, что ругается на реквизит приемника.
17 Старый Ворчун
 
19.04.13
09:04
(16) Согласен, меня это тоже весьма удивило. Причем ищет реквизит в списке по наименованию, не находит, а в отладчике видно - он есть ! Причем именно с этим наименованием ... Короче придется следовать совету уважаемого Eugene_life и начать в очередной раз все сначала (((
18 Aprobator
 
19.04.13
09:16
(17) а он есть и в источнике и в приемнике? Ругается то в общем, что он его не находит. В момент выгрузки в реквизит ДатаДок. Непонятно у чего он его не находит конкретно то в Источнике данных или в приемнике.
19 Старый Ворчун
 
19.04.13
09:48
(19) А шут его разберет везде. Беру тайм - аут, действительно все с начала переделаю.
20 Aprobator
 
19.04.13
09:54
(19) делать тебе нефиг. Попробуй вместо СпискаЗначений Структуру заюзать.
21 Старый Ворчун
 
23.04.13
10:26
(20) Ну что ж ... прими пожалуйста, Aprobator, самую искреннюю благодарность. Помог именно твой совет. Вот уж не думал, что ни СписокЗначений не проканает, ни Таблица. Привык, что при переносе 7.7 ---> 8.2 все работает замечательно. Я тут прерывался на несколько дней, а сегодня снова вернулся к этой задаче. Ты мне сэкономил массу времени, так что еще раз большое спасибо. Удачи тебе в жизни, Добрый человек !!! )))
22 Aprobator
 
23.04.13
13:53
(21) всегда рад помочь. Просто на КД я собаку съел уже )
2 + 2 = 3.9999999999999999999999999999999...