Имя: Пароль:
1C
1С v8
Получить ключи записи разных регистров сведений
,
0 ac13
 
04.05.23
15:16
Нужно получить ключи записей разных регистров сведений по отбору.
Например, есть какой-то массив значений = &МассивТоваров.
Нужно из большого количества регистров сведений (не из всех) отобрать записи, где одно из измерений этих регистров В(&МассивТоваров). Что-то типа поиска ссылок на объекты, но мне нужны только определенные регистры сведений. Их около 40 шт.
Определяю каждый из регистров и для каждого прописываю условие отбора по измерению, но для каждого регистра прописать структуру для получения ключей всех записей очень долго, да и это извращение какое-то. Может кто знает универсальное решение?
Через запрос же никак не получить ключ записи РС?
1 Галахад
 
гуру
04.05.23
15:19
Имена измерений нужны, что ли?
2 KJlag
 
04.05.23
15:22
через метаданные?
Метаданные.РегистрыСведений.ИмяРегистра.Измерения
3 Мультук
 
гуру
04.05.23
15:25
(0)

Ключ записи строится по имена измерений (не прозевай "Период")

Имена измерений = можно взять из метаданных конкретного РС, не прозевай "Период"


Функция ВернутьТекстЗапроса(МассивИменРегистровСведений)
     Цикл по МассивИменРегистровСведений
         Цикл по измеренияем

   Возврат текстЗапроса;
КонецФункции

P.S.

Запросы к разным регистрам объединяем через

ОБЪЕДИНИТЬ ВСЕ
4 Мультук
 
гуру
04.05.23
15:26
Либо если регистры "совсем разные", то "идём другим путём"
5 ac13
 
04.05.23
15:27
(3) Ну это получается мне нужно будет для каждого регистра описывать структуру для получения ключа записей, так ведь?
6 OldCondom
 
04.05.23
15:29
А в чем задача заключается? Узнать, в каких регистрах насрала номенклатура?
7 Мультук
 
гуру
04.05.23
15:29
(5)

Для чего вам ключ записи ? Дальше с ним что делаем ?
8 OldCondom
 
04.05.23
15:34
(7) ставлю на удаление
9 ac13
 
04.05.23
15:39
(6) по сути да
(7) заменяем ссылки
10 arsik
 
гуру
04.05.23
15:43
(9) Есть же штатная замена ссылок в БСП вроде.
11 OldCondom
 
04.05.23
15:44
(10) + Штатная НайтиПоСсылкам() ищет по записям РС, и даже можно указать каким РС)
12 ac13
 
04.05.23
15:53
(10) с заменой ссылок проблем нет
(11) в штатной НайтиПоСсылкам() можно ограничить метаданные поиска?
13 OldCondom
 
04.05.23
15:55
НайтиПоСсылкам(<СписокСсылок>, <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)
14 ac13
 
04.05.23
15:56
(13) куда запихнуть массив нужных мне регистров сведений, чтобы искало только по ним?
15 ac13
 
04.05.23
15:57
(14) ОбластьПоиска или ВключитьОбъекты?
16 OldCondom
 
04.05.23
16:21
Ладно, только потому, что сам в свое время сильно с этим тупил скажу без издевки.

Обрати внимание на ДОПУСТИМЫЕ ЗНАЧЕНИЯ. Очень внимательно смотри.
<ОбластьПоиска> (необязательный)
Тип: Массив.
Определяет область поиска объектов. Область устанавливается комбинацией разделителей, в состав которых включены объекты метаданных, среди данных которых следует выполнять поиск.
Элемент массива имеет тип Массив.
Элемент вложенного массива имеет тип:
Объект метаданных – Общий реквизит, разделяющий данные.
Строка – имя общего реквизита, разделяющего данные.

По умолчанию имеет значение Неопределено.

Допустимые значения:
Неопределено,
Массив с комбинациями разделителей, определяющий область поиска,
Пустой массив - область поиска определяется параметрами метода <ВключитьОбъекты> и <ИсключитьОбъекты>.
17 ac13
 
04.05.23
16:41
(16) Благодарю, уже пробую механизм.