![]() |
|
Печатная форма | ☑ | ||
---|---|---|---|---|
0
VAUCHER
01.03.17
✎
08:07
|
Товарищи, простите новичка за возможно глупый вопрос. Возникла необходимость работать в 1с, а я мягко говоря не бум бум.
Необходимость создать печатную форму Приказ о приеме на работу на макете ворда. Начало положено. Стандартные реквизиты переносятся в макет без проблем. В вот с табличной частью какая то загвоздка. Не могу понять в чем дело. При формированиии формы пишет, что "Поле объекта Сотрудник не найдено" Вот такое вот я наваял: Функция Печать() Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | ПриемНаРаботуВОрганизацию.РаботникиОрганизации.( | Сотрудник КАК Сотрудник, | ФизЛицо КАК ФизЛицо, | ДатаПриема КАК ДатаПриема | ) |ИЗ | Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию |ГДЕ | ПриемНаРаботуВОрганизацию.Ссылка = &ТекущийДокумент"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Результат.Вставить("Сотрудник", Выборка.Сотрудник); Результат.Вставить("ФизЛицо", Выборка.ФизЛицо); Результат.Вставить("ДатаПриема", Выборка.ДатаПриема); КонецЦикла; Макет = ПолучитьМакет("ПриемНаРаботу"); MSWord = Макет.Получить(); НомерДок = СсылкаНаОбъект.Номер; ДатаДок = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy"); Сотрудник = Выборка.Сотрудник; Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); Замена = Документ.Content.Find; Замена.Execute("[НомерДок]",Ложь,Истина,Ложь,,,Истина,,Ложь,НомерДок); Замена = Документ.Content.Find; Замена.Execute("[Дата]",Ложь,Истина,Ложь,,,Истина,,Ложь,ДатаДок); Замена = Документ.Content.Find; Замена.Execute("[Сотрудник]",Ложь,Истина,Ложь,,,Истина,,Ложь,Сотрудник); Исключение Сообщить(ОписаниеОшибки()); MSWord.Application.Quit(); КонецПопытки; КонецФункции // Печать() |
|||
1
bodri
01.03.17
✎
08:12
|
Вот это зачем?
Пока Выборка.Следующий() Цикл Результат.Вставить("Сотрудник", Выборка.Сотрудник); Результат.Вставить("ФизЛицо", Выборка.ФизЛицо); Результат.Вставить("ДатаПриема", Выборка.ДатаПриема); КонецЦикла; Это не надо делать после окончания выборки: Сотрудник = Выборка.Сотрудник; |
|||
2
bodri
01.03.17
✎
08:15
|
Думается, что должно быть примерно так:
Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Сотрудник = Новый СписокЗначений; Пока Выборка.Следующий() Цикл Сотрудник.Добавить(Выборка.Сотрудник); КонецЦикла; хотя тоже спорно. |
|||
3
VAUCHER
01.03.17
✎
08:18
|
Нет, всё тоже самое. Может где неправильную ссылку на документ указал. Ничего понять не могу(
|
|||
4
nordbox
01.03.17
✎
08:23
|
я дико извиняюсь, а вот в текущем документе вообще то зачем запрос делать??
|
|||
5
VAUCHER
01.03.17
✎
08:23
|
Потом надо будет забрать ещё несколько параметров. Как ДатаДоговора, ДатаПриема и т.д. С одним надо разобраться
|
|||
6
nordbox
01.03.17
✎
08:24
|
может быть я обшибаюсь но сотрудник это вроде бы морда физического лица
|
|||
7
VAUCHER
01.03.17
✎
08:26
|
(4) Я тоже извиняюсь)) Просто не знаю как вообще что можно реализовать. Дату Документа и номер я забрал без проблем, без запроса, а вот Сотрудника уже не получается. Впервые в жизни 1с открыл можно сказать
|
|||
8
nordbox
01.03.17
✎
08:26
|
Конфа то какая?
|
|||
9
VAUCHER
01.03.17
✎
08:26
|
(8) ЗУП 2,0
|
|||
10
nordbox
01.03.17
✎
08:32
|
вот тут бесплатная лежит внешняя
http://buh-it.ru/vneshnyaya-forma-priem-na-rabotu-t1-i-kadrovoe-peremeshhenie-t5-s-nadbavkami-dlya-zup-2-5/ или тебе надо как правильно код написать? |
|||
11
VAUCHER
01.03.17
✎
08:34
|
(10) Конечно лучше в коде разобраться. И мне именно на шаблоне Worda надо.
|
|||
12
nordbox
01.03.17
✎
08:36
|
Тебе в данном случае пофиг ворд это будет или таб документ, хоть в окно сообщений выводи, у тебя задача получить реквизиты из документа
ща посмотрю, есть ли у меня ЗУП 2.5 что бы тебе что говорить |
|||
13
nordbox
01.03.17
✎
08:44
|
У меня такой конфы нет, но не все так плохо, что бы самому не городить:
Открой Общие модули и найди там модуль КадровыйУчет открой и посмотри что там |
|||
14
VAUCHER
01.03.17
✎
08:49
|
(13) Именно КадровыйУчет модуля нет. Есть кадровоеПеремещениеОрганизации
|
|||
15
nordbox
01.03.17
✎
08:50
|
Ну значит как то по другому называется, еще смотри что там есть
вот тут тоже лежит бесплатная https://yadi.sk/d/xusXH5TY3DYzzW открывай и смотри как там делается |
|||
16
nordbox
01.03.17
✎
08:56
|
(14) Вот по первой ссылке скачай, открой форму Т-1 там модуль объекта и посмотри, там доступно и просто вроде бы написано.
конфы нет, судить не могу. |
|||
17
nordbox
01.03.17
✎
08:56
|
+16 что бы переделать в вород там ума много не надо )
|
|||
18
darius357
01.03.17
✎
09:04
|
ну как всегда побакланили, и нифига толку
|
|||
19
Масянька
01.03.17
✎
09:06
|
А если "Сотрудник = Выборка.Сотрудник;" поменять на "Сотрудник = Результат.Сотрудник;"?
|
|||
20
FIXXXL
01.03.17
✎
09:24
|
(19) не надо велосапедить
наверняка в есть же у документа рабочие печ.формы, вот там и смотри код, как инфа для печати собирается |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |