|
Выбор сотрудника | ☑ | ||
---|---|---|---|---|
0
JaZDik
24.09.13
✎
13:29
|
Ребят помогите, если в табличной части много сотрудников заведено, то при выборе любого сотрудника и вывода на печатную форму. Выводит весегда данные того сотрудника, который находится самый первый. Как решить эту проблемку?
Чего не ватает в коде? Функция Печать() Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | КадровоеПеремещениеОрганизацийРаботникиОрганизации.Сотрудник, | ПаспортныеДанныеФизЛиц.ДокументСерия КАК Серия, | ПаспортныеДанныеФизЛиц.ДокументНомер КАК Номер, | ПаспортныеДанныеФизЛиц.ДокументДатаВыдачи КАК ДатаВыд, | ПаспортныеДанныеФизЛиц.ДокументКемВыдан КАК КемВыдан, | ПаспортныеДанныеФизЛиц.ФизЛицо.ИНН КАК ИНН, | ПаспортныеДанныеФизЛиц.ФизЛицо.СтраховойНомерПФР КАК СтрахНомер, | ПаспортныеДанныеФизЛиц.ФизЛицо.ДатаРождения КАК ДатаРож, | СотрудникиОрганизаций.ПодразделениеОрганизации КАК Подразделение, | СотрудникиОрганизаций.Должность КАК Должность, | СотрудникиОрганизаций.ТарифнаяСтавка КАК Оклад, | СотрудникиОрганизаций.ДатаНачала КАК ДатаДог, | СотрудникиОрганизаций.НомерДоговора КАК НомерДог, | КадровоеПеремещениеОрганизацийРаботникиОрганизации.Ссылка.Номер КАК Номер1, | КадровоеПеремещениеОрганизацийРаботникиОрганизации.Ссылка.Дата КАК Дата1, | КадровоеПеремещениеОрганизацийРаботникиОрганизации.Ссылка.Ответственный.Наименование КАК Работодатель, | СотрудникиОрганизаций.ДатаДоговора КАК ДатаОт, | АдресРегистрации.Представление КАК Поле1 |ИЗ | Документ.КадровоеПеремещениеОрганизаций.РаботникиОрганизации КАК КадровоеПеремещениеОрганизацийРаботникиОрганизации | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц | ПО КадровоеПеремещениеОрганизацийРаботникиОрганизации.ФизЛицо = ПаспортныеДанныеФизЛиц.ФизЛицо | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций | ПО КадровоеПеремещениеОрганизацийРаботникиОрганизации.ФизЛицо = СотрудникиОрганизаций.Физлицо | И КадровоеПеремещениеОрганизацийРаботникиОрганизации.Сотрудник.НомерДоговора = СотрудникиОрганизаций.НомерДоговора | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК АдресРегистрации | ПО КадровоеПеремещениеОрганизацийРаботникиОрганизации.ФизЛицо = АдресРегистрации.Объект |ГДЕ | КадровоеПеремещениеОрганизацийРаботникиОрганизации.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_КадровоеПеремещениеОрганизацийРаботникиОрганизации_ДополнительноеСоглашение"; Макет = ПолучитьМакет("ДополнительноеСоглашение"); ОбластьМакета = Макет.ПолучитьОбласть("Общее"); ОбластьМакета.Параметры.Работник = Шапка.Сотрудник.Наименование; ОбластьМакета.Параметры.Серия = Шапка.Серия; ОбластьМакета.Параметры.Номер = Шапка.Номер; ОбластьМакета.Параметры.ДатаВыд = Шапка.ДатаВыд; ОбластьМакета.Параметры.КемВыдан = Шапка.КемВыдан; ОбластьМакета.Параметры.ИНН = Шапка.ИНН; ОбластьМакета.Параметры.СтрахНомер = Шапка.СтрахНомер; ОбластьМакета.Параметры.ДатаРож = Шапка.ДатаРож; ОбластьМакета.Параметры.ДатаДог = Шапка.ДатаДог; ОбластьМакета.Параметры.НомерДог = Шапка.НомерДог; ОбластьМакета.Параметры.Подразделение = Шапка.Подразделение; ОбластьМакета.Параметры.Должность = Шапка.Должность; ОбластьМакета.Параметры.Оклад = Шапка.Оклад; ОбластьМакета.Параметры.РабДата = ТекущаяДата(); ОбластьМакета.Параметры.Дата1 = Шапка.Дата1; ОбластьМакета.Параметры.Номер1 = Шапка.Номер1; ОбластьМакета.Параметры.Работодатель = Шапка.Работодатель; ОбластьМакета.Параметры.ДатаОт = Шапка.ДатаОт; ОбластьМакета.Параметры.Поле1 = Шапка.Поле1; ОбластьМакета.Параметры.Поле2 = Шапка.Поле1; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции |
|||
1
SeraFim
24.09.13
✎
13:32
|
Так ты только первого и смотришь:
Шапка.Следующий(); |
|||
2
SeraFim
24.09.13
✎
13:34
|
Надо:
Пока Шапка.Следующий() Цикл //вывод по каждому сотруднику КОнецЦикла; |
|||
3
JaZDik
24.09.13
✎
13:55
|
(2) Так а что в этом цикле прописать?
|
|||
4
JaZDik
24.09.13
✎
13:57
|
(2) Если не сложно можете показать как это в коде должно выглядеть?
|
|||
5
Euguln
24.09.13
✎
13:58
|
(3) Жесть какая.
А что хочется увидеть? |
|||
6
Artful Den
24.09.13
✎
13:59
|
(0) да и ОбластьМакета.Параметры.Заполнить(Шапка) упростит твою конструкцию
|
|||
7
JaZDik
24.09.13
✎
14:01
|
Это ЗУП. внешняя печатная форма (5) увидеть хочу сотрудника на которого ставлю курсор, т.е. выбираю Из документа кадровое перемещение
|
|||
8
Euguln
24.09.13
✎
14:03
|
А как вызывается обработка из списка справочника?
|
|||
9
Euguln
24.09.13
✎
14:03
|
(8) т.е. из документа
|
|||
10
JaZDik
24.09.13
✎
14:04
|
(9) да
|
|||
11
JaZDik
24.09.13
✎
14:06
|
Могу выложить внешнию печатную форму, если нужно
|
|||
12
Euguln
24.09.13
✎
14:08
|
(11) не надо. У тебя нигде нет ссылки на текущего сотрудника в табличной части, и быть не может. Надо делать свой вызов в таком случае.
|
|||
13
JaZDik
24.09.13
✎
14:13
|
(12) Помоги пожалуйста.
|
|||
14
JaZDik
24.09.13
✎
14:17
|
Я просто еще начинаю только
|
|||
15
Euguln
24.09.13
✎
14:18
|
(13) чем? Через подключение внешней печатной формы это не сделаешь. Прописывать вызов своей функции печати и передаешь ей текущего сотрудника.
|
|||
16
JaZDik
24.09.13
✎
14:24
|
(15) Так и сделал. Как только передать ей текущео сотрудника?
|
|||
17
kosts
24.09.13
✎
14:30
|
Если нужно печатать приказ на отдельного сотрудника из документа, то можно во внешней печатной форме документа получить всех сотрудников этого документа. Выдать список сотрудников пользователю для выбора и тут уже печатать нужных по нажатии на ентер например. (это если конфигурацию не менять)
Еще лучше сразу по всем сотрудникам сформировать приказы... Зачем по одному-то выбирать? |
|||
18
Euguln
24.09.13
✎
14:36
|
(16) ЭлементыФормы.РаботникиОрганизации.ТекущиеДанные.Сотрудник
|
|||
19
JaZDik
24.09.13
✎
14:36
|
Это дополнительное соглашение. Переводу из подразделений или смены должности и из за этого нудно отдельно по каждому
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |