|
Ответственные лица во внешней печатной форме | ☑ | ||
---|---|---|---|---|
0
NovichokAlena
28.07.15
✎
06:19
|
Здравствуйте, есть внешняя печатная форма "Трудовой договор" для справочника "СотрудникиОрганизаций". При выводе на печать выходит должность руководителя и его ФИО. но только почему то не по последней дате, а по первой. в другой базе все работает нормально,а что может быть не так?
1С Предприятие 8, 2ЗУП 2.5 (2.5.93.2) Функция Печать(КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТрудовойДоговор_Печать"; // получаем данные для печати СотрОбъект = СсылкаНаОбъект.ПолучитьОбъект(); Выборка = СотрОбъект.СформироватьЗапросДляПечатиТрудовогоДоговора().Выбрать(); // получаем макет Макет = ПолучитьМакет(НаименованиеМакета); // выводим данные Если НЕ НаименованиеМакета = "Макет" тогда Если Выборка.Следующий() Тогда Макет.Параметры.Заполнить(Выборка); Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок)," месяцев", "" + Выборка.ИспытательныйСрок + " месяца(ев)" ); ВыборкаПерсональныхНадбавок = Выборка.ПерсональныеНадбавки.Выбрать(); Если ВыборкаПерсональныхНадбавок.Количество()>0 Тогда СтрокаНадбавки = "Персональные надбавки: "; Пока ВыборкаПерсональныхНадбавок.Следующий() Цикл СтрокаНадбавки = СтрокаНадбавки + ВыборкаПерсональныхНадбавок.Надбавка + "- " + ВыборкаПерсональныхНадбавок.Показатель1 + "; "; КонецЦикла; Макет.Параметры.Надбавки = СтрокаНадбавки; КонецЕсли; КонецЕсли; Макет.Параметры.ДатаРожд = Формат(СсылкаНаОбъект.Физлицо.ДатаРождения, "ДФ=dd.MM.yyyy"); Макет.Параметры.ДатаПриема = Формат(СсылкаНаОбъект.Ссылка.ДатаПриемаНаРаботу, "ДФ=dd.MM.yyyy"); Если НЕ Строка(СсылкаНаОбъект.ГрафикРаботы) = "совместители" тогда Макет.Параметры.ГрафикРаботы = "основному месту работы"; Макет.Параметры.Оклад = СсылкаНаОбъект.ТарифнаяСтавка; Иначе Макет.Параметры.ГрафикРаботы = "совместительству"; Макет.Параметры.Оклад = СсылкаНаОбъект.ТарифнаяСтавка; КонецЕсли; //Если НЕ НаименованиеМакета = "УМЗ" И НЕ НаименованиеМакета = "Электрогазосварщик" тогда Макет.Параметры.ИНН = СсылкаНаОбъект.Организация.ИНН; Макет.Параметры.КПП = СсылкаНаОбъект.Организация.КПП; Макет.Параметры.ОГРН = СсылкаНаОбъект.Организация.ОГРН; //КонецЕсли; // выводим готовый документ ТабДокумент.ПолеСнизу = 5; ТабДокумент.Вывести(Макет); Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, "Трудовой договор"); Иначе // выводим данные Если Выборка.Следующий() Тогда Макет.Параметры.Заполнить(Выборка); Макет.Параметры.ИспытательныйСрокСтрокой = ?(НЕ ЗначениеЗаполнено(Выборка.ИспытательныйСрок)," месяцев", "" + Выборка.ИспытательныйСрок + " месяца(ев)" ); ВыборкаПерсональныхНадбавок = Выборка.ПерсональныеНадбавки.Выбрать(); Если ВыборкаПерсональныхНадбавок.Количество()>0 Тогда СтрокаНадбавки = "Персональные надбавки: "; Пока ВыборкаПерсональныхНадбавок.Следующий() Цикл СтрокаНадбавки = СтрокаНадбавки + ВыборкаПерсональныхНадбавок.Надбавка + "- " + ВыборкаПерсональныхНадбавок.Показатель1 + "; "; КонецЦикла; //Макет.Параметры.Надбавки = СтрокаНадбавки; КонецЕсли; КонецЕсли; Макет.Параметры.ДатаРожд = Формат(СсылкаНаОбъект.Физлицо.ДатаРождения, "ДФ=dd.MM.yyyy"); Макет.Параметры.ДатаПриема = Формат(СсылкаНаОбъект.Ссылка.ДатаПриемаНаРаботу, "ДФ=dd.MM.yyyy"); Если Строка(СсылкаНаОбъект.ГрафикРаботы) = "Основной график" тогда Макет.Параметры.ГрафикРаботы = "основному месту работы"; Макет.Параметры.Оклад = СсылкаНаОбъект.ТарифнаяСтавка; Иначе Макет.Параметры.ГрафикРаботы = "совместительству"; Макет.Параметры.Оклад = СсылкаНаОбъект.ТарифнаяСтавка; КонецЕсли; // выводим готовый документ ТабДокумент.Вывести(Макет); Возврат ТабДокумент; //Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, "Трудовой договор"); КонецЕсли; КонецФункции |
|||
1
Otkr
28.07.15
✎
06:31
|
Один я ничего не вижу касаемо должности руководителя и его ФИО?
|
|||
2
NovichokAlena
28.07.15
✎
06:36
|
(1) ну она же от куда то берется и на форму выходит
|
|||
3
NovichokAlena
28.07.15
✎
06:36
|
(1) я тоже в коде ничего не нашла, связанного с этим
|
|||
4
Альбатрос
28.07.15
✎
06:37
|
СотрОбъект.СформироватьЗапросДляПечатиТрудовогоДоговора() вот эту функцию покажи-ка нам
|
|||
5
torgm
28.07.15
✎
06:38
|
(3) СформироватьЗапросДляПечатиТрудовогоДоговора
|
|||
6
NovichokAlena
28.07.15
✎
06:43
|
(4).....ее собственно и нет..
|
|||
7
Альбатрос
28.07.15
✎
06:43
|
(6) Чо?
|
|||
8
Альбатрос
28.07.15
✎
06:43
|
курсор на нее поставь и нажми ф12
|
|||
9
NovichokAlena
28.07.15
✎
06:46
|
Функция СформироватьЗапросДляПечатиТрудовогоДоговора() Экспорт
Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; // Установим параметры запроса Запрос.УстановитьПараметр("СправочникСсылка", Ссылка); Запрос.УстановитьПараметр("Физлицо", Физлицо); Запрос.УстановитьПараметр("Организация", ОбособленноеПодразделение); Запрос.УстановитьПараметр("ДатаДокумента", ДатаДоговора); // Выберем (если есть доступ) ответственное физлицо Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо КАК Физлицо, | ОтветственныеЛицаОрганизацийСрезПоследних.Должность, | ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Наименование КАК НаименованиеФизлица, | ФизическиеЛица.Комментарий |ПОМЕСТИТЬ ВТОтветственноеЛицо |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних( | &ДатаДокумента, | ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель) | И СтруктурнаяЕдиница = &Организация) КАК ОтветственныеЛицаОрганизацийСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица | ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = ФизическиеЛица.Ссылка"; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ОтветственноеЛицоОрганизации.Должность КАК ДолжностьРуководителя, | ТрудовойДоговор.НомерДоговора КАК НомерДок, | ТрудовойДоговор.ДатаДоговора КАК ДатаДок, | ТрудовойДоговор.Организация.НаименованиеПолное КАК ПолноеНазваниеОрганизации, | ЕСТЬNULL(ФИООтветственныхЛиц.Фамилия + "" "" + ФИООтветственныхЛиц.Имя + "" "" + ФИООтветственныхЛиц.Отчество, ОтветственноеЛицоОрганизации.НаименованиеФизлица) КАК ФИОРуководителя, | ЕСТЬNULL(ФИОФизЛиц.Фамилия + "" "" + ФИОФизЛиц.Имя + "" "" + ФИОФизЛиц.Отчество, ТрудовойДоговор.Физлицо.Наименование) КАК ФИОРаботника, | ТрудовойДоговор.ДатаОкончания КАК ДатаУвольнения, | ТрудовойДоговор.ДатаНачала КАК ДатаПриема, | ТрудовойДоговор.Должность.Наименование КАК Должность, | ТрудовойДоговор.ЗанимаемыхСтавок, | ТрудовойДоговор.ИспытательныйСрок, | ТрудовойДоговор.ПодразделениеОрганизации.Наименование КАК Подразделение, | ВЫБОР | КОГДА ТрудовойДоговор.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы) | ТОГДА ""основной работе"" | ИНАЧЕ ""совместительству"" | КОНЕЦ КАК ВидЗанятости, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер, | ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи, | ВЫРАЗИТЬ(ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК СТРОКА(300)) КАК ДокументКемВыдан, | АдресРегистрации.Представление КАК АдресРегистрации, | ТелефонДомашний.Представление КАК Телефоны, | КонтактнаяИнформация.Представление КАК АдресОрганизации, | ТелефонОрганизации.Представление КАК ТелефоныОрганизации, | ТрудовойДоговор.Организация.Наименование КАК НазваниеОрганизации, | ТрудовойДоговор.Организация.ИНН + ""/"" + ТрудовойДоговор.Организация.КПП КАК ИНН, | ТрудовойДоговор.ГрафикРаботы.ВидГрафика КАК ВидГрафика, | ТрудовойДоговор.ГрафикРаботы.ДлительностьРабочейНедели КАК ДлительностьРабочейНедели, | ТрудовойДоговор.ВидРасчета, | ТрудовойДоговор.ТарифнаяСтавка, | ТрудовойДоговор.ВалютаТарифнойСтавки.Наименование КАК ВалютаТарифнойСтавки, | ТрудовойДоговор.ПерсональныеНадбавки.( | Ссылка, | НомерСтроки, | Надбавка КАК Надбавка, | Показатель1 | ) |ИЗ | Справочник.СотрудникиОрганизаций КАК ТрудовойДоговор | ЛЕВОЕ СОЕДИНЕНИЕ ВТОтветственноеЛицо КАК ОтветственноеЛицоОрганизации | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних( | &ДатаДокумента, | Физлицо В | (ВЫБРАТЬ | Ответственные.Физлицо | ИЗ | ВТОтветственноеЛицо КАК Ответственные)) КАК ФИООтветственныхЛиц | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&ДатаДокумента, Физлицо = &Физлицо) КАК ФИОФизЛиц | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(&ДатаДокумента, Физлицо = &Физлицо) КАК ПаспортныеДанныеФизЛицСрезПоследних | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК АдресРегистрации | ПО ТрудовойДоговор.Физлицо = АдресРегистрации.Объект | И (АдресРегистрации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ТелефонДомашний | ПО ТрудовойДоговор.Физлицо = ТелефонДомашний.Объект | И (ТелефонДомашний.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонФизЛица)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО ТрудовойДоговор.Организация = КонтактнаяИнформация.Объект | И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ТелефонОрганизации | ПО ТрудовойДоговор.Организация = ТелефонОрганизации.Объект | И (ТелефонОрганизации.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонОрганизации)) |ГДЕ | ТрудовойДоговор.Ссылка = &СправочникСсылка"; Возврат Запрос.Выполнить(); КонецФункции // СформироватьЗапросДляПечати() |
|||
10
Альбатрос
28.07.15
✎
06:49
|
(9) из чего следует, что у тебя ответственные срезаются на дату договора
|
|||
11
Sergz66
28.07.15
✎
07:25
|
Что в-общем-то логично...
|
|||
12
SeraFim
28.07.15
✎
07:26
|
Может быть, что-то не так с РегистрСведений.ФИОФизЛиц.
|
|||
13
NovichokAlena
28.07.15
✎
08:03
|
(10) все правильно...на дату договора срезаются
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |