Имя: Пароль:
1C
1С v8
Проблема с запросом
0 ЮлияКорж
 
20.03.12
11:00
Не возращается значение из выборки РаботникиОрганизации.Участки_АЭС
Запрос = Новый Запрос;

   // Установим параметры запроса
   Запрос.УстановитьПараметр("ДокументСсылка",    Ссылка);
   Запрос.УстановитьПараметр("Руководитель",    Перечисления.ОтветственныеЛицаОрганизаций.Руководитель);
   Запрос.УстановитьПараметр("ДатаДокумента",    Дата);
   Запрос.УстановитьПараметр("Организация",    Организация);

   Если Режим = "ПоРеквизитамДокумента" Тогда

       Запрос.Текст =
       "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|ОтветственныеЛицаОрганизацийСрезПоследних.Должность КАК ДолжностьРуководителя,
|УвольнениеИзОрганизаций.Номер КАК НомерДок,
|УвольнениеИзОрганизаций.Дата КАК ДатаДок,                        |УвольнениеИзОрганизаций.Организация.НаименованиеПолное КАК НазваниеОрганизации,
|ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + ВЫБОР
|КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследних.Имя, 1, 1) <> """"
|ТОГДА "" "" +  
                                                                                   ПОДСТРОКА(ФИОФизЛицСрезПоследних.Имя, 1, 1) + "".""
|ИНАЧЕ """"
|КОНЕЦ + ВЫБОР
|КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследних.Отчество, 1, 1) <> """"
|ТОГДА "" "" + ПОДСТРОКА(ФИОФизЛицСрезПоследних.Отчество, 1, 1) + ".""
|ИНАЧЕ """"
|КОНЕЦ,
|ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование) КАК ФИОРуководителя,
|УвольнениеИзОрганизаций.Организация.Префикс
|ИЗ
| Документ.УвольнениеИзОрганизаций КАК УвольнениеИзОрганизаций
|ЛЕВОЕ СОЕДИНЕНИЕ                                 |РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&ДатаДокумента,
|ОтветственноеЛицо = &Руководитель) КАК ОтветственныеЛицаОрганизацийСрезПоследних
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаДокумента, ) КАК  
|  ФИОФизЛицСрезПоследних
| ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо =    ФИОФизЛицСрезПоследних.ФизЛицо
ПО УвольнениеИзОрганизаций.Организация = ОтветственныеЛицаОрганизацийСрезПоследних.СтруктурнаяЕдиница
ГДЕ
УвольнениеИзОрганизаций.Ссылка = &ДокументСсылка";
ИначеЕсли Режим = "ПоТабличнойЧастиДокумента" Тогда
Запрос.УстановитьПараметр("ГоловнаяОрганизация", ОбщегоНазначения.ГоловнаяОрганизация(Организация));
Запрос.УстановитьПараметр("ПустаяОрганизация" , Справочники.Организации.ПустаяСсылка());
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, УвольнениеИзОрганизацииРаботники.Сотрудник.Наименование) КАК Работник,
|УвольнениеИзОрганизацииРаботники.Сотрудник.ДатаДоговора КАК ТрудовойДоговорДата,
|УвольнениеИзОрганизацииРаботники.Сотрудник.НомерДоговора КАК ТрудовойДоговорНомер,
|УвольнениеИзОрганизацииРаботники.НомерСтроки КАК НомерСтроки,
|УвольнениеИзОрганизацииРаботники.ДатаУвольнения,
|УвольнениеИзОрганизацииРаботники.СтатьяКЗОТ,
|УвольнениеИзОрганизацииРаботники.РеквизитыДокументаОснования КАК ОснованиеУвольнения,
|УвольнениеИзОрганизацииРаботники.КомпенсироватьДнейЕжегодногоОтпуска КАК КомпенсироватьДнейЕжегодногоОтпуска,
|Работники.ПодразделениеОрганизации КАК Подразделение,
           //<--АЭС 14.05.10
//|Работники.ПодразделениеЦех КАК ПодразделениеЦех,
//-->
//|Работники.Должность КАК Должность,
 |ЕСТЬNULL(Пособие.Результат,0) КАК Пособие,
 |ЕСТЬNULL(Пособие.Флаг,ЛОЖЬ) КАК ФлагПособие,
 |УвольнениеИзОрганизацииРаботники.Сотрудник.Код КАК ТабельныйНомер
 |ИЗ
 |Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацииРаботники
|ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|СписокДат.Сотрудник КАК Сотрудник,
|РаботникиОрганизации.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации,
//<--АЭС 14.05.10
|РаботникиОрганизации.ПодразделениеОрганизации.Родитель КАК ПодразделениеЦех,
       //-->
| РаботникиОрганизации.Должность.Наименование КАК Должность,
| РаботникиОрганизации.Участки_АЭС КАК Участки_АЭС
|ИЗ
|(ВЫБРАТЬ
|РаботникиВнутри.Сотрудник КАК Сотрудник,
|МАКСИМУМ(РаботникиВнутри.Период) КАК ДатаПоследнегоИзменения
|ИЗ
|РегистрСведений.РаботникиОрганизаций КАК РаботникиВнутри
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК Док
|ПО РаботникиВнутри.Период <= Док.ДатаУвольнения
| РаботникиВнутри.Сотрудник = Док.Сотрудник
|ГДЕ
|Док.Ссылка = &ДокументСсылка
|    
|СГРУППИРОВАТЬ ПО
|РаботникиВнутри.Сотрудник) КАК СписокДат
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизации
|ПО СписокДат.ДатаПоследнегоИзменения = РаботникиОрганизации.Период
|И СписокДат.Сотрудник = РаботникиОрганизации.Сотрудник) КАК Работники
|ПО УвольнениеИзОрганизацииРаботники.Сотрудник = Работники.Сотрудник
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(
|&ДатаДокумента,
|Физлицо В
|(ВЫБРАТЬ РАЗЛИЧНЫЕ
|УвольнениеИзОрганизацииРаботники.Сотрудник.Физлицо
|ИЗ
|Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацииРаботники
|ГДЕ
|УвольнениеИзОрганизацииРаботники.Ссылка = &ДокументСсылка)) КАК ФИОФизЛицСрезПоследних
|ПО УвольнениеИзОрганизацииРаботники.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
       |
       |   ЛЕВОЕ СОЕДИНЕНИЕ
       |    (ВЫБРАТЬ
       |        Начисления.Сотрудник,
       |        ИСТИНА КАК Флаг,
       |        Начисления.Результат
       |     ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Начисления
       |     ГДЕ Начисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ВыходноеПособие)
       |    )КАК Пособие
       |    ПО Пособие.Сотрудник = УвольнениеИзОрганизацииРаботники.Сотрудник
       |
       |
       |ГДЕ
       |    УвольнениеИзОрганизацииРаботники.Ссылка = &ДокументСсылка
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки";
       
   Иначе
       Возврат Неопределено;
       
   КонецЕсли;
         Результат = Запрос.Выполнить();
   ТЗ = Результат.Выгрузить();
 Возврат Результат;
1 Ненавижу 1С
 
гуру
20.03.12
11:01
автоматизация АЭС? ааа.. нет!!!
2 Шапокляк
 
20.03.12
11:04
... Иначе
       Возврат Неопределено;
       
   КонецЕсли;
наверно, сюда выходите. Отладчик, говорят, помогает разобраться.