Имя: Пароль:
1C
 
Определяемый тип в выборке документов.
0 Каскад
 
17.11.25
13:01
Если я делаю выборку докумнетов, то можно сделать отбор по реквизиту. Все хорошо работает, если поле отбора ссылка не на определяемый тип
Документы.РеализацияТоваровУслуг.Выбрать(,,Новый Структура("Организация", Организация))

Но это перестает работать, если в реквизите стоит определяемый тип. К примеру, в документе АктУничтоженияПерсональныхДанных реквизит Организация есть ОпределяемыйТип.Организация.

Не смог нагуглить, как создать переменную типа "ОпределяемыйТип.Организация" с присвоенным значением, чтобы потом эту переменную подсунуть в структуру Отбора.
2 Михаил Козлов
 
17.11.25
13:04
Не пробовали просто ссылку на справочник Организации?
3 Ненавижу 1С
 
гуру
17.11.25
13:05
(0) считайте, что определяемый тип это такой же составной и состоит из того, что в нем указано. Синоним типа
4 Волшебник
 
17.11.25
13:07
(0) Не забудьте указать период выборки.
Кстати, это вполне должно работать. Хотя выборку лучше делать запросом
5 Каскад
 
17.11.25
13:14
(1) Пример выборки, которая будет работать в бухгалтерии:
Организация = Справочники.Организации.НайтиПоНаименованию("Наша фирма");
Выборка = Документы.РеализацияТоваровУслуг.Выбрать(,,Новый Структура("Организация", Организация));
Пока Выборка.следующий() Цикл
КонецЦикла;

Пример выборки, которая НЕ будет работать в бухгалтерии:
Организация = Справочники.Организации.НайтиПоНаименованию("Наша фирма");
Выборка = Документы.АктОбУничтоженииПерсональныхДанных.Выбрать(,,Новый Структура("Организация", Организация));
Пока Выборка.следующий() Цикл
КонецЦикла;


Работать не будет потому, что  в Реализации Организация есть Справочники.Организация, а в АктОбУничтоженииПерсональныхДанных реквизит "Организация" есть ОпределяемыйТип.Организация. А я подаю ссылку на справочник. Оно валится и выборку делать не хочет.

ps
Пишет вот что:
Ошибка при вызове метода контекста (Выбрать)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(5)}:Выборка = Документы.АктОбУничтоженииПерсональныхДанных.Выбрать(,,Новый Структура("Организация", Организация));
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}:Команда1НаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Недопустимое значение параметра (параметр номер '3')
[ОшибкаИспользованияВстроенногоЯзыка]


Пока что не понимаю, как правильно определеть значение переменной Организация во второй выборке. Оно явно должно иметь тип значения ОпределяемыеТипы.Организация с присвоенным значением ссылки на справочник организации. Но я не смог нагуглить, как этого добиться.
6 Волшебник
 
17.11.25
13:10
(5) Что значит "валится"? Какая ошибка?
7 Волшебник
 
17.11.25
13:10
Наверняка реквизит не индексированный
8 Волшебник
 
17.11.25
13:10
Переходите на запросы. Там индексация реквизитов не важна
9 Ненавижу 1С
 
гуру
17.11.25
13:11
(5) В качестве полей для отбора могут задаваться только поля "Дата" и реквизиты документа, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или в значение "Индексировать с доп. упорядочиванием".
10 Каскад
 
17.11.25
13:17
(6) Ошибка при вызове метода контекста (Выбрать)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(5)}:Выборка = Документы.АктОбУничтоженииПерсональныхДанных.Выбрать(,,Новый Структура("Организация", Организация));
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}:Команда1НаСервере();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Недопустимое значение параметра (параметр номер '3')
[ОшибкаИспользованияВстроенногоЯзыка]
11 Волшебник
 
17.11.25
13:17
(10) Вам уже всё объяснили
12 Каскад
 
17.11.25
13:17
(9) Спасибо! Да, там нет индексации.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.