8.х Сделать отбор в форме

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем haki, 30 янв 2012.

  1. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Делаю отчет опредленного формата, то есть со своими нужными полями и т.д. и столкнулся с тем что мне надо добавить еще отбар по данному отчету
    а именно нужно Номенклатура.ВидыНоменклатуры | неравно | услуга

    вот код

    Код:
    Если ПостроительОтчета.Отбор.Найти("ВидыНоменклатуры")= Неопределено тогда
    ПостроительОтчета.Отбор.Добавить(ПостроительОтчета.ДоступныеПоля.ВидыНоменклатуры.ПутьКДанным);
    КонецЕсли;
    ПостроительОтчета.Отбор.Номенклатура.ВидыНоменклатуры.Использование = Истина;
    ПостроительОтчета.Отбор.Номенклатура.ВидыНоменклатуры.ВидСравнения  = ВидСравнения.НеРавно;
    ПостроительОтчета.Отбор.Номенклатура.ВидыНоменклатуры.Значение	  = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("УСЛУГА");
    

    что не правильно?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    ВидыНоменклатуры есть в запросе?
  3. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Что значит есть в запросе?
  4. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    я просто не пойму как подключить ВидыНоменклатуры

    если везде поставить просто Номенклатура, то тогда значение в отбор добавлется и ставить у него галочка и тип сравнения ставиться "Неровно", но само значение не добавляется
    и если делать руками в настройках , то там получается так

    Номенклатура.Вид номенклатуры | неровно | услуга


    вот как программно вызвать Номенклатура.Вид номенклатуры ?
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Нчего не понятно. Что за отчет? Как он формируется?
  6. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Отчет Валовая прибыль
    у меня есть рабочее место руководителя где есть ссылка на отчет который формируеться как надо

    вот его полный код

    Код:
    Если ИмяОтчета = "ВаловаяПрибыль" тогда
    ФормаОтчета.Открыть();
    
    Отборы = ФормаОтчета.ЭтотОбъект.УниверсальныйОтчет.ПостроительОтчета.Отбор;
    Сч = 0;
    Пока Сч < Отборы.Количество() Цикл
    Отборы[Сч].Использование = Ложь;
    Сч = Сч+1;
    КонецЦикла;
    
    ПостроительОтчета = ФормаОтчета.УниверсальныйОтчет.ПостроительОтчета;
    ПостроительОтчета.ВыбранныеПоля.Очистить();
    ПостроительОтчета.Порядок.Очистить();
    ПостроительОтчета.ИзмеренияСтроки.Очистить();
    ПостроительОтчета.ИзмеренияКолонки.Очистить();
    ПостроительОтчета.ИзмеренияСтроки.Добавить("ПериодМесяц");
    ПостроительОтчета.ИзмеренияСтроки.Добавить("ПериодДень");
    ПостроительОтчета.ИзмеренияСтроки.Добавить(ПостроительОтчета.ДоступныеПоля.Номенклатура.ПутьКДанным,,ТипИзмеренияПостроителяОтчета.Элементы);
    //ПостроительОтчета.ИзмеренияСтроки.Добавить(ПостроительОтчета.ДоступныеПоля.Номенклатура.Наименование.Элементы);
    
    
    Для каждого СтрокаПоказателей из ФормаОтчета.УниверсальныйОтчет.Показатели.Строки Цикл
    Если СтрокаПоказателей.Имя = "Количество" ИЛИ СтрокаПоказателей.Имя = "Себестоимость" ИЛИ СтрокаПоказателей.Имя = "СтоимостьПродажи"
    ИЛИ СтрокаПоказателей.Имя = "ВаловаяПрибыль"
    //ИЛИ СтрокаПоказателей.Имя = "Эффективность" ИЛИ СтрокаПоказателей.Имя = "Рентабельность"
    Тогда
    СтрокаПоказателей.Использование = Истина;
    Иначе
    СтрокаПоказателей.Использование = Ложь;
    КонецЕсли;
    КонецЦикла;
    
    Если ПостроительОтчета.Отбор.Найти("Проект") = Неопределено тогда
    ПостроительОтчета.Отбор.Добавить(ПостроительОтчета.ДоступныеПоля.Проект.ПутьКДанным);
    КонецЕсли;
    ПостроительОтчета.Отбор.Проект.Использование = Истина;
    ПостроительОтчета.Отбор.Проект.ВидСравнения  = ВидСравнения.Равно;
    ПостроительОтчета.Отбор.Проект.Значение	  = Справочники.Проекты.НайтиПоНаименованию("Продажа");
    
    //Если ПостроительОтчета.Отбор.Найти("Номенклатура")= Неопределено тогда
    // ПостроительОтчета.Отбор.Добавить(ПостроительОтчета.ДоступныеПоля.Номенклатура.ПутьКДанным);
    // КонецЕсли;
    //ПостроительОтчета.Отбор.ВидыНоменклатуры.Использование = Истина;
    //ПостроительОтчета.Отбор.ВидыНоменклатуры.ВидСравнения  = ВидСравнения.НеРавно;
    //ПостроительОтчета.Отбор.ВидыНоменклатуры.Значение	  = Справочники.ВидыНоменклатуры. .НайтиПоНаименованию("УСЛУГА");
    
    ФормаОтчета.ОбновитьОтчет();
    //ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат.ПоказатьУровеньГруппировокСтрок(0);
    

    и вот тут не могу сделать чтобы был отбор по Виду номенклатуры "Услуга"
    вот то что закоментино не работает
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Вопрос на засыпку - а зачем лезть в код? Это настраивается в пользвоательском режиме...
  8. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Ответ на отсыпку
    Затем чтобы руководитель мог нажав на ссылку на столе руководителя открыть сформированный отчет
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Поле Номенклатура.Вид номенклатуры должно присутствовать в запросе, вроде.
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    И зачем лезть в код? Это делается все настройками отчета.
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Шефу походу не нужно лезть в настройки:))), зачем много знать:))))
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ага, а потом будет миллион кнопок и надо будет вспоминать, какая за что отвечает.
    Намного проще ОДИН раз настроить отчет и сохранить эти настройки.
    В этом случае - они будут автоматом подхватываться и ничего делать не надо будет.
  13. TopicStarter Overlay
    haki
    Offline

    haki

    Регистрация:
    12 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    настройки я сделал, но автоматом они не подхватываются их каждый раз надо подгружать
    то есть получается надо нажать 3 раза типа открыть отчет, загрузить настройки, и потом сформировать

    а ему надо чтобы нажал один раз и показался отчет с нужными настройками

Поделиться этой страницей