Имя: Пароль:
1C
1С v8
ЗУП 3.0 Внешняя печатная форма
0 TankOo
 
31.10.16
12:48
Добрый день! Только начинаю осваивать 1с со стороны конфигуратора, так что просьба камнями не кидать.
Сделала внешнюю печатную форму "Договор возмездного оказания услуг" на основе "Договор (работы, услуги)".
Бух-ам не нравится, что в договоре выводится Фамилия и инициалы, а не ФИО полностью.
Вот вижу эту строчку в конфе:
ДанныеПечати.ФИОРуководителяСклоняемое =ФизическиеЛицаЗарплатаКадрыКлиентСервер.ФамилияИнициалы(ФИОРуководителя);
Понимаю, что написано, но не понимаю, чем заменить.
Помогите, кто чем может :(
1 Windyhead
 
31.10.16
13:19
(0) ДанныеПечати.ФИОРуководителяСклоняемое =ФизическиеЛицаЗарплатаКадрыКлиентСервер.ФамилияИнициалы(ФИОРуководителя);

Замени на
ДанныеПечати.ФИОРуководителяСклоняемое =ФИОРуководителя;
2 Windyhead
 
31.10.16
13:23
(0) Да и модуля ФизическиеЛицаЗарплатаКадрыКлиентСервер нету.
Есть ФизическиеЛицаКлиентСервер
3 SleepyHead
 
гуру
31.10.16
13:30
(2) А у меня в ЗУП 3.1 есть такой, и в нем экспортная функция ФамилияИнициалы тоже есть.

Странно, что у автора не срабатывает.
4 Windyhead
 
31.10.16
13:36
(3) ну так речь то про 3.0,  я посмотрел в 3.0.25.118

(3) А что должно сработать?
5 TankOo
 
31.10.16
14:01
(4) Сорри, ЗУП 3.1, по привычке пишу 3.0


Если ДанныеФизическогоЛица.Количество() > 0 Тогда
                
                ДанныеРуководителя = ДанныеФизическогоЛица[0];
                ФИОРуководителя = Новый Структура("Фамилия,Имя,Отчество");
                ЗаполнитьЗначенияСвойств(ФИОРуководителя, ДанныеРуководителя);
                
                ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ФИОРуководителя.Фамилия),2, ФИОРуководителя.Фамилия,ДанныеРуководителя.Пол);
ДанныеПечати.ФИОРуководителяСклоняемое =ФИОРуководителя;


Вот теперь он вместо ФИО выводит "Структура")
6 Alexandr_U1982
 
31.10.16
14:10
ДанныеПечати.ФИОРуководителяСклоняемое = ФИОРуководителя.Фамилия + ?(ЗначениеЗаполнено(ФИОРуководителя.Имя), " " + Лев(ФИОРуководителя.Имя, 1) + "." + ?(ЗначениеЗаполнено(ФИОРуководителя.Отчество), Лев(ФИОРуководителя.Отчество) + ".", ""), "")
7 SleepyHead
 
гуру
31.10.16
14:14
(4) в (6) отличный вариант, в смысле простой.

Хотя не слишком оптимальный в смысле выборки данных :) Трижды читается объект "Физическое лицо" для получения имени, отчества и фамилии.
8 Alexandr_U1982
 
31.10.16
14:18
(7) см. (5)
ФИОРуководителя - это Структура. Предпологаю, что элементы структуры имеют тип "Строка".
9 SleepyHead
 
гуру
31.10.16
14:21
(8) Ну, тогда совсем отличный вариант.
10 Windyhead
 
31.10.16
14:23
(6)
Автор  хочет полное ФИО а не инициалы.

(5) Раз хочешь полное фио то и склонять в ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ФИОРуководителя.Фамилия),2, ФИОРуководителя.Фамилия,ДанныеРуководителя.Пол);
надо тоже полное фио а не только фамилию.
посмотри в отладчике есть ли в ДанныеФизическогоЛица[0] реквизит содержащий ФИО полностью
11 Alexandr_U1982
 
31.10.16
14:36
(10) Действительно перепутал))
12 TankOo
 
31.10.16
15:19
(10) Да, там как раз выводится полностью.

Сделала вот так:

Если ДанныеФизическогоЛица.Количество() > 0 Тогда
                
                ДанныеРуководителя = ДанныеФизическогоЛица[0];
                ФИОРуководителя = Новый Структура("Фамилия,Имя,Отчество");
                ЗаполнитьЗначенияСвойств(ФИОРуководителя, ДанныеРуководителя);
                
                ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ФИОРуководителя.Фамилия),
                    2, ФИОРуководителя.Фамилия, ДанныеРуководителя.Пол);
                ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ФИОРуководителя.Имя),
                    2, ФИОРуководителя.Имя, ДанныеРуководителя.Пол);
                ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ФИОРуководителя.Отчество),
                    2, ФИОРуководителя.Отчество, ДанныеРуководителя.Пол);    
                    
                ДанныеПечати.ФИОРуководителяСклоняемое = ФИОРуководителя.Фамилия + " " + ФИОРуководителя.Имя + " " + ФИОРуководителя.Отчество;

скорее всего, можно сделать гораздо красивее, но раз работает - сойдет))
Всем спасибо!
13 Windyhead
 
31.10.16
15:43
(12)
Если ДанныеФизическогоЛица.Количество() > 0 Тогда
                
                ДанныеРуководителя = ДанныеФизическогоЛица[0];
                ФИОРуководителя = Новый Структура("Фамилия,Имя,Отчество");
                ЗаполнитьЗначенияСвойств(ФИОРуководителя, ДанныеРуководителя);
                
ФИОПолностью = ФИОРуководителя.Фамилия + " " + ФИОРуководителя.Имя + " " + ФИОРуководителя.Отчество;

ФизическиеЛицаЗарплатаКадры.Просклонять(ФИОПолностью ,
                    2, ФИОРуководителя.Фамилия, ДанныеРуководителя.Пол);

ДанныеПечати.ФИОРуководителяСклоняемое =ФИОПолностью ;
14 Windyhead
 
31.10.16
15:47
упс вот тут поправочка

ФизическиеЛицаЗарплатаКадры.Просклонять(ФИОПолностью ,
                    2, ФИОПолностью , ДанныеРуководителя.Пол);
15 TankOo
 
31.10.16
16:09
(14) ну да, так строчек поменьше будет, переделала.
Спасибо за отклик, большой косяк с синтаксисом и знанием языка. Вроде читаю - понимаю, а сама писать никак не начну.
16 Windyhead
 
31.10.16
16:26
(15) тут дело не в количестве строчек,
а будут нормально работать склонения которые проставлены вручную