#0
by Вуглускр1991
Привет! Вчерась, нужно было прикрутить в БП 2 цены из ТиС 9. А в БП 2 цены - регистр сведений, подчиненный регистратору. Поплевав на руки, нарисовал документ "установка цен", дата - как надо, время ноль, внутренностей нет, а движений - сколько цен в справочнике. Пользуюсь КД 2. Но вот порядок выгрузки этих цен был такой, что записи в регистр сведений разбросаны по файлу, товар 1, потом одна запись скажем на дату 01.01.13, затем товар 2, и вторая запись на ту же дату. Это такое содержимое файла xml. Не получалось у меня отдельные записи в набор записей сформировать. Для этого пришлось бы документ описывать более широко, и у всей номенклатуры, что попадает в выгрузку (это и выборка и по ссылкам) формировать эти цены отдельными документами. А кто знает наперед, какой набор товара будет выгружен... И наткнулся я здесь на тему: Девушка очень хотела объяснить словами все это, но слов подходящих просто не было тогда. Если кто прорубился сквозь описание ситуации, вот решение: В обработчике конвертации записи регистра сведений, помимо задекларированного контекста "объект" (Отказ там, ОбъектМодифицирован к примеру) доступен также НаборЗаписей Надеюсь эту переменную не переименуют в последующих обновлениях. Так вот, можно по регистратору читать текущий набор записей, анализировать, стоит ли его перезаписывать, и если стоит, то пользоваться этой переменной для загрузки нового набора. Там по ходу алгоритма, стоит присваивание Объект = НаборЗаписей; в то время как Объект во всех обработка - это одна запись.
#3
by Вуглускр1991
Ничего, ничего! Вот создавать по одному документу на каждый элемент цен номенклатуры - вот это была бы жесть .. и я чуть не сделал такое.
#4
by Defender aka LINN
Ну, сделал ты один документ, хорошо. А при чем тут переменная "Объект", которая при этом еще и "НаборЗаписей"?
#6
by Вуглускр1991
Когда в xml файле объект - это одна запись регистра сведений, то набор записей всякий раз из неё и состоит и перезаписывается во время выгрузки. Таким образом по окончании выгрузки цены имеют лишь те товары, регистры записи которых были перезаписаны последними (в разрезе дат регистраторов). В файле: <Нпп = 5> ... описание цены товара1 на дату 01.01.13 ... <Нпп = 7> ... описание цены товара2 на дату 01.01.13 После выгрузки в документе "Установка цен" от 01.01.13 ,будет только последняя запись - то есть цена будет у товара2 Создал в смысле записал новый типовой документ.
#8
by Голубушка
почему отказались от заполнения табличной части дока ? .. это же проще .. и зачем объект=наборзаписей .. жесть какая то напиши правило выгрузки регистра сведений .. и ставь в правиле свой липовый регистратор
#9
by Andy13
---- После выгрузки в документе "Установка цен" от 01.01.13 ,будет только последняя запись - то есть цена будет у товара2 ---- Галочку "Не запоминать выгруженные объекты" поставил в нужном месте?
#12
by Вуглускр1991
Потому, что я заранее не знаю, какой товар будет выгружен в xml файл. "объект=наборзаписей .. жесть какая то" - это классика, типовое решение, это не я писал. А для этого нужно знать список товаров которые будут выгружены и цены этих товаров сгруппировать по датам, и на основе этой группировки создавать документ "Установка цен" с заполненными табличными частями. Я не вижу способа определить этот список. А разбивать его цены по датам - ну просто лень.
#13
by Вуглускр1991
И с галочкой и без галочки не работало, а сейчас работает галочки ведут себя корректно, если запись есть в наборе, набор не перезаписывается.
#14
by Вуглускр1991
ОбъектИсточник это строка, ОбъектПриемник - это РегистрСведенийЗапись.ЦеныНоменклатуры Обработчик "После загрузки" Вот кстати и код: ВременныйНаборЗаписей = РегистрыСведений["ЦеныНоменклатуры"].СоздатьНаборЗаписей;
#15
by Defender aka LINN
"для этого нужно знать список товаров" - а сейчас они как выгружаются в таком случае? "это классика, типовое решение" - Строка кода может и из типовой. А вот "решение" из - это чистейшей воды копрокод.
#17
by Вуглускр1991
Сейчас они выгружаются по ссылкам из документов. Специальной выборки нет. Прогружать абсолютно все не нужно. Если ты ищешь способ обозвать это копрокодом - то ты уже нашел и сделал. Можешь расслабиться.
#19
by Вуглускр1991
Собрать из документов? Отследить какие виды документов отмечены галочками в форме в 7.7, какие выставлены отборы, за какой период, сделать серию запросов, выгрузить в ТЗ, свернуть ТЗ по номенклатуре, дополнить ценами, сгруппировать по датам. Так? У нас вообще реквизиты формы можно использовать в обработчике согласно документации КД (я понимаю, что доступны физически и можно без проблем), но так ли это рекомендуют делать Разработчики? не много ли будет работы? Там ведь целые сервисные блоки написаны для отбора объектов в стандартную выгрузку.
#20
by Defender aka LINN
"Отследить какие виды документов отмечены галочками в форме в 7.7, какие выставлены отборы, за какой период, сделать серию запросов, выгрузить в ТЗ, свернуть ТЗ по номенклатуре, дополнить ценами, сгруппировать по датам. Так?" - Ну, если нечего делать, то можно и так. А я бы в правиле выгрузки номенклатуры отслеживал, какие позиции выгружены, передавал их в параметр и после выгрузки бы дополнительно вызывал выгрузку цен, которая создала бы один документ с одним набором записей.
#21
by Вуглускр1991
"передавал их в параметр" - глобальный объект? Параметр конвертации? "после выгрузки" - всего и вся в конце списка правил выгрузки произвольным алгоритмом из параметра по списку наформировать цены, сгруппировать по датам и правильный документ установки цен на каждую дату и типцены? Да, это будет прямое решение и не надо бояться, что документ установки цен распроведут в БП. У моего решения недостаток - постоянная перезапись набора записей регистра сведений, при чтении из XML очередной цены. тоже нормально.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- КД 2.0. Как проводить документы после загрузки?
- Запись набора записей в xml
- Связать набор данных объект и набор данных запрос В СКД
- Перенос данных КД.2.0 (особенность конвертации)
- КД 3.0 или КД 2.0
- Изменение записей в наборе записей РС
- Модуль набора записей регистра сведений . ПриЗаписи() - как сам набор получить?
- КД: элемента в ПКС нет, а в файле XML есть
- СКД - Добавить набор данных объект - Добавить поле "вложенный набор данных"
- КД 2. Выгрузка метаданных отдельных объектов.
- КД 2.0 или КД 3.0
- КД. Нужно перенести набор записей регистра накопления
В этой группе 1С
- Помогите с переносом базы с УНФ на УТ11.
- v8: Ошибка при установке базы на андроид
- PDF417 доступ через COM
- ПараметрыАвторегистрации. Как можно указать, что ВПФ для всех документов?
- Не работает "Word.Documents.Open" на сервере 1С
- Проблема Стоимостная оценка склада в ценах номенклатуры, УТ 10.3
- v8: Подключение кассы в 1С
- Какие порты использует 1с
- 1С УТ + Штрих-Т D2 USB
- Выгрузка справочников из 1с 8.2 ЗУП 2.5 в Бух 2.0...help
- Автоматическая загрузка в Фронтол.
- Невозможно выгрузить базу .dt
- Ошибка вызова метода внешней компоненты
- Что изменилось по НДС в последних 3 релизах УПП?
- Остается ли сортировка после метода НайтиСтроки()
- ФИФО, УТ11, РАУЗ подходит ли эта методика для Украины???
- Автоматическое подключение отладки на сервере
- v7: изменение МРОТ
- v7: Бухгалтерия 7: Ошибка при формировании книги продаж по постановлению 1137
- v7: Хранение картинок в 1с 7.7