Имя: Пароль:
1C
 
Установка параметра &СписокЗначений
0 Nata3711
 
31.05.15
12:20
Здравствуйте...........
Подскажите, пожалуйста....
В Форме указала реквизит Номенклатура-выбрала затем "СписокЗначений"
И почему то пустой список выходит в результате

Помогите пожалуйста. Что-то у меня никак не получается.....
Вот и м,одуль:

Процедура КнопкаСформироватьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    Запрос = Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    ТоварыНаСкладахОстатки.Склад,
                 |    ТоварыНаСкладахОстатки.Номенклатура,
                 |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                 |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Остаток,
                 |    0 КАК Резерв,
                 |    0 КАК Лимит,
                 |    0 КАК Заказ,
                 |    0 КАК ЗаказПокупателяКонтрагент
                 |ПОМЕСТИТЬ ОстатокВТ
                 |ИЗ
                 |    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    ТоварыНаСкладахОстатки.Номенклатура,
                 |    ТоварыНаСкладахОстатки.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    ТоварыВРезервеНаСкладахОстатки.Склад,
                 |    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
                 |    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    0,
                 |    СУММА(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток)КАК Резерв,
                 |    0,
                 |    0,
                 |    0
                 |ИЗ
                 |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыВРезервеНаСкладахОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
                 |    ТоварыВРезервеНаСкладахОстатки.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    ЛимитОстатковПоТоварам.Склад,
                 |    ЛимитОстатковПоТоварам.Номенклатура,
                 |    ЛимитОстатковПоТоварам.ХарактеристикаНоменклатуры,
                 |    0,
                 |    0,
                 |    СУММА(ЛимитОстатковПоТоварам.Количество)КАК Лимит,
                 |    0,
                 |    0
                 |ИЗ
                 |    РегистрСведений.ЛимитОстатковПоТоварам КАК ЛимитОстатковПоТоварам
                 |ГДЕ
                 |    ЛимитОстатковПоТоварам.Склад = &Склад
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЛимитОстатковПоТоварам.ХарактеристикаНоменклатуры,
                 |    ЛимитОстатковПоТоварам.Номенклатура,
                 |    ЛимитОстатковПоТоварам.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    0,
                 |    ЗаказыПокупателейОстатки.Номенклатура,
                 |    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                 |    0,
                 |    0,
                 |    0,
                 |    СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток)КАК ЗаказПокупателяКонтрагент,
                 |    ЗаказыПокупателейОстатки.ЗаказПокупателя.Контрагент
                 |ИЗ
                 |    РегистрНакопления.ЗаказыПокупателей.Остатки (, ЗаказПокупателя.Контрагент = &Контрагент) КАК ЗаказыПокупателейОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                 |    ЗаказыПокупателейОстатки.Номенклатура,
                 |    ЗаказыПокупателейОстатки.ЗаказПокупателя.Контрагент
                 |;
                 |
                 |////////////////////////////////////////////////////////////////////////////////
                 |ВЫБРАТЬ
                 |    ОстатокВТ.Номенклатура,
                 |    ОстатокВТ.Склад,
                 |    ОстатокВТ.ХарактеристикаНоменклатуры,
                 |    ОстатокВТ.ЗаказПокупателяКонтрагент,
                 |    СУММА(ОстатокВТ.Остаток) КАК Остаток,
                 |    СУММА(ОстатокВТ.Резерв) КАК Резерв,
                 |    СУММА(ОстатокВТ.Лимит) КАК Лимит,
                 |    СУММА(ОстатокВТ.Заказ) КАК Заказ
                 |ИЗ
                 |    ОстатокВТ КАК ОстатокВТ
                 |ГДЕ
                 |    ОстатокВТ.Номенклатура.Ссылка В (&СписокЗначений)
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ОстатокВТ.Номенклатура,
                 |    ОстатокВТ.ХарактеристикаНоменклатуры,
                 |    ОстатокВТ.Склад,
                 |    ОстатокВТ.ЗаказПокупателяКонтрагент";
                
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("СписокЗначений", Номенклатура);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
                    
Результат = Запрос.Выполнить();
ТЗ=Результат.Выгрузить();
ТЗ.ВыбратьСтроку();
ВыборкаДетальныеЗаписи = Результат.Выбрать();

//ТабРез=Результат.Выгрузить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            НоваяСтрока=Товары.Добавить();
            НоваяСтрока.Номенклатура=ВыборкаДетальныеЗаписи.Номенклатура;
            НоваяСтрока.ХарактеристикаНоменклатуры=ВыборкаДетальныеЗаписи.ХарактеристикаНоменклатуры;
            НоваяСтрока.Остаток=ВыборкаДетальныеЗаписи. Остаток;
            НоваяСтрока.Зарезервировано=ВыборкаДетальныеЗаписи.Резерв;
            НоваяСтрока.СвобОстаток = ВыборкаДетальныеЗаписи.Остаток-ВыборкаДетальныеЗаписи.Резерв;
            НоваяСтрока.Заказ=ВыборкаДетальныеЗаписи.Заказ;
            НоваяСтрока.Лимит=ВыборкаДетальныеЗаписи.Лимит;
            НоваяСтрока.Дефицит=ВыборкаДетальныеЗаписи.Остаток-ВыборкаДетальныеЗаписи.Резерв+ВыборкаДетальныеЗаписи.Заказ-ВыборкаДетальныеЗаписи.Лимит;
          
КонецЦикла;

Товары.Свернуть("Номенклатура, ХарактеристикаНоменклатуры", "Остаток, Зарезервировано, СвобОстаток, Заказ, Лимит, Дефицит");
    

    

    
КонецПроцедуры
1 blopp
 
31.05.15
12:27
А у реквизита Номенклатура тип какой?
И если это СписокЗначений - он точно не пустой на момент выполнения КнопкаСформироватьНажатие?
2 Nata3711
 
31.05.15
12:32
Уазала.... Тип "СправочникСсылка.Номенклатура, СписокЗначений"-составной тип

Но у меня выходит что я только могу выбрать только И справочника одну группу А надо-несколько по выбору
4 GROOVY
 
31.05.15
12:34
Ну нафиг, промолчу.
5 Nata3711
 
31.05.15
12:37
Мож..подскажете все таки что не так????????
6 GROOVY
 
31.05.15
12:42
Ну как бы все не так.
И обращение к ссылке.ссылке, и куча объединений, вместо соединений, и тз в конце, это вообще шедевр.
7 Nata3711
 
31.05.15
12:44
В итоге то получилось.....
8 Nata3711
 
31.05.15
12:45
ТЗ - временный (Посмотреть......)
9 GROOVY
 
31.05.15
12:45
Гвозди можно штангельциркулем забивать.
10 GROOVY
 
31.05.15
12:46
(8) Ну да, и Свернуть() для красоты кода.
11 Nata3711
 
31.05.15
12:46
И прошу про параметр все таки подсказать...
12 GROOVY
 
31.05.15
12:47
А по ходу вопроса, прав коллега сверху, скорее всего тип значения не тот.
13 Nata3711
 
