|
v7: Поле агрегатного объекта не обнаружено ФИОДатПад | ☑ | ||
---|---|---|---|---|
0
Ihor
15.01.20
✎
15:28
|
нужна помощь.такая вот ошибка, в коде эта строка есть
Document.Variables.Item("Сотрудник").Value=СокрЛП(Сотрудник.ФИОДатПад); {Документ.Отпуск.Форма.Модуль(610)}: Поле агрегатного объекта не обнаружено (ФИОДатПад) код: Document=МСWord.Documents.Open(СокрЛП(ШаблонПечати),,1); Document.Variables.Item("НомерПриказа").Value=СокрЛП(НомерДок); датаПриказа = формат(ДатаДок,"Д (0)ДДММММГГГГ"); Document.Variables.Item("ДатаПриказа").Value=СокрЛП(датаПриказа); Document.Variables.Item("Сотрудник").Value=СокрЛП(Сотрудник.ФИОДатПад); Document.Variables.Item("Должность").Value=СокрЛП(Сотрудник.ДолжностьДатПад); //КоличествоДней = ДатаКонца - ДатаНачала + 1; Document.Variables.Item("КоличествоДнейОтп").Value=СокрЛП(КоличествоДней)+ " ("+ Формат(КоличествоДней, "ЧП") + ")"; датаНачОтп = формат(ДатаНачала,"Д (0)ДДММММГГГГ"); Document.Variables.Item("ДатаНОтп").Value=СокрЛП(датаНачОтп); датаКонОтп = формат(ДатаКонца,"Д (0)ДДММММГГГГ"); Document.Variables.Item("ДатаКОтп").Value=СокрЛП(датаКонОтп); Если ВидОтпуска.ТекущаяСтрока() = 1 Тогда ЗаПериод = Формат(ДатаН, "ДДДММГГГГ") + "-" + Формат(ДатаК, "ДДДММГГГГ"); Document.Variables.Item("ПериодОтпуска").Value=СокрЛП(ЗаПериод); КонецЕсли; |
|||
1
Ёпрст
15.01.20
✎
15:32
|
ФИОДатПад- поди периодический реквизит справочника ?
|
|||
2
Ёпрст
15.01.20
✎
15:33
|
Или Получить(наДату) или ИспользоватьДату втыкай в код
|
|||
3
Ihor
15.01.20
✎
15:54
|
(2) можно пример, не совсем понимаю как сделать?
|
|||
4
Ёпрст
15.01.20
✎
15:55
|
(3)
Document.Variables.Item("Сотрудник").Value=СокрЛП(Сотрудник.ФИОДатПад.Получить(ДатаК)); |
|||
5
Ihor
15.01.20
✎
16:01
|
(4)
к сожалению та же ошибка |
|||
6
НЕА123
15.01.20
✎
16:11
|
(0)
Отладчик? может никакого ФИОДатПад у Сотрудник и нет. |
|||
7
8 bit
15.01.20
✎
16:26
|
(1) с чего бы ФИО в дательном падеже изменялось со временем?
Циммерману, Иванову, Гаррисону, Мангулапулле - ка было, так и останется. (6) скорее всего. Чувак из (0) тиснул где-то обработку и не может ее адаптировать под свою базу, а знаний не хватает. Вот такая вот эпоха операторов ЭВМ. |
|||
8
73с
15.01.20
✎
16:36
|
(6) Да и без отладчика - просто посмотреть есть такой реквизит ?
|
|||
9
Злопчинский
15.01.20
✎
17:26
|
Возможно "Сотрудник" не выбран..?
|
|||
10
Ihor
15.01.20
✎
17:44
|
(9) сотрудник выбран
|
|||
11
Злопчинский
16.01.20
✎
00:08
|
(10) ну, если не разгреб - стучись в скайп Zlopun
посмотрим, где там кривые немытые ручки лазали... |
|||
12
Ihor
16.01.20
✎
11:16
|
Господа спасибо за помощь, небыло реквизита поэтому било такую ошибку. но сейчас при печати шаблона бьет другую ошибку: Ошибка! Переменная документа не указана., Ошибка! Переменная документа не указана., часть трудового отпуска в количестве 12 (Двенадцать) календарных дней с 20 Января 2020 г. по 31 Января 2020 г. за период работы 01.01.2019-31.12.2019.
в чем сейчас может быть вопрос? |
|||
13
vladko
16.01.20
✎
11:25
|
(12) проверяй, все ли переменные в вордовском шаблоне заполняются кодом из 1С. Похоже, какой-то не заполняется.
|
|||
14
vladko
16.01.20
✎
11:28
|
(12) особенно в указанной строке
|
|||
15
MWWRuza
гуру
16.01.20
✎
12:09
|
К первому вопросу дополнение:
По хорошему, вместо реквизита справочника "Сотрудники" - "ФИОДатПад", нужно написать функцию "ФИОДатПад(Сотрудник)", которая будет возвращать строку ФИО сотрудника в дательном падеже. Иначе, придется у каждого сотрудника, в этот добавленный реквизит, вписывать это вручную, а если сотров много - то это еще та задача... Конечно, если их пару десятков - то можно и вручную сделать. Ну, или применить универсальную функцию "Склонение"(или "Падеж", не помню, как точно она называется), можно поискать, здесь, или на ИнфоСтарте выкладывали, там два параметра - само ФИО и нужный падеж, на выходе строка в нужном падеже. |
|||
16
MWWRuza
гуру
16.01.20
✎
12:15
|
+(15)Вот тема была, первая попавшаяся ссылка: Склонение по падежам в 1С 7.7 - нужен работающий пример
|
|||
17
MWWRuza
гуру
16.01.20
✎
12:20
|
(15)там два параметра - само ФИО и нужный падеж,
На самом деле три - про "пол" я забыл... Дать ИвановНЕ или ИвановИЧУ, несколько разное... |
|||
18
НЕА123
16.01.20
✎
12:58
|
(17)
тогда уж 3 параметра получается (пол либо дата) |
|||
19
MWWRuza
гуру
16.01.20
✎
13:07
|
(18)пол либо дата
Ну, если предположить, что пол - реквизит периодический :-) , то да, и тогда не три, а четыре... Но, вроде мы не в Тае живем, у нас это редчайший случай... Ну, а если серьезно, то при чем здесь дата вообще? |
|||
20
MWWRuza
гуру
16.01.20
✎
13:10
|
+(19)и тогда не три, а четыре...
Хотя, пол тогда лучше в "готовом виде" в функцию передавать, уже полученным на дату. Тогда все равно три параметра останутся. |
|||
21
catena
16.01.20
✎
13:15
|
(19)Дата при ФИО. Изменение ФИО не такой уж и редкий случай.
|
|||
22
73с
16.01.20
✎
13:21
|
(15) Вот как раз по-хорошему, этого делать не надо.
Эту функцию лучше привязать к вводу нового сотрудника и заполнять там реквизит ФИОДатПад с возможностью ручной правки. Сколько этих функций ни видел - ни одна не обеспечивает 100% правильное склонение. И это нормально ! А так - один раз просклонял, при необходимости поправил и бери "утверждённый" вариант. |
|||
23
Ihor
16.01.20
✎
15:43
|
Всем спасибо. не актуально уже
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |