Имя: Пароль:
1C
 
Запрос по базовым начислениям..
0 ПетяПетькин
 
18.02.09
18:00
Сразу скажу, что с запросом по базовым начислениям ни разу не работал.
НАшел запрос:

ВЫБРАТЬ
       СУММА(База.РезультатБаза) КАК РезультатБаза,
   База.Регистратор КАК Регистратор,
   База.НомерСтроки КАК НомерСтроки
ИЗ
   (ВЫБРАТЬ
       База1.РезультатБаза КАК РезультатБаза,
       База1.Регистратор КАК Регистратор,
       База1.НомерСтроки КАК НомерСтроки
   ИЗ
       РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаОсновныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, ) КАК База1
База1.ПериодРегистрации)
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       База2.РезультатБаза,
       База2.Регистратор,
       База2.НомерСтроки
   ИЗ
       РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаДополнительныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, ) КАК База2
   
               ) КАК База
СГРУППИРОВАТЬ ПО
   База.Регистратор,
   База.НомерСтроки


хочу в консоли его посмотреть, а она, консоль, ругается на значения параметров...
"Ошибка обработки представления....тип параметра Измерения основного регистра"
Подскажите, чего она ругается, и как надо чтобы заработало???
1 ПетяПетькин
 
19.02.09
10:03
апппппппппппппппп
2 ПетяПетькин
 
19.02.09
10:43
апушка
3 Не программист
 
19.02.09
13:21
ВЫБРАТЬ
       СУММА(База.РезультатБаза) КАК РезультатБаза,
   База.Регистратор КАК Регистратор,
   База.НомерСтроки КАК НомерСтроки
ИЗ
   (ВЫБРАТЬ
       База1.РезультатБаза КАК РезультатБаза,
       База1.Регистратор КАК Регистратор,
       База1.НомерСтроки КАК НомерСтроки
   ИЗ
       РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаОсновныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, ) КАК База1

   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       База2.РезультатБаза,
       База2.Регистратор,
       База2.НомерСтроки
   ИЗ
       РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.БазаДополнительныеНачисленияРаботниковОрганизаций(&парамИзмеренияОсновного, &парамИзмеренияБазового, &парамРазрезы, ) КАК База2
   
               ) КАК База
СГРУППИРОВАТЬ ПО
   База.Регистратор,
   База.НомерСтроки
4 Невский Александр
 
19.02.09
13:24
открывается ли сам конструктор запроса? что передаешь в параметры - "парамИзмеренияОсновного", "парамИзмеренияБазового", "парамРазрезы"?
5 ПетяПетькин
 
19.02.09
15:57
(3) что-то не заметил отличий от исходного запроса..
(4)Конструктор открывается
в все 3 параметра передаю строку "Сотрудник"
6 Ivanich
 
19.02.09
16:00
Надо передать МАССИВ из одной строки "Сотрудник"
7 ПетяПетькин
 
19.02.09
16:08
(6)
попробовал в консоли массив организовать - тип параметра "Список значений",  первое значение - строка "Сотрудник"

все равно консоль выдает ту же ошибку
8 ПетяПетькин
 
19.02.09
16:38
ап
9 ПетяПетькин
 
19.02.09
17:04
Люди, дайте запрос по базовым начислениям! а лучше отчет :)
хоть кто-то же писал..
10 Просто Лёха
 
19.02.09
17:29
Запрос = новый запрос;
   
   Если ИмяРегистра = "ОсновныеНачисления" тогда
       
       ТекстЗапроса = "ВЫБРАТЬ
       |    ОсновныеНачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки,
       |    ОсновныеНачисленияДанныеГрафика.ЗначениеПериодДействия,
       |    ОсновныеНачисленияДанныеГрафика.ЗначениеФактическийПериодДействия";
       
       Если НеобходимаБаза тогда
           
           ТекстЗапроса = ТекстЗапроса + ",
           |    ОсновныеНачисленияБазаОсновныеНачисления.РезультатБаза";
           
       КонецЕсли;
       
       ТекстЗапроса = ТекстЗапроса + "
       |ИЗ    РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК ОсновныеНачисленияДанныеГрафика";
       
       Если НеобходимаБаза тогда
           
           //присоединяем к базе
           
           ТекстЗапроса = ТекстЗапроса + "
           |ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.БазаОсновныеНачисления(&парамИзмеренияОсновного, &парамИзмеренияБазового,,Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК ОсновныеНачисленияБазаОсновныеНачисления
           |ПО ОсновныеНачисленияБазаОсновныеНачисления.НомерСтроки = ОсновныеНачисленияДанныеГрафика.НомерСтроки";
           
       КонецЕсли;
       
       ТекстЗапроса = ТекстЗапроса + "
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки";
       
   ИначеЕсли ИмяРегистра = "ДополнительныеНачисления" тогда
       
       ТекстЗапроса = "ВЫБРАТЬ
       |ДополнительныеНачисления.НомерСтроки Как НомерСтроки";
       
       Если НеобходимаБаза тогда
           
           ТекстЗапроса = ТекстЗапроса + ",
           |ВЫБОР КОГДА (ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза) ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза КОНЕЦ + ВЫБОР КОГДА (ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза) ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза КОНЕЦ КАК РезультатБаза";
           
       КонецЕсли;    
       
       ТекстЗапроса = ТекстЗапроса + "
       |ИЗ РегистрРасчета.ДополнительныеНачисления КАК  ДополнительныеНачисления";
       
       Если НеобходимаБаза тогда
           
           //присоединяем к базе
           
           ТекстЗапроса = ТекстЗапроса +"
           |ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(&парамИзмеренияОсновного, &парамИзмеренияБазового,,Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК ДополнительныеНачисленияБазаОсновныеНачисления
           |ПО (ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки)
           |ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаДополнительныеНачисления(&парамИзмеренияОсновного, &парамИзмеренияБазового,,Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК ДополнительныеНачисленияБазаДополнительныеНачисления
           |ПО (ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаДополнительныеНачисления.НомерСтроки)";
           
       КонецЕсли;
       
       ТекстЗапроса = ТекстЗапроса + "
       |ГДЕ ДополнительныеНачисления.Регистратор = &парамРегистратор и ДополнительныеНачисления.ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки";
       
       ИначеЕсли ИмяРегистра = "Удержания" тогда
       
       ТекстЗапроса = "ВЫБРАТЬ
       |Удержания.НомерСтроки Как НомерСтроки";
       
       Если НеобходимаБаза тогда
           
           ТекстЗапроса = ТекстЗапроса + ",
           |ВЫБОР КОГДА (УдержанияБазаОсновныеНачисления.РезультатБаза) ЕСТЬ NULL ТОГДА 0 ИНАЧЕ УдержанияБазаОсновныеНачисления.РезультатБаза КОНЕЦ + ВЫБОР КОГДА (УдержанияБазаДополнительныеНачисления.РезультатБаза) ЕСТЬ NULL ТОГДА 0 ИНАЧЕ УдержанияБазаДополнительныеНачисления.РезультатБаза КОНЕЦ КАК РезультатБаза";
           
       КонецЕсли;    
       
       ТекстЗапроса = ТекстЗапроса + "
       |ИЗ РегистрРасчета.Удержания КАК  Удержания";
       
       Если НеобходимаБаза тогда
           
           //присоединяем к базе
           
           ТекстЗапроса = ТекстЗапроса +"
           |ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Удержания.БазаОсновныеНачисления(&парамИзмеренияОсновного, &парамИзмеренияБазового,,Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК УдержанияБазаОсновныеНачисления
           |ПО (Удержания.НомерСтроки = УдержанияБазаОсновныеНачисления.НомерСтроки)
           |ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.Удержания.БазаДополнительныеНачисления(&парамИзмеренияОсновного, &парамИзмеренияБазового,,Регистратор = &парамРегистратор и ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета) КАК УдержанияБазаДополнительныеНачисления
           |ПО (Удержания.НомерСтроки = УдержанияБазаДополнительныеНачисления.НомерСтроки)";
           
       КонецЕсли;
       
       ТекстЗапроса = ТекстЗапроса + "
       |ГДЕ Удержания.Регистратор = &парамРегистратор и Удержания.ВидРасчета.КатегорияРасчета = &парамКатегорияРасчета
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки";
   
   КонецЕсли;
   
   Измерения = новый Массив(3);
   
   Измерения[0]  = "ФизЛицо";
   
   Измерения[1] = "Подразделение";
   
   Измерения[2]  = "Должность";
   
   Запрос.УстановитьПараметр("парамИзмеренияОсновного", Измерения);
   
   Запрос.УстановитьПараметр("парамИзмеренияБазового", Измерения);
   
   Запрос.УстановитьПараметр("парамРегистратор", Регистратор);
   
   Запрос.УстановитьПараметр("парамКатегорияРасчета", КатегорияРасчета);
   
   Запрос.Текст = ТекстЗапроса;
   
   Возврат Запрос.Выполнить().Выбрать();
11 Просто Лёха
 
19.02.09
17:30
Это из курса по кинфигурирования подситсем расчета зарплаты
12 Просто Лёха
 
19.02.09
17:30
Я его проходил около полугода назад, но наскольку помню через консоль отладиьт не удасться
13 ПетяПетькин
 
19.02.09
17:42
и на том спасибо!
14 ПетяПетькин
 
20.02.09
10:55
(12) по-пробовал сегодня сделать обработку на базе отрывка, что ты предложил...
не работает ни фига..
выдает пустоту:

Процедура БазаЗапрос2() Экспорт
   

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

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

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



Что не так, не пойму....
15 ПетяПетькин
 
20.02.09
11:11
апище
Закон Брукера: Даже маленькая практика стоит большой теории.