#0
by Sиlьver
Всем добрый день. С КД раньше никогда не работал, но судьба заставила. Нужно выгружать документ с номенклатурой в табличной части (Базы 8-8). Нужно, чтобы в приемник попал реквизит Номенклатуры-источника, где в свою очередь из регистра сведений будет найдена соответствующая номенклатура. Подскажите, как это сделать?
#2
by Aleksey_3
Источник реквизит IDD, строка 17 - уникальный идентификатор В приемнике храниться в РС соответствие IDD - элементу номенклатуры Загоняю IDD в комментарий, ставлю поиск по этому реквизиту Далее в поле поисках Если НомерВариантаПоиска=1 тогда
#3
by Sиlьver
В полях поиска отключил все, кроме нужного мне реквизита. В событии ПКО "Поля поиска" написал запрос: В итоге при загрузке ошибка: Поле объекта не обнаружено. ID_AVARDA - это поле поиска (реквизит Номенклатуры-источника) Как прочитать это поле? И правильно ли я определяю номенклатуру как СсылкаНаОбъект?
#5
by Sиlьver
Ошибка в обработчике события ПоследовательностьПолейПоиска ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода это какой-то внутренний обработчик? я его даже не нашел...
#7
by Sиlьver
ошибку нашел, но пока результата не добился. Подскажите, в ПКС все должно быть по умолчанию?
#10
by Sиlьver
Мне нужно выгружать документ и попутно номенклатуру недостающую. Сейчас я настраивал ПКО не для документа, а для Номенклатуры. ПКО и ПКС документа нужно трогать? в приемнике такого реквизита нет. фокус теперь не получится? может можно как-то в параметр поместить ID_AVARDA?
#11
by Aleksey_3
Передавай через другой реквизит, например комментарий. А в приемники "откусишь" лишнее см ИДД=Лев(СвойстваПоиска.Получить("Комментарий"),17);
#12
by Andy13
А что мешает передать этот IDD в параметр? И в обработчике "ПриЗагрузке" этот параметр обработать?
#14
by Andy13
Хм. Не уверен. "ПередЗагрузкой" можно использовать. Насколько я понимаю, имеется реквизит отсутствующий в приемнике. Надо его передать. Передаем через параметр. Далее... Номенклатура в источнике не соответствует номенклатуре в приемнике при использовании для поиска их общих реквизитов. Связь - через регистр сведений в приемнике. Поле поиска в регистре - реквизит IDD номенклатуры в источнике. Стало быть, всё что надо передать - IDD. Остальные реквизиты нафик не упали. Передаем через параметр, при обработке в приемнике ловим параметр с IDD, находим соответствие через регистр сведений и подставляем то что надо. Я так полагаю. И терзать поля поиска совсем ни к чему.
#16
by Andy13
Поля поиска используются при выгрузке. При загрузке не используются. Потому и недоступны.
#18
by Aleksey_3
Поля поиска Условия возникновения события Только для платформы V8. Событие выполняется при поиске элемента ссылочного типа. Если установлен поиск по уникальнму идентификатору и программа нашла элемент, то поиск прекращается. Если поиск по уникальному идентификатору не дал положительного результата и указано, что нужно продолжить поиск в этом случае или поиск по уникальному идентификатору не проводился, то программа пытается найти элементы по свойствам поиска. В обработчике нужно установить список полей через запятую по которым нужно проводить поиск. Если очередная попытка дала положительный результат, то поиск прекращается. Поиск возможен только по тем полям у которых на этапе выгрузка был установлен флаг поиска данных!!!
#19
by Sиlьver
если объясните, как "увидеть" переданный параметр на стороне приемника буду весьма признателен. По полям поиска в итоговый объект номенклатура почему-то не попадает. Сейчас разбираюсь.
#21
by Andy13
Ах, вот ничего не стоит на месте... Искомое поле поиска в любом случае отсутствует в приемнике. Связь источника с приемником не может быть описана впрямую. Надо обрабатывать передаваемое значение в приемнике. А именно в обработчике "ПриЗагрузке". Если IDD запихали в комментарий, то можно и добыть его оттуда же. И далее через регистр сведений найти то что нужно и подставить.
#22
by Aleksey_3
Ну так в как раз и описана эта процедура. И она спокойно обрабатывается в обработчики "поля поиска"
#25
by Andy13
"ПослеЗагрузки" - найден или заполнен переданными данными, но ещё не записан. Точно, там и нужно. Просто и тупо читаем реквизит "комментарий". Ну и дальше ищем по нему что надо, подменяем.
#26
by Aleksey_3
Напрямую параметр только глобальный можешь передать. А так самому дописывать в файл и читать. Пример есть в книжке см перенос периодических реквизитов Что ты уперся в после загрузке?. Т.е. система нашла элемент и заполнела его. Дальше что? Ты предлагаешь искать новый элемент и в ручную заполнять все реквизиты?? Не проще ли сразу подсунуть нужный элемент и пусть система заполняет его?
#29
by Aleksey_3
Выгружаем номенклатуру. В твоем программа не нашла элемент и создала, заполнила но не записала новый элемент. После этого ты предлагаешь начать искать в РС запись о нашей номенклатуре. Допустим нашли. И? У номенклатуры изменились реквизиты (например точку в наименовании поставили). Твои действия? Тебе нужно сравнить все реквизиты, обновить их, а уж потом "Просто ссылку подставить"
#30
by Andy13
Ну есть там такая переменная - "Объект". Просто заменяешь её значение и всё. Ну это как и "Значение" при выгрузке.
#31
by Aleksey_3
И что? Если после загрузки я поменяю этот реквизит, он мне чудным образом обновить все реквизиты этого объекта?
#32
by Aleksey_3
Я не спрашиваю как заменить объект. Я спрашиваю, как в твоем случае, произойдет "обновление" реквизитов объекта. После загрузки Условия возникновения события Только для платформы V8. Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.
#34
by Aleksey_3
И как иначе? В данном случае нужно перенести элемент справочника из Базы А в базу Б, причем связь не прямая, а через РС
#36
by Sиlьver
я тут, бухи дергали по отчетности... саму номенклатуру изменять не нужно. нужно только выбрать то, что нужно. Загрузка номенклатуры ведется из другой системы.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Перенос данных КД.2.0 (особенность конвертации)
- КД. Глюки.
- КД 2.0. Как проводить документы после загрузки?
- КД, как передать параметр в приемник?
- КАК передать в отчет СКД параметр и открыть его программно?
- КД 2.1 Как из ПКС передать параметр в ПКО?
- Как передать управление с сервера на клиента?Можно ли передать Вопрос на клиента
- КД 2.0 Выгрузка родителя элемента, если его нет в Приемнике и в Источнике.
- КД 2.0 или КД 3.0
- v7: Форма.Параметр Форма.Закрыть() Как передать параметр из закрываемой формы
- Как передать параметр в приемник в КД 2.0 1с
- КД 3.0 или КД 2.0
В этой группе 1С
- Как получить список дисков из 1С
- УПП: перенос задолженности поставщику с одного договора на другой
- Диаграмма по остаткам
- Произвольная формула расчета в ЗУП, нужно использовать больше 6 показателей
- Отчет «Анализ доступности товаров на складах».... Оплата УТ
- Восстановление файловой базы
- Данные были изменены. Сохранить изменения?
- ЗУП: Индекс находится за границами массива
- Бизнес-процессы. Как в текущей задаче найти предыдущую задачу?
- как в 1с задать свой размер страницы табличного документа? не A4 а например 10*4
- Вывод содержимого таблицы значений в СКД
- УПП: В каком регистре хранятся данные о стаже сотрудника?
- Количество строк в табличном поле
- Есть отчет на СКД, 8.1. Как указать границу периода?
- Передача давальческого сырья сторонней организации
- Ошибка при проведении документа расчет себестоимости!
- Файловый и клиент-серверный вариант ЗУП 8.2
- Как обновить доработанную конфигурацию?
- Как правильно отфильтровать по наименованию с оторбражением иерархии?
- Переход в табличном поле