Конвертация данных: выгрузка ТЧ документа #737405


#0 by Sun125
Нужно выгрузить ТЧ одного документа в ТЧ другого документа. В ТЧ Приемника есть реквизит "Количество мест", которого нет в Источнике. В КД в Правилах конвертации свойств "Количество мест" в обработчике "Перед выгрузкой" пишу: При обмене программа все равно ругается: Ошибка в обработчике события ПередВыгрузкой (свойства)     ПКС                    =  9  (--> КоличествоМест)     Объект                 =  Производство 8 от 19.03.2015   (Документ объект: Производство)     ОписаниеОшибки         =  Метод объекта не обнаружен (ПКС_ОтчетПроизводстваЗаСмену_Продукция_КоличествоМест_ПередВыгрузкойСвойства_9_24) Подскажите,пожалуйста, в чем ошибка?
#1 by welwel
В ОбъектКоллекции менять нужно
#2 by Sun125
Подскажите,пожалуйста,где это находится ОбъектКоллекции?
#3 by Sun125
Смотрю в типовых правилах, зачем-то же заполняют значение в обработчике "Перед выгрузкой": ЗаполнитьКоличествоВТабличнойЧасти:
#4 by iHell
В ПКС перед выгрузкой только это: Значение = 1;  ?
#5 by iHell
"Количество мест" - числовой ?
#6 by Sun125
Да, Количество мест - это Число. В ТипПриемника указано, что Число
#7 by welwel
Можно в послевыгрузки 1 присвоить во всех строках и не заморачиваться с пкс
#8 by iHell
ОбъектКоллекции - доступен как раз в пкс реквизитов твоей тч, посмотри справку по обработчикам, там описано что это.
#9 by Sun125
Указал в ПослеВыгрузки, теперь на этот обработчик ругается: Ошибка в обработчике события ПослеВыгрузки (свойства)     ПКО                    =  ОтчетПроизводстваЗаСмену  (Документ: Сборка запасов)     ПКС                    =  9  (--> КоличествоМест)     Объект                 =  Производство 8 от 19.03.2015   (Документ объект: Производство)     ОписаниеОшибки         =  Метод объекта не обнаружен (ПКС_ОтчетПроизводстваЗаСмену_Продукция_КоличествоМест_ПослеВыгрузкиСвойства_9_24)
#10 by iHell
Невидя твоих правил сложно что-то сказать, передача значения должна работать. Попробуй в ПКО "после загрузки" обойти нужные тч.
#11 by welwel
в послевыгрузки объекта и перебрать тч
#12 by welwel
Пардон.. Послезагрузки конечно
#13 by Sun125
Вот скриншот выложил,как примерно выглядит
#14 by iHell
Ванга из меня плохая. Если у тебя  в ПВД свой алгоритм или в ПКГС коллекцию собираешь, то там должно быть поле "КоличествоМест".
#15 by Sun125
В "ПослеЗагрузки" самого документа есть такой код: Захожу в этот алгоритм, дописываю: Для каждого ТекСтрока Из Объект.Продукция Цикл ..... Теперь при обмене не ругается, но КоличествоМест не заполняется указанным значением...
#16 by Sun125
Может я неправильно правила создаю?.. 1.Захожу в Базу-Источник, в ПланОбмена "ОбменУправлениеНебольшойФирмойБухгалтерия30". 2.Открываю макет "ПравилаОбмена", сохраняю в xml. 3.Загружаю правила в КД, правлю, выгружаю. 4.Меняю содержимое макета. 5. Запускаю базу, захожу в Синхронизацию. 6. Нажимаю "Загрузить правила", выбираю из конфигурации. Пишет: правила обновлены в инф.базу. 7. Меняю документ, чтобы попал в регистрацию. Выполняю синхронизацию. Может что не так делаю?
#17 by Sun125
Сомнения возникают, потому что все, что ни меняю типовых правилах, пытаюсь подставить свое значение, при обмене никакой реакции. Но зато как залезу в "Перед выгрузкой",например, программа начинает ругаться.
#18 by welwel
Если Сообщить в интересуемых местах?
#19 by Sun125
Даже удалил текст из Алгоритмы.ОбработатьОтчетПроизводстваЗаСмену. Там заполняются как раз оставшиеся реквизиты, которых нет в Источнике. Например, счет затрат. При обмене все равно все заполнилось...странно
#20 by Sun125
Так нельзя делать? <ПередВыгрузкой>Сообщить("111111");</ПередВыгрузкой> Опять ругается: Ошибка в обработчике события ПередВыгрузкой (объекта коллекции)
#21 by Sun125
Может кто знает, в какую обработку залезть отладчиком, чтобы поймать обработчик? Хочу узнать, попадает программа в обработчик или нет. В ПКГС ТЧ документа в обработчике "ПередОбработкой" собирается коллекция объектов, в т.ч. и поле "КоличествоМест",которое поменять не получается никак. Но ощущение, что программа туда не попадает, потому что могу "абракадабру" там написать и обмен пройдет.
#22 by Stim
а что мешает после загрузки документа обойти табличную часть и проставить 1 в колонку?
#23 by yanikolay
В данном случае ПередВыгрузкой текст модуля нужно прописать в выгружаемой конфигурации в обработке "ОбработчикВыгрузкиВ...", а ПослеЗагрузки в конфигурации загружаемой конфигурации в обработке "ОбработчикЗагрузкиИз..."
#24 by VladZ
Выгрузка из 8 в 8? Или из 7.7 в 8?
#25 by VladZ
->
#26 by hhhh
не надо менять макет. в п.6 просто делаешь загрузить из файла и пишешь файл, который выгрузил из кд.
#27 by SleepyHead
Очень похоже, что автор выгружает из 1с77, и при этом не выгрузил обработчики и не записал их в модуль формы v77exp
#28 by Sun125
Выгрузка из 8.3 в 8.3
#29 by Sun125
В БП 3.0 программа просит архив загрузить с компа. В нем кроме правил обмена еще правила регистрации и правила обмена корреспондента нужно запаковать. Долго это, проще скопировать в макет в конфигураторе и F5
#30 by Sun125
сейчас другим способом смотрю, через обработку "УниверсальнаяЗагрузкавыгрузка", подставляю туда правила из КД и выгружаю. Вот что заметил в отладчике: В КД В ПКГС ТЧ ТЧПродукция в обработчике "Перед загрузкой" собирается коллекция объектов: Я меняю значения полей выборки: Смотрю в отладчике: В коллекцию объектов попадают первоначальные значения. Поэтому в итоге при обмена не вижу своих изменений.
#31 by Sun125
Как такое может быть? Может, еще откуда-то собирается коллекция объектов?
#32 by VladZ
Что-то не так делаешь.   Отвлекись. Займись чем-нибудь другим минут на пятнадцать. Вернешься к этой задаче и  быстро найдешь свой косяк. :)
#33 by Sun125
Понял по отладчику,откуда собирается КоллекцияОбъектов. Оказалось, есть ПравилоВыгрузкиДанных. Там в процедуре "ПереОбработкой" документа написано "ВыгрузитьПоПравилу(Объект,,,, "ПеремещениеПродукции");" И обработчики брались из другого правила. И коллекция собиралась в другом месте. Исправил коллекцию объектов в том месте, где она собирается. Теперь другая проблема: Когда я выгружаю данные в xml через "УниверсальныйОбменДаннымиXML" и смотрю файл, там все правильно, я вижу свои изменения. Но когда я провожу Синхронизацию, то в файле выгрузки, я опять не вижу своих изменений.
#34 by Sun125
В чем может быть ошибка?
#35 by Sun125
Может, еще какие-то правила подключаются при синхронизации? В плане обмена в макетах есть еще "Правила корреспонденции" и "Правила регистрации"
#36 by Sun125
в обработке "УниверсальныйОбменДанныхXML" я хоть могу отладчиком посмотреть, что выгружается и почему. А при синхронизации как отследить?
#37 by Sun125
И еще заметил такое: В обработчике "Перед выгрузкой" реквизита ТЧ пишу: Значение=999. Выгружаю через УниверсальныйОбмен = все ок. В Файле значение=999. Выгружаю через ПланОбмена - программа ругается.
#38 by Sun125
up
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С