Имя: Пароль:
1C
 
Регистр сведений УникальныйИдентификатор
,
0 Angelina9712
 
12.09.18
12:12
Всем привет!

В КА 2.4 создаю независимый непериодический Регистр сведений "ГруппаАналогов". В кратце: суть его в том, чтоб отражать аналоги для номенклатуры, наподобие как сделано в 1С АльфаАвто 4.1.
Данные регистра:
Измерения:
   1) ИндентификаторГруппы (Строка, длина 36, Основной отбор true)
   2) Производитель (СправочникСсылка.Производители, Основной отбор true)
   3)Артикул (Строка, длина 50, Основной отбор true, Запрет незаполнненых значений true)
Реквизиты:
   1) Наименование (строка, длина 80)
   2) ГлавныйПоГруппе( Булево)
   3) ГлавныйПОПроизводителю (булево)

Скриншотик для виду на всякий прилагаю: https://yadi.sk/i/vNX8CSFLyVYDag

При указания аналога к номенклатуре, ИндентификаторГруппы группы заполняется должен заполняться уникальным значением, по нему остальные аналоги могут объединяться в группы.

Соответственно я создаю запись в регистр сведений стандартной командой создать и насколько я понимаю, чтоб присваивался номер измерению ИндентификаторГруппы  нужно создать событие в Модуле набора записей регистра.

Создаю событие ПриЗаписи со следующим кодом:
      Процедура ПриЗаписи(Отказ, Замещение)
    Для Каждого ТекЗапись из ЭтотОбъект Цикл
        Если НЕ ЗначениеЗаполнено(ТекЗапись.ИндентификаторГруппы) Тогда
            ТекЗапись.ИндентификаторГруппы = СокрЛП(Новый УникальныйИдентификатор);
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

После чего, когда в форме записи регистра нажимаю кнопку "Записать и закрыть" строка ИндентификаторГруппы остается пустой. Если нажать кнопку "Записать" то Строка ИндентификаторГруппы заполняется уникальным индентификатором, но после "Записать и закрыть" создается еще один элемент снова с пустой строкой ИндентификаторГруппы.

Если такой код сделать в событии ПередЗаписью то выдается ошибка: Запись не верна! Значений поля не соответствует установленному отбору. Ругается на поле ИндентификаторГруппы.

Подскажите что я делаю не так?
1 shpioleg
 
12.09.18
12:38
Что-то как-то мудрено. Не проще ли ПриСозданииНаСервере формы записи регистра сделать Запись.ИндентификаторГруппы = Новый УникальныйИдентификатор;

Зачем все эти ПередЗаписью/ПриЗаписи
2 Angelina9712
 
12.09.18
12:49
(1) Спасибо! Что-то тупанула жестко! Можно же так было сделать)
Просто делаю по аналогии с Альфа Авто, но там конечно механизмы другие.
3 shpioleg
 
12.09.18
12:50
Короче не понятно, почему ИндентификаторГруппы у тебя такой особенный, что его нужно заполнять отдельно от остальных измерений и ресурсов. Обычная строка получается.
4 Вафель
 
12.09.18
12:52
не проще ли справочник тогда? зачем регистр и гуидом?
5 Angelina9712
 
12.09.18
12:57
(4) Хотела изначально справочником. Но он не совсем подходит раз. Да и данные тянуть переносом из Альфа Авто надо будет потом. (3) Создаю аналогию как в Альфа Авто
( ͡° ͜ʖ ͡°)
6 Вафель
 
12.09.18
12:58
(5) а что переносить в справочник запрещено?
7 Angelina9712
 
12.09.18
15:30
(6) Разрешено. Но например как сделать группу аналогов? Или ты имеешь ввиду, что можно справочнику сделать этот гуид и по нему формировать группы аналогов?
8 StanLee
 
12.09.18
16:35
а почему нельзя справочником? это перенос из другой конфы или все-таки синхронизация, раз такое большое желание ид сохранить?
9 Вафель
 
12.09.18
16:44
(7) группы у справочников - это вроде возможность платформы? нет?
10 Angelina9712
 
12.09.18
16:47
(8) Это перенос из другой конфы. В той конфе аналоги привязаны к ИД. Я не совсем понимаю, как тогда перенести соответствие.

Вот на всякий прикрепляю скрин: https://yadi.sk/i/vX5skhzqMhQMvA

Тут видно что группируются аналоги по ИД. Для разных Артикулов одинаковый аналог. Как я понимаю, если переносить ИД и Артикулы, то перенесенные данные встанут как надо, то есть соответствие: какая номенклатура является аналогом какой-то другой должно сохраниться.

Если сделать справочник и просто перенести номенклатуру, то я не совсем понимаю как тогда перенести соответствие аналогов. Создавать группы с таким же ID?
11 StanLee
 
12.09.18
16:57
(10) например создать соответствие, в котором ключ это ид, а значение это группа справочника и при переносе спокойно подсовывать родителя по ключу
12 StanLee
 
12.09.18
16:59
и просматривать потом аналоги будет проще в виде справочника с группами, а не через обработку с запросами
13 Angelina9712
 
12.09.18
18:22
(11) Спасибо за совет, только я не понимаю следующее: в Альфа Авто аналог это регистр и я для объекта справочника номенклатуры указываю другой объект справочника номенклатура в качестве аналога. Это записывается в регистр сведений.

А если создавать отдельный справочник аналоги - это получается часть Номенклатуры надо будет записывать в Аналоги?
14 breezee
 
12.09.18
19:29
А в КА нет регистра "НоменклатураПостащиков" вам по-моуему это надо
15 Angelina9712
 
12.09.18
19:36
(14) Регистра такого нет, но есть такой справочник, но он означает следующее: Перечень товаров и услуг, предоставляемых поставщиком или конкурентом и их связь с номенклатурными позициями предприятия.