Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 05:12
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вывод элементов выбранной группы справочника  (Прочитано 1627 раз)

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

Оффлайн shutani

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-14
  • Сайт: 
Добрый день/вечер/ночь! Комплексная конфигурация. Создала отчет, в котором в Таблице выводится номенклатура, цены которой изменились за выбранный период (сами цены тоже выводятся по столбцам - цена на начальную и цена на конечную дату). Появилась необходимость в диалоге выбрать товар или группу товаров, элементы которой будут выводится также при условии изменения цены.  Добавила на форму поле ВыбНомен с ссылкой на Справочник.Номенклатура. Как сделать, чтобы выводились товар и цены только выбранной группы или элемента? Листинг самого отчета прилагается:
Перем Цена1, Цена2;           
Процедура Сформировать()   
    СпрТовар = СоздатьОбъект("Справочник.Номенклатура");
    СпрЦена = СоздатьОбъект("Справочник.Цены");
    СпрТовар.ВыбратьЭлементы();
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
        Таб.ВывестиСекцию("Заголовок");
        Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

Пока СпрТовар.ПолучитьЭлемент()=1 Цикл  
    Если СпрТовар.ЭтоГруппа()=1 Тогда   
продолжить;
            КонецЕсли;
       
    Цена1 = 0;
            Цена2 = 0; 
            СпрЦена.ИспользоватьВладельца(СпрТовар.ТекущийЭлемент());
            СпрЦена.ВыбратьЭлементы();
           
    Пока СпрЦена.ПолучитьЭлемент()=1 Цикл
                Если СпрЦена.ТипЦен <> ВыбТипыЦен Тогда
                    продолжить;
                КонецЕсли;
                Цена1 = СпрЦена.Цена.Получить(ВыбНачПериода);
                Цена2 = СпрЦена.Цена.Получить(ВыбКонПериода);
    КонецЦикла;
   
    Если Цена1<>Цена2 Тогда
  Состояние("Заполнение выходной таблицы...");
                 Таб.ВывестиСекцию("Номенклатура");
    КонецЕсли; 
       КонецЦикла;

Таб.ТолькоПросмотр(1);
Таб.Показать("Таблица", "");           

КонецПроцедуры


Оффлайн fipolaz

  • *
  • Сообщений: 47
  • РЕПУТАЦИЯ: 8
  • КПД: 17%
  • Регистрация: 2015-03-29
    • Skype: fipolaz
  • Компания: ИП
  • Профессия: Программист 7.7
В процедуре Сформировать замени фильтр
        Если СпрТовар.ЭтоГруппа()=1 Тогда    
        продолжить;
            КонецЕсли;
на вызов фильтрующей функции
Если Продoлжить(СпрТовар.ТекущийЭлемент())=1 Тогда    
Продолжить;
КонецЕсли;
выше процедуры Сформировать добавь код функции
Функция Продoлжить(Элемент)
Если Элемент.ЭтоГруппа()=1 Тогда   
Возврат 1;
КонецЕсли;
Если ПустоеЗначение(ВыбНомен)=0 Тогда
Если ВыбНомен.ЭтоГруппа()=1 Тогда
Если Элемент.ПринадлежитГруппе(ВыбНомен)=0 Тогда
Возврат 1;
КонецЕсли;
Иначе
Если НЕ(Элемент=ВыбНомен) Тогда
Возврат 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат 0;
КонецФункции//Продoлжить

Оффлайн shutani

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-14
  • Сайт: 
fipolaz, огромное спасибо! Всё работает! Добра)


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 117
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal