Имя: Пароль:
1C
1С v8
Помогите найти косяк в обработке
0 vanilla-88
 
15.02.17
13:42
Помогите люди добрые. Обработка успешно работала в версии ЗКОУ 3.0, после перехода на 3.1 выдает ошибку "Поле не найдено РаботникиОрганизации.ПодразделениеПоОкончании и другие подобные"

Функция СведенияПоВыбранномуРаботникуОрганизации(ФизЛицо)
    
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("ФизЛицо",        ФизЛицо);
    Запрос.УстановитьПараметр("ДатаДокумента",    ДатаКон);
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РаботникиОрганизации.Сотрудник,
    |    РаботникиОрганизации.Сотрудник.Наименование,
    |    ВЫБОР
    |        КОГДА РаботникиОрганизации.ДействуетДо <= &ДатаДокумента
    |                И РаботникиОрганизации.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА РаботникиОрганизации.ПодразделениеПоОкончании
    |        ИНАЧЕ РаботникиОрганизации.Подразделение
    |    КОНЕЦ КАК ПодразделениеОрганизации,
    |    ВЫБОР
    |        КОГДА РаботникиОрганизации.ДействуетДо <= &ДатаДокумента
    |                И РаботникиОрганизации.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА РаботникиОрганизации.ДолжностьПоОкончании
    |        ИНАЧЕ РаботникиОрганизации.Должность
    |    КОНЕЦ КАК Должность,
    |    ВЫБОР
    |        КОГДА РаботникиОрганизации.ДействуетДо <= &ДатаДокумента
    |                И РаботникиОрганизации.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА РаботникиОрганизации.ПодразделениеПоОкончании.Наименование
    |        ИНАЧЕ РаботникиОрганизации.Подразделение.Наименование
    |    КОНЕЦ КАК ПодразделениеОрганизацииНаименование,
    |    ВЫБОР
    |        КОГДА РаботникиОрганизации.ДействуетДо <= &ДатаДокумента
    |                И РаботникиОрганизации.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА РаботникиОрганизации.ДолжностьПоОкончании.Наименование
    |        ИНАЧЕ РаботникиОрганизации.Должность.Наименование
    |    КОНЕЦ КАК ДолжностьНаименование,
    |    ВЫБОР
    |        КОГДА РаботникиОрганизации.ДействуетДо <= &ДатаДокумента
    |                И РаботникиОрганизации.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА РаботникиОрганизации.КоличествоСтавокПоОкончании
    |        ИНАЧЕ РаботникиОрганизации.КоличествоСтавок
    |    КОНЕЦ КАК ЗанимаемыхСтавок,
    |    ВЫБОР
    |        КОГДА ГрафикРаботыСотрудниковСрезПоследних.ДействуетДо <= &ДатаДокумента
    |                И ГрафикРаботыСотрудниковСрезПоследних.ДействуетДо <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    |            ТОГДА ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботыПоОкончании
    |        ИНАЧЕ ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы
    |    КОНЕЦ КАК ГрафикРаботы
    |ИЗ
    |    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(
    |            &ДатаДокумента,
    |            Сотрудник В
    |                (ВЫБРАТЬ
    |                    Справочник.Сотрудники.Ссылка
    |                ИЗ
    |                    Справочник.Сотрудники
    |                ГДЕ
    |                    Справочник.Сотрудники.ФизическоеЛицо = &ФизЛицо)) КАК РаботникиОрганизации
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикРаботыСотрудников.СрезПоследних КАК ГрафикРаботыСотрудниковСрезПоследних
    |        ПО РаботникиОрганизации.Сотрудник = ГрафикРаботыСотрудниковСрезПоследних.Сотрудник
    |            И РаботникиОрганизации.ГоловнаяОрганизация = ГрафикРаботыСотрудниковСрезПоследних.ГоловнаяОрганизация
    |
    |УПОРЯДОЧИТЬ ПО
    |    РаботникиОрганизации.Период";
    
    НаборыДанных = Запрос.Выполнить().Выгрузить();
    
    // Если не нашли данных - ничего не делаем
    Если НаборыДанных.Количество() = 0 Тогда
        Возврат Неопределено;
    // Если нашли один набор данных то используем его
    ИначеЕсли НаборыДанных.Количество() >= 1 Тогда
        Возврат НаборыДанных[0];
        
    КонецЕсли;
КонецФункции
1 LordCMEPTb
 
15.02.17
13:47
Учитывая, что "РаботникиОрганизации.ПодразделениеПоОкончании" используется только в запросе, логично предположить, что изменилась структура регистра. Ошибка в том, что обработка для другой конфигурации. Т.е. надо анализировать структуру регистра / изменений релиза.
2 vanilla-88
 
16.02.17
07:31
Можете подсказать куда копать? В регистре сведений в обоих версиях РаботникиОрганизации отсутствуют
3 вым
 
16.02.17
07:46
РегистрСведений.КадроваяИсторияСотрудников
4 1Снеговик
 
гуру
16.02.17
08:25
Ищи в РегистрСведений.КадроваяИсторияСотрудников
5 vanilla-88
 
16.02.17
13:48
Всем спасибо за помощь, все поправила)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн