Имя: Пароль:
1C
1С v8
Запрос временная тз
0 KonstantinK90
 
12.02.16
06:47
Всем привет! Подскажите в чем дело вот запрос он как то странно отрабатывает результат запроса количество сотрудников в табличной части а почему не отобразаются в результате запроса поля выбора
ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Сотрудники",    Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"));
    ТЗ.Колонки.Добавить("СимКарты",      Новый ОписаниеТипов("СправочникСсылка.RSS_SIMКарты"));
    ТЗ.Колонки.Добавить("Тариф",         Новый ОписаниеТипов("СправочникСсылка.RSS_ТарифыSIMКарт"));
    ТЗ.Колонки.Добавить("Компенсация",   Новый ОписаниеТипов("Число"));
    ТЗ.Колонки.Добавить("ИтогоПоСтроке", Новый ОписаниеТипов("Число"));
    ТЗ.Колонки.Добавить("КОплате",       Новый ОписаниеТипов("Число"));
    ТЗ.Колонки.Добавить("Договор1",      Новый ОписаниеТипов("Строка"));
    Для Каждого Стр Из ИспользованиеSIMКарты Цикл
        //НоваяСтрока = ТЗ.Добавить();
        ЗаполнитьЗначенияСвойств(ТЗ.Добавить(),Стр);
    КонецЦикла;    
    
ТЗ.Свернуть("Сотрудники,СимКарты,Тариф,Договор1","Компенсация,ИтогоПоСтроке,КОплате");

Для Каждого Стр Из ИспользованиеSIMКарты Цикл  
Запрос = Новый Запрос;
Таблица = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = Таблица;
Запрос.Текст = "Выбрать
                | Таблица.Сотрудники,
                |Таблица.СимКарты,
                |Таблица.Тариф,
                |Таблица.Компенсация,
                |Таблица.ИтогоПоСтроке,
                |Таблица.КОплате,
                |Таблица.Договор1
            |Поместить Таблица
            |Из
            |&Таблица Как Таблица
            |ГДЕ
            |Таблица.Сотрудники =  &Сотрудники";
  Запрос.УстановитьПараметр("Таблица",ТЗ);
  Запрос.УстановитьПараметр("Сотрудники", Стр.Сотрудники);
  
  Результат = Запрос.Выполнить().Выбрать();
  
  Пока Результат.Следующий() Цикл
      
  КонецЦикла;

КонецЦикла;

как то о
1 KonstantinK90
 
12.02.16
06:51
кто нибудь?
2 cw014
 
12.02.16
06:57
Как то о
3 cw014
 
12.02.16
06:57
А теперь русским языком объясни
4 KonstantinK90
 
12.02.16
07:00
почему выборка запроса не выводит поля сотрудники , тариф .. и так далее
5 KishMish
 
12.02.16
07:03
ты поместил в о внутренню таблицу, а тепрь делай запрос на выборку из внутренней таблицы
и в данном случае менеджер таблиц испльзовать не надо
6 cw014
 
12.02.16
07:03
Наверное потому что "ПОМЕСТИТЬ"
7 KonstantinK90
 
12.02.16
07:05
а поподробнее не покажите как это сделать? буду очень признателен
8 KishMish
 
12.02.16
07:07
Запрос.Текст = "Выбрать
                | Таблица.Сотрудники,
                |Таблица.СимКарты,
                |Таблица.Тариф,
                |Таблица.Компенсация,
                |Таблица.ИтогоПоСтроке,
                |Таблица.КОплате,
                |Таблица.Договор1
            |Поместить Таблица
            |Из
            |&Таблица Как Таблица
            |ГДЕ
            |Таблица.Сотрудники =  &Сотрудники;
//вот это надо добавить к запросу
|ВЫБРАТЬ |Сотрудники,СимКарты,Тариф,Компенсация,ИтогоПоСтроке,КОплате|,Договор1 ИЗ Таблица";
9 ЧеловекДуши
 
12.02.16
07:08
(0) Ужас... 1С чертовски долго помещает данные из ТЗ во временную таблицу :)

Да еще в цикле.
Я надеюсь у вас там всего 2-3 симки, а не 10 000 :)
10 ЧеловекДуши
 
12.02.16
07:09
(7) Сперва делаешь Поместить.
Потом пишешь обычный запрос, для получения данных из временной таблицы.
11 KonstantinK90
 
12.02.16
07:20
о все спасибо большое получилось!
12 cw014
 
12.02.16
07:23
Зачем тебе это все? Нельзя что ли выгрузить в таблицу значений по человечьи, отсортировать по сотруднику и нормально пройтись по ней? Наструя тебе запрос да еще и в цикле?
13 cw014
 
12.02.16
07:24
ТЗ = ИспользованиеSIMКарты.Выгрузить();
ТЗ.Сортировать("Сотрудники");
Сотр = Неопределено;
Для Каждого Стр Из ТЗ Цикл
Если Сотр <> Стр.Сотрудники тогда
// сменился сотр
КонецЕсли;
//Обработка тек сотра
КонецЦилка;
14 KonstantinK90
 
12.02.16
07:27
дело в том что есть обработка она загружает из каталога неколько экселей в которых начисления по сим картам сотрудник 1 и сим карта одна а вот договоры могут быть разные и начаисления по договорам нужно вывести начисления по сотрудникам и в разрезе договоров
15 cw014
 
12.02.16
07:44
(14) [неколько экселей] и немножечко ворды... Не могу пройти стороной такую шутку

И что? Твое ТЗ разнится конечно с моей реализацией, но и с твоей он тоже как то в разнос идет
16 HardBall
 
12.02.16
12:13
(0) Запрос в цыклееее... :-0
Все. Спеца не сдал.
17 Night_Wolf
 
12.02.16
12:45
(16) + 100500 ))