Имя: Пароль:
1C
1С v8
Как на форме ввести список из Спр для запроса отчета не СКД (УФ)?
,
0 temsa
 
26.02.15
15:43
Есть отчет на 1с8.3 но не СКД.
На форме есть на даный момент два реквизита (параметра)
"Период отчета" и реквизит типа справочника (Например Номенклатура).
Реквизит "Номенклатура" служит отбором по отчету.
Отчет отлажен все ок работает.
Но пожелали чтоб отбор мог быть не по одной Номенклатуре а по списку.

Вот тут у меня ступор как это делать на УФ.

Динамический список??? Или что-то еще?
1 Dmitriy_76
 
26.02.15
15:47
реквизит формы список значений не подойдет разве?
2 temsa
 
26.02.15
16:51
(1) Думаю подойдет.
Но не знаю как организовать ввод данных. Те выбор в список. Как там тип определить.
3 temsa
 
27.02.15
06:50
на словах  хоть подскажите.
Чтоб хоть начать двигаться в нужном направлении.
4 Рэйв
 
27.02.15
07:05
(3)
https://yadi.sk/i/w0efpb-Qev2Zu
+

&НаКлиенте
Процедура спНом1ЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    Ф=ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора");
    Выбор=Ф.ОткрытьМодально();
    Если Выбор<>Неопределено Тогда
        Если Объект.спНом.НайтипоЗначению(Выбор)=Неопределено Тогда
            Объект.спНом.Добавить(Выбор);
        КонецЕсли;    
    КонецЕсли;    
    
КонецПроцедуры



//------


примерно так
5 Рэйв
 
27.02.15
07:07
там один сз на форме лишний:-) Разберешься поди.
6 temsa
 
27.02.15
07:11
(5) Спасибо. БУду пробовать.
7 temsa
 
27.02.15
07:36
А как можно в запросе проверить что список пустой?
Было так

|ГДЕ
        |    ЗаказТовары.Ссылка.Дата МЕЖДУ &Начало И &Окончание
        |    И ЗаказТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |   И Выбор Когда  &Ном = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |     ТОГДА ИСТИНА
        |        ИНАЧЕ ЗаказТовары.Номенклатура = (&Ном)
        |    КОНЕЦ

НУжон прерделать на список.
8 Рэйв
 
27.02.15
07:50
|        ИНАЧЕ ЗаказТовары.Номенклатура В (&Ном)
9 temsa
 
27.02.15
07:55
(8) Это все сделано. А вот Проверка списка на пустой не надо как я понял. Но у меня в отчет ничего не падает если список пустой.
10 Рэйв
 
27.02.15
07:59
Запрос.Тест="......
|ГДЕ
        |    ЗаказТовары.Ссылка.Дата МЕЖДУ &Начало И &Окончание
        |    И ЗаказТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)";

  Если спПараметр.Количество()>0 Тогда
     Запрос.Текст=Запрос.Текст+"  
        |   И ЗаказТовары.Номенклатура В (&Ном)
        |   ";
  КонецЕсли;
11 Рэйв
 
27.02.15
08:00
* |    И ЗаказТовары.Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)

это лишнее в первой части
12 Рэйв
 
27.02.15
08:00
хотя...может  и нет .Сам сомотри
13 temsa
 
27.02.15
08:01
(10) Черт! Можно ведь так выкрутится. Спасибо.

Хотя пишут если список простой то будет истина

Попробую через выбор что-то придумать еще.
14 Лодырь
 
27.02.15
08:37
Можно сделать красиво через отбор компоновщика настроек.
15 temsa
 
27.02.15
08:55
(14) У меня ведь обычный отчет на УФ а не СКД.
Или там тоже это можно?
16 Лодырь
 
27.02.15
10:58
(15) Компоновщик настроек можно использовать для отбора номенклатуры которую потом передать в запрос для твоего отчета.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший