Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 13:20

РегистрСведений.Выбрать - сломал бошку

Автор Leviathan, 28 апр 2016, 16:40

0 Пользователей и 1 гость просматривают эту тему.

Leviathan

Всем доброго дня!
Бухгалтерия Предприятия 3.0.43.152

Цитировать
Контрагент = Справочники.Контрагенты.НайтиПоКоду("00-001868");
Отборр = Новый Структура("Контрагент");
Отборр.Контрагент = Контрагент;
Выборка = РегистрыСведений.ОсновныеДоговорыКонтрагента.Выбрать(,,Отборр);

На Выбрать говорит "Слишком много фактических параметров. Но их там вообще четыре! Не понимаю, что творится. Пример взят почти без изменений из хелпа. Что я делаю не так?..

xdto

Что вы собираетесь делать с помощью этого кода??

Leviathan

Отобрать основной договор по контрагенту. Теперь поле Контрагент.ОсновнойДоговорКонтрагента убрали и надо вытаскивать из регистра. Неужели полную лажу написал? Да не похоже что-то, к тому же сообщение об ошибке о лишних параметрах совсем я не понимаю что бы не делал этот код... Синтаксис-помощник сам предлагает вводить до четырех параметров

xdto

Как я понял Вы хотите отобрать все договоры из регистра по конкретному контрагенту??

Leviathan

Да, именно это. За основу взял вот такой пример из хелпа:

Курсы = РегистрыСведений.КурсыВалют;
ОтборВалют = Новый Структура("Валюта");
ОтборВалют.Валюта = ВыбВалюта;
ВыборкаКурсовВалют = Курсы.Выбрать(,,ОтборВалют);
Пока ВыборкаКурсовВалют.Следующий() Цикл
    Сообщить("Дата " + ВыборкаКурсовВалют.Период +
    " Валюта "+СокрЛП(ВыборкаКурсовВалют.Валюта) +
    ", Курс "+  ВыборкаКурсовВалют.Курс );
КонецЦикла;

Kironten

Цитата: Leviathan от 28 апр 2016, 16:40
Всем доброго дня!
Бухгалтерия Предприятия 3.0.43.152

Цитировать
Контрагент = Справочники.Контрагенты.НайтиПоКоду("00-001868");
Отборр = Новый Структура("Контрагент");
Отборр.Контрагент = Контрагент;
Выборка = РегистрыСведений.ОсновныеДоговорыКонтрагента.Выбрать(,,Отборр);

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

Leviathan

Kironten, огромное спасибо!!! Сработало. Мне казалось, что я пробовал этот вариант. Похоже, что только казалось... Остается загадочным поведение синтаксис-помощника, похоже, баг :wacko:

cska-fanat-kz

НаборЗаписей = РегистрыСведений.ОсновныеДоговорыКонтрагентов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Контрагент.Установить(Контрагент);
НаборЗаписей.Прочитать();
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (4)

Рейтинг@Mail.ru

Поиск