8.х ЗУП Трудовой договор

Тема в разделе ""1С:Зарплата и управление персоналом ЗУП"", создана пользователем Вишенка, 25 окт 2011.

  1. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    Зарплата и Управление Персоналом, редакция 2.5 (2.5.36.3)
    внешняя печатная форма трудовой договор.
    поправила макет.
    не выводит паспортные данные, не могу понять в чем дело! :angry:
    серия паспорта, номер паспорта,кем выдан
    запрос такой:
    Код:
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    // Установим параметры запроса
    Запрос.УстановитьПараметр("СправочникСсылка", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Физлицо", Физлицо);
    Запрос.УстановитьПараметр("Организация", ОбособленноеПодразделение);
    Запрос.УстановитьПараметр("ДатаДокумента",	 ДатаДоговора);
    
    // Выберем (если есть доступ) ответственное физлицо
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |	ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо КАК Физлицо,
    |	ОтветственныеЛицаОрганизацийСрезПоследних.Должность,
    |	ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование КАК НаименованиеФизлица,
    |	ФизическиеЛица.Комментарий
    |ПОМЕСТИТЬ ВТОтветственноеЛицо
    |ИЗ
    |	РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(
    |			&ДатаДокумента,
    |			ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель)
    |				И СтруктурнаяЕдиница = &Организация) КАК ОтветственныеЛицаОрганизацийСрезПоследних
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
    |		ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФизическиеЛица.Ссылка";
    Запрос.Выполнить();
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |	ОтветственноеЛицоОрганизации.Должность КАК ДолжностьРуководителя,
    |	ТрудовойДоговор.НомерДоговора КАК НомерДок,
    |	ТрудовойДоговор.ДатаДоговора КАК ДатаДок,
    |	ТрудовойДоговор.Организация.НаименованиеПолное КАК ПолноеНазваниеОрганизации,
    |	ЕСТЬNULL(ФИООтветственныхЛиц.Фамилия + "" "" + ФИООтветственныхЛиц.Имя + "" "" + ФИООтветственныхЛиц.Отчество, ОтветственноеЛицоОрганизации.НаименованиеФизлица) КАК ФИОРуководителя,
    |	ЕСТЬNULL(ФИОФизЛиц.Фамилия + "" "" + ФИОФизЛиц.Имя + "" "" + ФИОФизЛиц.Отчество, ТрудовойДоговор.Физлицо.Наименование) КАК ФИОРаботника,
    |	ТрудовойДоговор.ДатаОкончания КАК ДатаУвольнения,
    |	ТрудовойДоговор.ДатаНачала КАК ДатаПриема,
    |	ТрудовойДоговор.Должность.Наименование КАК Должность,
    |	ТрудовойДоговор.ЗанимаемыхСтавок,
    |	ТрудовойДоговор.ИспытательныйСрок,
    |	ТрудовойДоговор.ПодразделениеОрганизации.Наименование КАК Подразделение,
    |	ВЫБОР
    |		КОГДА ТрудовойДоговор.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)
    |			ТОГДА ""основной работе""
    |		ИНАЧЕ ""совместительству""
    |	КОНЕЦ КАК ВидЗанятости,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи,
    |	ВЫРАЗИТЬ(ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК СТРОКА(300)) КАК ДокументКемВыдан,
    |	АдресРегистрации.Представление КАК АдресРегистрации,
    |	ТелефонДомашний.Представление КАК Телефоны,
    |	КонтактнаяИнформация.Представление КАК АдресОрганизации,
    |	ТелефонОрганизации.Представление КАК ТелефоныОрганизации,
    |	ТрудовойДоговор.Организация.Наименование КАК НазваниеОрганизации,
    |	ТрудовойДоговор.Организация.ИНН + ""/"" + ТрудовойДоговор.Организация.КПП КАК ИНН,
    |	ТрудовойДоговор.ГрафикРаботы.ВидГрафика КАК ВидГрафика,
    |	ТрудовойДоговор.ГрафикРаботы.ДлительностьРабочейНедели КАК ДлительностьРабочейНедели,
    |	ТрудовойДоговор.ВидРасчета,
    |	ТрудовойДоговор.ТарифнаяСтавка КАК Оклад,
    |	ТрудовойДоговор.ВалютаТарифнойСтавки.Наименование КАК Валюта,
    |	ТрудовойДоговор.ПерсональныеНадбавки.(
    |		Ссылка,
    |		НомерСтроки,
    |		Надбавка КАК Надбавка,
    |		Показатель1
    |	),
    |	ПаспортныеДанныеФизЛицСрезПоследних.Период,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК ДокументСерия1,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК ДокументНомер1,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи КАК ДокументДатаВыдачи1,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК ДокументКемВыдан1,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения,
    |	ПаспортныеДанныеФизЛицСрезПоследних.ДатаРегистрацииПоМестуЖительства
    |ИЗ
    |	Справочник.СотрудникиОрганизаций КАК ТрудовойДоговор
    |		ЛЕВОЕ СОЕДИНЕНИЕ ВТОтветственноеЛицо КАК ОтветственноеЛицоОрганизации
    |		ПО (ИСТИНА)
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(
    |				&ДатаДокумента,
    |				Физлицо В
    |					(ВЫБРАТЬ
    |						Ответственные.Физлицо
    |					ИЗ
    |						ВТОтветственноеЛицо КАК Ответственные)) КАК ФИООтветственныхЛиц
    |		ПО (ИСТИНА)
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаДокумента, Физлицо = &Физлицо) КАК ФИОФизЛиц
    |		ПО (ИСТИНА)
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(, ФизЛицо = &ФизЛицо) КАК ПаспортныеДанныеФизЛицСрезПоследних
    |		ПО (ИСТИНА)
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК АдресРегистрации
    |		ПО ТрудовойДоговор.Физлицо = АдресРегистрации.Объект
    |			И (АдресРегистрации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица))
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ТелефонДомашний
    |		ПО ТрудовойДоговор.Физлицо = ТелефонДомашний.Объект
    |			И (ТелефонДомашний.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонФизЛица))
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |		ПО ТрудовойДоговор.Организация = КонтактнаяИнформация.Объект
    |			И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации))
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ТелефонОрганизации
    |		ПО ТрудовойДоговор.Организация = ТелефонОрганизации.Объект
    |			И (ТелефонОрганизации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации))
    |ГДЕ
    |	ТрудовойДоговор.Ссылка = &СправочникСсылка";
    ВыборкаСотрудник = Запрос.Выполнить().Выбрать();
    
    
    
    БУДУ ОЧЕНЬ БЛАГОДАРНА!
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Код:
    | Справочник.СотрудникиОрганизаций КАК ТрудовойДоговор
    
    ???
  3. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    Я скопировала текст из модуля объекта Справочника СотрудникиОрганизаций...там ведь выводит все данные в типовой печатной форме "Трудовой договор".поправьте пожалуйста, если неверно..
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Хм. Да действительно есть такая штука.

    Проверил. Работает ваш запрос. У меня по крайней мере.

    Саму ВПФ что-ли киньте.
  5. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    в личку скинула
  6. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Код:
    |ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК ДокументСерия1,
    |ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК ДокументНомер1,
    |ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи КАК ДокументДатаВыдачи1,
    |ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК ДокументКемВыдан1,
    
    Есть подозрение, что проблемка в единичке на конце. В макете то, наверное, без единички параметры написаны?
  7. TopicStarter Overlay
    Вишенка
    Offline

    Вишенка Опытный в 1С

    Регистрация:
    1 фев 2011
    Сообщения:
    153
    Симпатии:
    1
    Баллы:
    29
    Наташа, спасибо за внимание!
    Shurikvz помог решить вопрос!!!!Спасибо ему большое!
    В параметрах дело было...
    Код:
    Запрос.УстановитьПараметр("СправочникСсылка", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Физлицо", СсылкаНаОбъект.Физлицо);
    Запрос.УстановитьПараметр("Организация", СсылкаНаОбъект.ОбособленноеПодразделение);
    Запрос.УстановитьПараметр("ДатаДокумента",	 СсылкаНаОбъект.ДатаДоговора);
    
    
  8. NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    195
    Симпатии:
    1
    Баллы:
    29
    Всем здравствуйте!
    Не стал создавать новую тему. Так как суть вопроса тоже по трудовому договору (внешняя печатная форма).
    Одно и тоже физлицо. Сотрудника сначала приняли на работу в организацию в подразделение 1, затем уволили. Через какое-то время приняли на работу в эту же организацию, но подразделение 2 (создали второго сотрудника и новый документ приема на работу, физлицо тоже). При выборе данного сотрудника и с выводом на печать формы трудового договора, выводит данные первого документа приема на работу (например №1 от 01.01.01), а не второго как нужно (№2 от 01.01.02). Как присвоить ссылку на нужного сотрудника. В консоле запросов все работает как надо, но там переменная на сотрудника выбирается вручную и поэтому все работает. А в форме определяется как СсылкаНаОбъект.ФизЛицо. Запрос могу приложить.
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Что то новое а откуда Трудовой договор печатаете?
  10. NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    195
    Симпатии:
    1
    Баллы:
    29
    Трудовой договор подключаю как внешнюю печатную форму к справочнику сотрудника. У данного сотрудника в карточке есть список кадровых документов. Как "выцепить" именно этот документ приема на работу. Сейчас просматриваю запросом, из документов Прием на работу, так вот если по данному физлицу более одного документа то он выбирает первый.
  11. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    в запросе используйте СрезПоследних
  12. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Запрос тогда давайте. Надо смотреть почему Вы по физ лицу ищите а не по сотруднику.
  13. NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    195
    Симпатии:
    1
    Баллы:
    29
    Нет. Сотрудник может работать в одной организации, но в разных подразделениях. Документы могут быть сформированы в один и тот же день.

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

    Вот сам запрос. ФизЛицо он находит и берет по нему первый попавшийся документ. Пробовал добавлять условия сравнения по ПодразделениеОрганизации, данных не выводит.
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    НУ во первых у Вас запрос не правильный.
    1.Вы обращаетесь к ТЧ, а потом через ссылку опять из нее данные выбираете. Ну плюс не проверяете проведн документ или нет и т.д
    2. если мне память не изменяет то ПриемНаРаботу.Ссылка.РаботникиОрганизации.Сотрудник имеет тип сотрудники организаций
    Код:
    ВЫБРАТЬ
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка,
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Организация,
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Номер,
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Дата,
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник
    ИЗ
        Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
    ГДЕ
        ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник = &Сотрудник
        И ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Организация = &Организация
    
    Запрос.УстановитьПараметр("Сотрудник", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Организация", СсылкаНаОбъект.ОбособленноеПодразделение);
    
    Вот так хотя бы
    А вообще правильно было бы из регистра сведений РаботникиОрганизаций получить срез первых по данному сотруднику и оттуда регистратор.
    NovInNik нравится это.
  15. NovInNik
    Offline

    NovInNik Опытный в 1С

    Регистрация:
    12 ноя 2007
    Сообщения:
    195
    Симпатии:
    1
    Баллы:
    29
    Спасибо большое. Оказывается надо было просто к "сотруднику" обратиться, а не через ТЧ. На счет остальных замечаний подумаю. Проверка документа на состояние проведен или нет присутствует, просто убрал из примера.
  16. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Правильнее к Регистрам обращаться и оттуда тащить. Даже быстрее работать будет

Поделиться этой страницей