Изучаю КД, помогите немного :) #758204


#0 by fantomrik
Задача: В  Исходной  базе  в  документе  "Прием  сотрудника"  указывается  должность  сотрудника.  В Конечной базе информация о должности хранится непосредственно в справочнике "Сотрудники". Необходимо при переносе данных о приеме на работу обеспечить перенос должности сотрудника. Так, чтобы значение из документа, было записано в элемент справочника "Сотрудники". Подсказка. Для  того  чтобы  в  обработчике  ПКС  обратиться  к  текущей  выгружаемой  строке документа,  необходимо  использовать  параметр  ОбъектКоллекции.  Таким  образом,  чтобы получить  должность  сотрудника  из  строки  табличной  части,  нужно  использовать  выражение ОбъектКоллекции.Должность. Сделал ПКО для документа. В ПКС для должности приемник пустой (в приемнике должно перенестись в справочник), источник СправочникСсылка.ДолжностиСотрудников. И создал в ПКС "Должность" ПередВыгрузкой В этом ПКС указал правило ДолжностиСотрудников (которе создал, сопоставил Код, Наименование, ПометкаУдаления) и указал флаги получать из входящих данных. Падает после загрузки первого документа и первой должности из него с ошибкой Ошибка записи объекта     ИмяПКО                 =       ТипОбъекта             =  Документ объект: Прием сотрудника     Объект                 =  Прием сотрудника 000000001 от 01.02.2012 12:00:00     ОписаниеОшибки         =  Поле объекта не обнаружено Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(6376)}: Ошибка записи объекта     ИмяПКО                 =       ТипОбъекта             =  Документ объект: Прием сотрудника     Свойство               =  ДокументТабличнаяЧастьСтрока.ПриемСотрудника.Сотрудники.     Объект                 =  Прием сотрудника 000000001 от 01.02.2012 12:00:00     ОписаниеОшибки         =  Поле объекта не обнаружено Собственно видимо (я думаю) он после записи должности пытается ее в документ присобачить, а реквизита то нет такого. И почему так работает не понимаю, у меня в ПКС документа же идет для должности Должность->"" ( и описано выгружать в исх данные).
#1 by mikecool
сделать произвольный запрос и выбрать необходимые данные
#2 by fantomrik
Не совсем понял. Мне нужно перегружая документы, создать должности, которые попадаются в документах. И можно чуть подробнее, я 2ой день вижу КД в глаза )
#3 by fantomrik
У меня в принципе все работает по-моему, просто после отработки ПКС для должности, он почему то пытается в документ эту должность подставить... А должен просто выгрузить должность и дальше документы обрабатывать.
#4 by ViSo76
В обработке V8Exchan82.epf есть возможность делать отладку как при выгрузке так и при загрузке. Используй эту возможность для выявления своих ошибок.
#5 by gorakh
Читал информацию по обработчикам? При отладке хорошо помогает флаг в конфигураторе "остановка по ошибке"
#6 by ViSo76
Он вывалится в обработку V8Exchan82.epf либо в код БСП. И что он там будет делать?
#7 by fantomrik
Ну ошибка как я и предпологал выше. Я не понимаю как ее решить мне?
#8 by Другая
Нужно создать правило выгрузки для должностей (и правило конвертации объекта с пустым источником и указанным приемником). Далее сформировать таблицу с необходимыми для спр. должностей данными и передать ее в ПКО (помощник по обработчикам поможет в этом). Документы выгружать без должностей (отключить или удалить это ПКС) Вроде так
#9 by Другая
Точно не помню, но обработка, если не указан приемник, пытается найти реквизит по имени источника.
#10 by fantomrik
Судя по задаче, выгрузить нужно именно те должности, которые есть в документе исходнике. Просто отключив ПКС для должности в документе и создав ПВО для должности - я выгружу все должности. Наверно можно ограничение в запросе выборки прописать, но это доп костыли, хотелось бы решить задачу, как в условии. "(и правило конвертации объекта с пустым источником и указанным приемником)" не слышал о таком ( Есть где почитать об этом?
#11 by ViSo76
1. Можно правило конвертации справочника не делать, а перед записи документа создавать элемент справочника в случае его отсутствия. 2. Можно написать конвертацию из документа сразу в справочник сотрудников. PS: Главное в справочнике чтобы были заполнены все обязательные поля.
#12 by ViSo76
по пункту 2 дополнение. 2.1. Из документа "Прием  сотрудника" в справочник создать / обновить саму должность. 2.2. Из документа "Прием  сотрудника" в документ в базе приёмника.
#13 by fantomrik
Не понимаю ( что мне нужно сделать конкретно по 2 пункту?
#14 by ViSo76
Есть TeamViewer?
#15 by ViSo76
Мой скайп в профиле. Есть есть TeamViewer помогу
#16 by Йохохо
забей на всё, и тупо в ПКО Сотрудник запросом получи должность
#17 by ViSo76
Тогда уж в ПВД запросом получить данные для ПКО Сотрудник.
#18 by fantomrik
Если получу данные в ПВД документа, отключу вызов ПКС в документе, как вызову ПКС Должности?
#19 by icrocodile
1. В ПКО ПриемСотрудника в ПКС Сотрудник заполняешь ИсходящиеДанные в обработчике ПередВыгрузкой код: Указываешь для этого ПКС ПКО Сотрудники 2. Создаешь в ПКО Сотрудники ПКС ДолжностьСотрудника» с флагом Получить из входящих данных и пустым источником. Все!
#20 by Йохохо
в ПВД документа достаточно в ТЧ посмотреть нет? +
#21 by fantomrik
а не идентичный вариант это?
#22 by Йохохо
нет, там ты не попал в Сотрудника
#23 by ViSo76
И что будет если такой должности нет в справочнике? В документе будет битая ссылка?
#24 by Альбатрос
Будет пустая ссылка
#25 by icrocodile
ну так должности тоже нужно переносить, надо ПКО для справочника Должности
#26 by ViSo76
Насоветовали умники :) 1. Нужно чтобы был ПВД для сотрудника на основе документа "Прием  сотрудника" запросом. 2. Мутить не нужно со всякими ПКС после этого.
#27 by icrocodile
согласен, но я так понимаю это домашнее задание из курса по КД, они еще там не дошли до произвольной выборки в ПВД )
#28 by Альбатрос
а как работает произвольная выгрузка с зарегистрированными ссылками в плане обмена?
#29 by ViSo76
Примерно так: оЗапрос = Новый Запрос( "ВЫБРАТЬ ИЗ В ПВД ставишь "Произвольный алгоритм" В ПКО Сотрудника ставишь галочку "Не запоминать выгруженные объекты"
#30 by fantomrik
Отработало :) Спасибо всем за участие! Другие алгоритмы наверно тоже рабочие, но для меня пока слишком сложные...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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