Список значений в реквизит регистра сведений

1. Aleck1281 25.06.24 16:31 Сейчас в теме
Здравствуйте!
Прошу не бросаться гнилыми помидорами, но как можно засунуть список значений в реквизит регистра сведений. Знаю, что напрямую этого сделать нельзя. Какие есть варианты? Есть предположение, что это можно сделать через хранилище значения, но не совсем понимаю, как дать возможность пользователю откорректировать его, а так же выводить этот список в реквизите в форме списка.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Zevzm 25.06.24 16:35 Сейчас в теме
(1) Из значений какого типа состоит СЗ? Для строковых я просто хранил большой строкой через разделитель.
7. Aleck1281 25.06.24 16:54 Сейчас в теме
11. Sashares 35 25.06.24 16:59 Сейчас в теме
(7)Зависит от того, что с этим списком дальше делать планируется.
Если просто хранить или использовать где-то в коде - то можно и хранилище значения.

Если же оно нужно для вывода в какие-то отчеты, соединения в запросах и вот это вот все, то лучше сделать отдельный регистр сведений для хранения этого списка.
20. Aleck1281 26.06.24 10:34 Сейчас в теме
(11) Да, он будет использоваться в коде для подстановки параметров в динамически создаваемый запрос.
4. Anton_new01 25.06.24 16:39 Сейчас в теме
(1)
можно сделать нормальный регистр сведений, где одна строка - одно значение.
но пошаманить с формой списка. которая группирует строки по определенной логике и уже там представляет список в нужном формате...

но все извращения они потом аукнутся.
8. Aleck1281 25.06.24 16:57 Сейчас в теме
(4) Сейчас так и сделано, но пользователю неудобно, когда надо добавить список из 20 позиций номенклатуры
19. Sashares 35 26.06.24 10:32 Сейчас в теме
(8)Что мешает сделать удобную форму редактирования записей регистра?
Чтобы можно было выбрать список номенклатуры, а остальные поля заполнить в шапке один раз. И по кнопке создавалось бы нужное количество записей.
23. Aleck1281 26.06.24 10:38 Сейчас в теме
(19) Теоретически можно, но практически, когда нужно будет редактировать список, это может быть не очень удобным.
24. Sashares 35 26.06.24 10:46 Сейчас в теме
(23) Все зависит от сценария работы пользователей с регистром.
Можно сделать форму набора записей регистра.
Одинаковые поля - в шапке, в таблице - номенклатура с возможностью подбора.
При открытии формы - читается набор, заполняется шапка и таблица номенклатуры, при записи - соответственно записывается, то что есть на форме.
5. SAShikutkin 6 25.06.24 16:41 Сейчас в теме
(1) Для регистра создаёте форму записи. При создании читаете значение из ХЗ и выводите на форму ТЗ. При записи кладете из ТЗ в ХЗ
21. Aleck1281 26.06.24 10:35 Сейчас в теме
(5) Да, такое же предложение у (6). Я что-то такое предполагал, но решил спросить, нет ли других вариантов.
9. glek 120 25.06.24 16:57 Сейчас в теме
(1) Прежде чем строить что-то такое, необходимо понять, как и для чего будет использоваться. А потом уже заниматься архитекторствованием.
12. Aleck1281 25.06.24 16:59 Сейчас в теме
(9) Это используется для создания списка отборов, по которому потом будет создан запрос, для регламентного задания
14. glek 120 26.06.24 08:01 Сейчас в теме
(12) а почему не использовать справочник с табличной частью?
EarlyBird; +1 Ответить
17. Aleck1281 26.06.24 10:29 Сейчас в теме
(14)Логика такова, что справочник не подходит вообще.
25. glek 120 26.06.24 12:00 Сейчас в теме
(17) Аргумент. Лучше, конечно, закидывать в хранилище данных, а потом оттуда вытаскивать (кстати, Вам не зря говорили по целостность и Ваш аргумент "практически невероятен" с точки зрения архитектора не выдерживает никакой никакой критики).
3. SAShikutkin 6 25.06.24 16:36 Сейчас в теме
И в целом какая задача?
22. Aleck1281 26.06.24 10:36 Сейчас в теме
6. soft_wind 25.06.24 16:48 Сейчас в теме
на форме записи регистра сделайте поле списокЗначений
его заполняете из хранилища
элементСписокзначений = Запись.РеквизитХранилище.Получить();
и пользователь его редактирует,

по кнопке записать ваш СЗ помещаете обратно в реквизит
Запись.РеквизитХранилище = Новый ХранилищеЗначения(элементСписокзначений );
10. Aleck1281 25.06.24 16:58 Сейчас в теме
15. user5300 1054 26.06.24 08:20 Сейчас в теме
(10)
Добавляешь в регистр строковый тип:
/// При записи

СписокЗначений = новый СписокЗначений;
СписокЗначений.Добавить("Номенклатура1");
СписокЗначений.Добавить("Номенклатура2");


Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку(); 
		
МассивДокументовВОбъектеXDTO = СериализаторXDTO.ЗаписатьXDTO(СтруктураДокумента);
ФабрикаXDTO.ЗаписатьXML(Запись, МассивДокументовВОбъектеXDTO);

СписокЗначенийXML = Запись.Закрыть();   /// Строка


/// При открытии

ЧтениеXML = новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СписокЗначенийXML);
	
СписокЗначений = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
Показать
13. пользователь 25.06.24 20:34
Сообщение было скрыто модератором.
...
16. EarlyBird 7 26.06.24 08:23 Сейчас в теме
а понятие ссылочной целостности для кого придумано?
что будет, когда пользователь удалит номенклатуру из справочника, а у вас ссылка хранится в списке?

не надо пользоваться методами, идущими ещё из древней 7.7 (там тоже приходилось список со ссылками хранить в строке неограниченной длины, но там других вариантов почти не было).
18. Aleck1281 26.06.24 10:32 Сейчас в теме
(16) В базе практически не производится удаление помеченных объектов, поэтому этот случай как раз практически невероятен.
26. user2033930 26.06.24 12:43 Сейчас в теме
(18) "У вас несчастные случаи на стройке были? Будут!" (С)
EarlyBird; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот