Имя: Пароль:
1C
1С v8
Кто нибудь делал Иерархию подразделений
0 2402Andrew
 
19.03.12
16:58
У меня в Печатной форме ПодразделениеРаботника выходит не то что надо
(МУП ЖКХ)-(Администрация)-(специалисты)-(программист)
В печатной форме выходит Специалист а надо Администрация, подскажите как сделать это:
   |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ТекущееПодразделениеОрганизации.Наименование КАК ПодразделениеРаботника,
1 golden-pack
 
19.03.12
16:59
|    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ТекущееПодразделениеОрганизации КАК ПодразделениеРаботника
2 2402Andrew
 
19.03.12
17:00
{(14, 2)}: Синтаксическая ошибка "ОтпускаОрганизаций.Организация.Наименование,"
<<?>>ОтпускаОрганизаций.Организация.Наименование,
3 golden-pack
 
19.03.12
17:04
(2) Достаточно было {14,2} - я бы понял.
4 rbcvg
 
19.03.12
17:05
так и будем из тебя по одной строчке вытаскивать? давай уже весь код выкладывай.
5 2402Andrew
 
19.03.12
17:06
Запрос.Текст =
   "ВЫБРАТЬ
   |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Наименование КАК ФИО,
   |    ОтпускаОрганизаций.Организация.НаименованиеПолное КАК НазваниеОрганизации,
   |    ОтпускаОрганизаций.Номер,
   |    ОтпускаОрганизаций.Дата КАК ДатаДок,
   |    ОтпускаОрганизацийРаботникиОрганизации.РабочийГодС КАК РабочийГодС,
   |    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ДатаНачалаВсего1,
   |    ОтпускаОрганизацийРаботникиОрганизации.РабочийГодПо КАК РабочийГодПо,
   |    ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней КАК Продолжительность3,
   |    ОтпускаОрганизацийРаботникиОрганизации.КоличествоДнейДоп КАК ПродолжительностьДоп3,
   |    ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней + ОтпускаОрганизацийРаботникиОрганизации.КоличествоДнейДоп КАК ПродолжительностьВсего,
   |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Должность.Наименование КАК Должность,
   |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ТекущееПодразделениеОрганизации КАК ПодразделениеРаботника ,
   //    |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ТекущееПодразделениеОрганизации.Наименование КАК ПодразделениеРаботника,
//    |    ОтпускаОрганизаций.Организация.Наименование,
   |    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ДатаНачалаВсего,
   |    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания КАК ДатаОкончанияВсего,
   |    ОтпускаОрганизацийРаботникиОрганизации.РабочийГодПо КАК РабочийГодПо1,
   |    ОтпускаОрганизацийРаботникиОрганизации.РабочийГодС КАК РабочийГодС1,
   |    ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия,
   |    ОтпускаОрганизацийРаботникиОрганизации.Основание,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |            ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска.Наименование
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебный)
   |            ТОГДА ""Дополнительный отпуск в связи с обучением с сохранением среднего заработка работникам, совмещающим работу с обучением""
   |        ИНАЧЕ ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия
   |    КОНЕЦ КАК ВидДопОтпуска,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
   |            ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп
   |        ИНАЧЕ ВЫБОР
   |                КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |                    ТОГДА """"
   |                ИНАЧЕ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
   |            КОНЕЦ
   |    КОНЕЦ КАК ДатаСДоп,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия <> ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |                ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
   |            ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания
   |        ИНАЧЕ """"
   |    КОНЕЦ КАК ДатаПоДоп,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |            ТОГДА ВЫБОР
   |                    КОГДА ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
   |                            ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
   |                        ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
   |                    ИНАЧЕ ВЫБОР
   |                            КОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала < ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп
   |                                ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
   |                            ИНАЧЕ """"
   |                        КОНЕЦ
   |                КОНЕЦ
   |        ИНАЧЕ """"
   |    КОНЕЦ КАК ДатаНачала,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |            ТОГДА ВЫБОР
   |                    КОГДА ОтпускаОрганизацийРаботникиОрганизации.ВидДополнительногоОтпуска = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
   |                            ИЛИ ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
   |                        ТОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания
   |                    ИНАЧЕ ВЫБОР
   |                            КОГДА ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала < ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп
   |                                ТОГДА ДОБАВИТЬКДАТЕ(ОтпускаОрганизацийРаботникиОрганизации.ДатаНачалаДоп, ДЕНЬ, -1)
   |                            ИНАЧЕ """"
   |                        КОНЕЦ
   |                КОНЕЦ
   |        ИНАЧЕ """"
   |    КОНЕЦ КАК ДатаОкончания,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия <> ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |            ТОГДА РАЗНОСТЬДАТ(ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала, ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания, ДЕНЬ) + 1
   |    КОНЕЦ КАК ПродолжительностьДоп,
   |    ВЫБОР
   |        КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
   |            ТОГДА ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней
   |    КОНЕЦ КАК Продолжительность,
   |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код КАК ТабельныйНомер,
   |    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.ТекущееПодразделениеОрганизации КАК ПодразделениеОрганизации,
   |    ОтпускаОрганизаций.Организация.КодПоОКПО КАК КодПоОКПО
   |ИЗ
   |    Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтпускаОрганизаций КАК ОтпускаОрганизаций
   |        ПО ОтпускаОрганизацийРаботникиОрганизации.Ссылка = ОтпускаОрганизаций.Ссылка,
   |    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
   |ГДЕ
   |    ОтпускаОрганизаций.Ссылка = &Ссылка";
       
   Выборка = Запрос.Выполнить().Выбрать();
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОТПУСК_Макет";
   Если Выборка.Следующий() Тогда
   ФИО1=Выборка.ФИО;
       УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), ФИО1, 3, , ФИО1);
   КонецЕсли ;
   Макетище = ПолучитьМакет("ОТПУСК");
   Макет = Макетище.ПолучитьОбласть("Область");
   макет.параметры.фио1 = ФИО1;
   макет.параметры.ФИОРуководителя = Падеж(ФИОРуководителя1) ;
   макет.параметры.ДолжностьРуководителя = ОтвЛицоДолжность1;
   Выборка.Следующий() ;
   Макет.Параметры.Заполнить(Выборка);
   ТабДокумент.Вывести(Макет);
   Возврат ТабДокумент;
6 golden-pack
 
19.03.12
17:25
Запрос визуально нормальный.
7 2402Andrew
 
20.03.12
07:33
Вот вот,а не переходит почему то