Здравствуйте!
Описание сути вопроса:
Есть справочник с реквизитами Контрагент, с табличной частью ВидыНоменклатуры, в табличной части один реквизит ВидНоменклатуры. Необходимо организовать Регистр Сведений так чтобы у одного (или у каждого) контранента была запись по каждому строке табличной части видуноменклатуры. С возможностью отбора по контрагенту. Изначально я организовал регистр сведений так:
РегистрСведений - ВидыНоменклатурыКонтрагента
Измерение: Контрагент, индексировать
ресурс: Видноменклатуры, индексировать.
Затем в спраовчнике в процедуре "ПослеЗаписи" я организовал вызов процедуры из общего модуля. Тескт процедуры:
Если убрать из регистра сведений у контрагента - индексировать - не могу сделать отбор.
При текущем коде и организации - не могу сделать несколько записей - только последнюю.
При ручном создании также ругается что запись есть по полю контрагент.
Подскажите как можно обойти?
1. Для установки отбора индексирование необходимо.
2. Для добавления нескольких видов номенклатуры попробуйте реорганиззовать регистр, например сделать его периодическим.
1. Для установки отбора индексирование необходимо.
2. Для добавления нескольких видов номенклатуры попробуйте реорганиззовать регистр, например сделать его периодическим.
Добрый день!
Я в таких случаях сделал бы два измерения - Контрагент и ВидНоменклатуры. В этом случае уникальность записи в регистре сведений как раз и будет определяться этой парой. А в ресурсы вообще нет необходимости запихивать, иначе Вы никогда не сможете сделать несколько записей для одного контрагента.
(0) тебе нужно выделить уникальную измерения, которые никогда бы не повторялись, иначе будет ошибка что такая запись уже есть*09 в (3) как раз решение в самый раз тебе!
(6) Контрагент - повторяется, а вот виды измерений нет у каждого контрагента свой набор. лучший вариант, тот который вы предложили - закинуть контрагента и виды номенклатуры в измерение - тогда связка будет уникальна и не будет дублироваться. добавлю ещё периодичность год - будет всё "ок".
А если необходимо чтобы набор ВидовНоменклатуры менялся во времени?
Например: Есть Контрагент К1 с набором ВидНоменклатуры "В1, В2, В3".
Запись в регистре будет:
Дата1 - К1 - В1
Дата1 - К1 - В2
Дата1 - К1 - В3
Мне необходимо на Дату2 удалить В2, но предыдущая версия набора должна сохраниться.
В этом случае Ответ 3 с двумя измерениями не подходит, т.к. СрезПоследних всегда будет захватывать запись на Дату2
(9) rdaler,
если регистр периодический - то нет необходимости ВидНоменклатуры указывать как измерение, оставьте в ресурсах и сделайте периодичность секунда, и нет проблем. В этом случае уникальность достигается парой "Период - Контрагент".
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.