helpf.pro
Регистрация

v7: Как сформировать отчет с отбором из справочника по нескольким значениям списков

sernikant
27.11.2018 21:37Прочитано: 1088

Всем привет!. Начинаю программировать. Не судите строго.

Требуется сформировать отчет по справочнику Товары, в котором есть 3 реквизита - все имеют тип "Перечисление"

На форме отчет отчета 3 списка с пометками (список 1, список2, список 3) , заполненные программно значениями перечислений, например

Список1 (значения РФ, РБ). список2 (Годный,Негодный), Список3(Мелкий, Средний, Крупный)

Как программно перебором (с функцией) вывести  в отчет те Товары, которые соответствуют выбранным пользователем значениям в списках, при этом в списке могут быть выбраны несколько значений. К примеру получить все элементы у которых стоит пометка РФ, Годный, Мелкий, Средний.

Помогите реализовать без  использования запроса

Yandex
Возможно, вас также заинтересует
Реклама на портале
АВП
28.11.2018 17:40Ответ № 1

Хотя бы скрин того что получается без отбора покажи. Пока непонятно что есть и что надо

Saagiv
03.12.2018 10:59Ответ № 2

Так же как и с использованием чОрного запроса...спСписок1 = СоздатьОбъект("СписокЗначений"); // сюда собираем то что помечено в первом списке ...Для I = 1 По Список1.РазмерСписка() ЦиклЕсли Список1.Пометка(I) = 1 ТогдаспСписок1.ДобавитьЗначение(Список1.ПолучитьЗначение(I));КонецЕсли;КонецЦикла;....спСписок2 = СоздатьОбъект("СписокЗначений"); // сюда собираем то что помечено во втором списке списке ......спСписок2 = СоздатьОбъект("СписокЗначений"); // сюда собираем то что помечено в третьем списке ...........СпрНоменклатура.ВыбратьЭлементы(); // шаримся в справочникеПока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл// Определяем пациента ...Если спСписок1.НайтиЗначение(прНоменклатура.Реквизит1) > 0И спСписок2.НайтиЗначение(прНоменклатура.Реквизит2) > 0И спСписок2.НайтиЗначение(прНоменклатура.Реквизит3) > 0 Тогда

...КонецЕсли;КонецЦикла;

АВП
03.12.2018 19:32Ответ № 3

А теперь то же самое, но выделите тегом код. Не читается такое. Неужели не видите?

sernikant
06.12.2018 13:35Ответ № 4

Спасибо Saagiv.

Попробую Вашу идею. Сам пока решил для себя так. Функцией возвращаю только помеченные значения списков в строку с разделителями, далее по справочнику в цикле проверяю необходимый реквизит через СтрЧислоВхождений, если значение 0, тогда продолжить.

sernikant
06.12.2018 13:35Ответ № 5

Спасибо Saagiv.

Попробую Вашу идею. Сам пока решил для себя так. Функцией возвращаю только помеченные значения списков в строку с разделителями, далее по справочнику в цикле проверяю необходимый реквизит через СтрЧислоВхождений, если значение 0, тогда продолжить.

sernikant
06.12.2018 13:36Ответ № 6

Спасибо Saagiv.

Попробую Вашу идею. Сам пока решил для себя так. Функцией возвращаю только помеченные значения списков в строку с разделителями, далее по справочнику в цикле проверяю необходимый реквизит через СтрЧислоВхождений, если значение 0, тогда продолжить.

sernikant
06.12.2018 13:36Ответ № 7

Спасибо Saagiv.

Попробую Вашу идею. Сам пока решил для себя так. Функцией возвращаю только помеченные значения списков в строку с разделителями, далее по справочнику в цикле проверяю необходимый реквизит через СтрЧислоВхождений, если значение 0, тогда продолжить.

sernikant
06.12.2018 13:36Ответ № 8

Спасибо Saagiv.

Попробую Вашу идею. Сам пока решил для себя так. Функцией возвращаю только помеченные значения списков в строку с разделителями, далее по справочнику в цикле проверяю необходимый реквизит через СтрЧислоВхождений, если значение 0, тогда продолжить.

sernikant
06.12.2018 22:01Ответ № 9
Вопрос закрыт!
Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.