04.06.15
13:56
Процедура КнопкаСформироватьНажатие(Кнопка)
    // Вставить содержимое обработчика.

    Запрос = Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    ТоварыНаСкладахОстатки.Склад,
                 |    ТоварыНаСкладахОстатки.Номенклатура,
                 |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                 |    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Остаток,
                 |    0 КАК Резерв,
                 |    0 КАК Лимит,
                 |    0 КАК Заказ,
                 |    0 КАК ЗаказПокупателяКонтрагент
                 |ПОМЕСТИТЬ ОстатокВТ
                 |ИЗ
                 |    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    ТоварыНаСкладахОстатки.Номенклатура,
                 |    ТоварыНаСкладахОстатки.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    ТоварыВРезервеНаСкладахОстатки.Склад,
                 |    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
                 |    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    0,
                 |    СУММА(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток)КАК Резерв,
                 |    0,
                 |    0,
                 |    0
                 |ИЗ
                 |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыВРезервеНаСкладахОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры,
                 |    ТоварыВРезервеНаСкладахОстатки.Номенклатура,
                 |    ТоварыВРезервеНаСкладахОстатки.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    ЛимитОстатковПоТоварам.Склад,
                 |    ЛимитОстатковПоТоварам.Номенклатура,
                 |    ЛимитОстатковПоТоварам.ХарактеристикаНоменклатуры,
                 |    0,
                 |    0,
                 |    СУММА(ЛимитОстатковПоТоварам.Количество)КАК Лимит,
                 |    0,
                 |    0
                 |ИЗ
                 |    РегистрСведений.ЛимитОстатковПоТоварам КАК ЛимитОстатковПоТоварам
                 |ГДЕ
                 |    ЛимитОстатковПоТоварам.Склад = &Склад
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЛимитОстатковПоТоварам.ХарактеристикаНоменклатуры,
                 |    ЛимитОстатковПоТоварам.Номенклатура,
                 |    ЛимитОстатковПоТоварам.Склад
                 |
                 |ОБЪЕДИНИТЬ ВСЕ
                 |
                 |ВЫБРАТЬ
                 |    0,
                 |    ЗаказыПокупателейОстатки.Номенклатура,
                 |    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                 |    0,
                 |    0,
                 |    0,
                 |    СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток)КАК ЗаказПокупателяКонтрагент,
                 |    ЗаказыПокупателейОстатки.ЗаказПокупателя.Контрагент
                 |ИЗ
                 |    РегистрНакопления.ЗаказыПокупателей.Остатки (, ЗаказПокупателя.Контрагент = &Контрагент) КАК ЗаказыПокупателейОстатки
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                 |    ЗаказыПокупателейОстатки.Номенклатура,
                 |    ЗаказыПокупателейОстатки.ЗаказПокупателя.Контрагент
                 |;
                 |
                 ////////////////////////////////////////////////////////////////////////////////

                 |ВЫБРАТЬ
                 |    ОстатокВТ.Номенклатура,
                 |    ОстатокВТ.Склад,
                 |    ОстатокВТ.ХарактеристикаНоменклатуры,
                 |    ОстатокВТ.ЗаказПокупателяКонтрагент,
                 |    СУММА(ОстатокВТ.Остаток) КАК Остаток,
                 |    СУММА(ОстатокВТ.Резерв) КАК Резерв,
                 |    СУММА(ОстатокВТ.Лимит) КАК Лимит,
                 |    СУММА(ОстатокВТ.Заказ) КАК Заказ
                 |ИЗ
                 |    ОстатокВТ КАК ОстатокВТ
                 |ГДЕ
                 |    ОстатокВТ.Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ОстатокВТ.Номенклатура,
                 |    ОстатокВТ.ХарактеристикаНоменклатуры,
                 |    ОстатокВТ.Склад,
                 |    ОстатокВТ.ЗаказПокупателяКонтрагент";
                
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("СписокЗначений", Номенклатура);
Запрос.УстановитьПараметр("Контрагент", Контрагент);
                    
Результат = Запрос.Выполнить();
ДеревоЗначений=Результат.Выгрузить(ОбходРезультатаЗапроса.По ГруппировкамСИЕрархией);
ДеревоЗначений.ВыбратьСтроку();
ЭлементыФормы.ДеревоЗначений.СоздатьКолонки();

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

Поскажите, пожалуйста....

Мне надо Чтобы в дереве значений была такая ГРУППИРОВКА:

Родитель1               Кол-во1     Кол-во2
Родитель1.1
  Номенклатура1
    Характеристика     10            20
  Номенклатура2
    Характеристика     5             3
  ...
Родитель1.2
  Номенклатура1
   Характеристика      8             4
  Номенклатура2
   Характеристика     15             10
  ...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn