Вход | Регистрация
 

Как открыть единственную запись регистра сведений в УФ?

Как открыть единственную запись регистра сведений в УФ?
Я
   Гений 1С
 
21.01.21 - 11:47
Единственную запись использую вместо констант, т.к. пишу расширение для УНФ, а там еще константы в расширениях не поддерживаются из-за совместимости.


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    МассивКонструктораКлюча = Новый Массив;
    МассивКонструктораКлюча.Добавить(Новый Структура("",));

    КлючЗаписиРегистра = Новый ("РегистрСведенийКлючЗаписи._Настройки", МассивКонструктораКлюча);
    
    
    //ПараметрыФормы = Новый Структура("Ключ", Новый Структура());
    ПараметрыФормы = Новый Структура("Ключ", КлючЗаписиРегистра);
    
    ОткрытьФорму("РегистрСведений._Настройки.Форма.ФормаЗаписи", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры

Код подсмотрел тут, но не работает: https://capitally.ru/1c-development/izuchenie-1s/language-1c/klyuch-zapisi-registra-svedenij-dlya-otkrytiya-ee-formy/
   NWsFF
 
1 - 21.01.21 - 11:53
тяжела жизнь фрилансера
ПараметрыФормы = Новый Структура("Отбор", ....структура полей отбора....
   NWsFF
 
2 - 21.01.21 - 11:55
не увидел про запись
   Гений 1С
 
3 - 21.01.21 - 11:56
(1) так это форма записи, а не списка.
Кстати, если из РС интерактивно из списка открывать, для этой единственной записи тоже открывается пустая форма...
Глюк 1С что-ли?
   d4rkmesa
 
4 - 21.01.21 - 11:57
(0) КлючЗаписиРегистра = СоздатьКлючЗаписи(СтруктураОтбора) , где СтруктураОтбора - наименования измерений (ключ) и их значения отбора(значение).
   d4rkmesa
 
5 - 21.01.21 - 11:58
(4) Может не совсем корректно записал, из мануала по функции, аргумент: "Структура, содержащая значения для заполнения свойств ключа записи.
Имена элементов структуры должны соответствовать именам ключевых полей. "
   NWsFF
 
6 - 21.01.21 - 11:58
(0) какие измерения в регистре?
   Гений 1С
 
7 - 21.01.21 - 11:59
(6) никаких
   Гений 1С
 
8 - 21.01.21 - 12:01
У меня на одном проекте так прокатывало (там для Фрешей делал), но я интерактивно данные не редактировал, использовал для других целей... гм...
   Галахад
 
9 - 21.01.21 - 12:01
(7) Это как?
   Гений 1С
 
10 - 21.01.21 - 12:03
(4) это серверный код. не думаю, что он даст мне отличный от клиента ключ
   NWsFF
 
11 - 21.01.21 - 12:11
(7) добавь измерение и не лохмать бабушку, стандартная форма регистра даже будет глючить
   Гений 1С
 
12 - 21.01.21 - 12:12
(11) В итоге так и сделал, добавил пустое измерение типа строка 1 символ, гыгыгы. Спасибо 1С за железную логику
   ДенисЧ
 
13 - 21.01.21 - 12:13
А что, в Гениальном решении был РС без измерений?
Это уже не гениально. Это ГЕНИАЛЬНЕЙШЕЕЕЕЕЕ.
   Гений 1С
 
14 - 21.01.21 - 12:14
(13) а что тебя в этом смущает?
   DrShad
 
15 - 21.01.21 - 12:16
для таких целей использую Справочник м предопределенными элементами и реквизитом тип Любая ссылка
в дальнейшем даже в запросах легко использовать
   butterbean
 
16 - 21.01.21 - 12:16
(0) а почему регистр сведений, а не справочник с одним реквизитом произвольного типа? например
   ДенисЧ
 
17 - 21.01.21 - 12:17
(14) Всё хорошо, не напрягайся. Продолжай в том де русле...
   Andreyyy
 
18 - 21.01.21 - 12:20
(0) Сделай свою форму в регистре.
   Сергиус
 
19 - 21.01.21 - 12:28
[Спасибо 1С за железную логику]

Ну это все равно что залить в машину вместо бензина воду, и "благодарить" производителя, что она не едет)
   Гений 1С
 
20 - 21.01.21 - 13:26
(15) да ты шьто? в РС я могу реквизиты прописать нужного типа, а в справочнике получаю геморрой с типизацией. Любим велосипеды с квадратными колесами?
   Гений 1С
 
21 - 21.01.21 - 13:27
(18) ну это напряжно, проще измерение добавить. Спасибо товарищу нуралиеву за отсутствие глюков в платформе.
   acht
 
22 - 21.01.21 - 13:30
TL;DR
Что, гений ничего нам так еще и не подарил?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.