Имя: Пароль:
1C
 
Запрос в печ форме
0 vanel_444
 
29.03.24
22:27
|    ПриемНаРаботу.Показатели.(
    |        Ссылка КАК Ссылка,
    |        НомерСтроки КАК НомерСтроки,
    |        ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
    |        Показатель КАК Показатель,
    |        Значение КАК Значение,
    |        Действие КАК Действие
    |    ) КАК Показатели
    |ИЗ
    |    Документ.КадровыйПеревод КАК ПриемНаРаботу
    |ГДЕ
    |    ПриемНаРаботу.Ссылка В(&МассивОбъектов)";

    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
    
    Для Каждого ДокументДляПечати Из РезультатыЗапроса Цикл
        
        ДанныеПечати = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(ДокументДляПечати);
        ДанныеПечати.Вставить("ФИОРуководителяСокращенное", Строка(ДанныеПечати.Руководитель));
        ДанныеПечати.Вставить("РазмерДоплаты", Строка(ДанныеПечати.));




Помогите дописать вот эту строчку
        ДанныеПечати.Вставить("РазмерДоплаты", Строка(ДанныеПечати.));

Из запроса реквезит из ТЧ достал
А как вставить не пойму
1 Волшебник
 
29.03.24
22:28
Вам не стыдно?
2 vanel_444
 
29.03.24
22:35
(1) Стыдно очень, помогите плиз
3 Волшебник
 
29.03.24
22:47
(2) Покажите задачу точно

Покажите Ваши промежуточные результаты точно.

Не врите нам.
4 vanel_444
 
29.03.24
22:54
Функция ДанныеПечатиДокументов(МассивОбъектов, ДокументОснование)
    
    ДанныеПечатиОбъектов = Новый Соответствие;
    
    Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриемНаРаботу.Ссылка КАК Ссылка,
    |    ПриемНаРаботу.Номер КАК Номер,
    |    ПриемНаРаботу.Дата КАК Дата,
    |    ПриемНаРаботу.Организация КАК Организация,
    |    ПриемНаРаботу.Организация.НаименованиеПолное КАК НазваниеОрганизации,
    |    ПриемНаРаботу.Руководитель КАК Руководитель,
    |    ПриемНаРаботу.ДолжностьРуководителя КАК ДолжностьРуководителя,
    |    ПриемНаРаботу.Сотрудник КАК Сотрудник,
    |    ПриемНаРаботу.ФизическоеЛицо КАК ФизическоеЛицо,
    |    ПриемНаРаботу.Должность КАК Должность,
    |    ПриемНаРаботу.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
    |    ПриемНаРаботу.ВидДоговора КАК ВидДоговора,
    |    ПриемНаРаботу.Организация.ИНН КАК ОрганизацияИНН,
    |    ПриемНаРаботу.Организация.ОГРН КАК ОрганизацияОГРН,
    |    ПриемНаРаботу.Организация.ЮридическоеФизическоеЛицо КАК ОрганизацияЮридическоеФизическоеЛицо,
    |    ПриемНаРаботу.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное,
    |    ПриемНаРаботу.Организация.ИндивидуальныйПредприниматель КАК ОрганизацияИндивидуальныйПредприниматель,
    |    ПриемНаРаботу.Сотрудник КАК Сотрудник1,
    |    ПриемНаРаботу.Сотрудник.ФизическоеЛицо.ФИО КАК СотрудникФизическоеЛицоФИО,
    |    ПриемНаРаботу.Сотрудник.ФизическоеЛицо.ДатаРождения КАК СотрудникФизическоеЛицоДатаРождения,
    |    ПриемНаРаботу.Показатели.(
    |        Ссылка КАК Ссылка,
    |        НомерСтроки КАК НомерСтроки,
    |        ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
    |        Показатель КАК Показатель,
    |        Значение КАК Значение,
    |        Действие КАК Действие
    |    ) КАК Показатели
    |ИЗ
    |    Документ.КадровыйПеревод КАК ПриемНаРаботу
    |ГДЕ
    |    ПриемНаРаботу.Ссылка В(&МассивОбъектов)";

    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
    
    Для Каждого ДокументДляПечати Из РезультатыЗапроса Цикл
        
        ДанныеПечати = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(ДокументДляПечати);
        ДанныеПечати.Вставить("ФИОРуководителяСокращенное", Строка(ДанныеПечати.Руководитель));
        ДанныеПечати.Вставить("РазмерДоплаты", Строка(ДанныеПечати.));
        
        ДанныеПечати.Вставить("НазваниеОрганизации", Строка(ДанныеПечати.Организация));

        ДанныеПечати.Вставить("ФИОРуководителяСклоняемое", Строка(ДанныеПечати.Руководитель));
        ДанныеПечати.Вставить("ДатаСоглашения", Формат(ДатаСоглашения,"ДФ=dd.MM.yyyy; ДЛФ=D"));
        ДанныеПечати.Вставить("ДатаВступленияВСилу", формат(ДатаВступленияВСилу,"ДФ=dd.MM.yyyy; ДЛФ=D"));
        //ДанныеПечати.Дата = Формат(ДанныеПечати.Дата, "ДЛФ=D");
        ДанныеПечати.Вставить("ДокументОснование", ДокументОснование);            
        // Подготовка номера документа.
        ДанныеПечати.Номер = КадровыйУчетРасширенный.НомерКадровогоПриказа(ДанныеПечати.Номер);
        
        Если ЗначениеЗаполнено(ДанныеПечати.Руководитель) Тогда
            
            ДанныеФизическогоЛица = КадровыйУчет.КадровыеДанныеФизическихЛиц(
            Истина, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДанныеПечати.Руководитель),
            "Фамилия, Имя, Отчество, Пол", ДокументДляПечати.Дата);
            
            Если ДанныеФизическогоЛица.Количество() > 0 Тогда
                
                ДанныеФИО = Новый Структура("Фамилия,Имя,Отчество");
                ЗаполнитьЗначенияСвойств(ДанныеФИО, ДанныеФизическогоЛица[0]);
                
                ДанныеПечати.ФИОРуководителяСокращенное = ФизическиеЛицаЗарплатаКадры.РасшифровкаПодписи(ДанныеФИО);
                
                Если ДанныеФизическогоЛица[0].Пол = Перечисления.ПолФизическогоЛица.Мужской Тогда
                    ДанныеПечати.Вставить("Действующего", НСтр("ru = 'действующего'"));
                Иначе
                    ДанныеПечати.Вставить("Действующего", НСтр("ru = 'действующей'"));
                КонецЕсли;
                
                ФизическиеЛицаЗарплатаКадры.Просклонять(ДанныеПечати.ФИОРуководителяСклоняемое,
                2, ДанныеПечати.ФИОРуководителяСклоняемое, ДанныеФизическогоЛица[0].Пол, ДанныеФизическогоЛица[0].ФизическоеЛицо);
                
            КонецЕсли;
        КонецЕсли;
        
        // Юридический адрес организации.
        ДанныеПечати.Вставить("АдресОрганизации", УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(
            ДанныеПечати.Организация,
            Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации,
            ДокументДляПечати.Дата));
            
            ДанныеПечати.Вставить("ИННОрганизации", ДанныеПечати.Организация.ИНН);
            ДанныеПечати.Вставить("ОГРНИПОрганизации", ДанныеПечати.Организация.ОГРН);
        
        // Данные совмещающего сотрудника.
        ДанныеСотрудника = КадровыйУчет.КадровыеДанныеСотрудников(
        Истина, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДокументДляПечати.Сотрудник),
        "ТрудовойДоговорНомер, ТрудовойДоговорДата, Должность,ФИОПолные, Пол, АдресПоПропискеПредставление, ДокументВид, ДокументСерия, ДокументНомер", ДокументДляПечати.Дата);
        
        Если ДанныеСотрудника.Количество() > 0 Тогда
            
            ДанныеПечати.Вставить("ФИОСовмещающегоСотрудника", ДанныеСотрудника[0].ФИОПолные);
            ДанныеПечати.Вставить("ФИОСовмещающегоСотрудникаСокращенное", ДанныеСотрудника[0].ФИОПолные);
            ДанныеПечати.Вставить("ФИОСовмещающегоСотрудникаРодительный", ДанныеСотрудника[0].ФИОПолные);
            ДанныеПечати.Вставить("ФИОСовмещающегоСотрудникаДательный", ДанныеСотрудника[0].ФИОПолные);
            ДанныеПечати.Вставить("ФИОСовмещающегоСотрудникаТворительный", ДанныеСотрудника[0].ФИОПолные);
            ДанныеПечати.Вставить("АдресСотрудника", ДанныеСотрудника[0].АдресПоПропискеПредставление);
            ДанныеПечати.Вставить("ДокументВид", ДанныеСотрудника[0].ДокументВид);
            ДанныеПечати.Вставить("ДокументСерия", ДанныеСотрудника[0].ДокументСерия);      
            ДанныеПечати.Вставить("ДокументНомер", ДанныеСотрудника[0].ДокументНомер);
            ДанныеПечати.Вставить("АдресЭПСотрудника", ДанныеСотрудника[0].ФизическоеЛицо.КонтактнаяИнформация[0].АдресЭП);
            ДанныеПечати.Вставить("ТелефонСотрудника", ДанныеСотрудника[0].ФизическоеЛицо.КонтактнаяИнформация[1].Представление);
            ДанныеПечати.Вставить("ДокументДатаРождения", Формат(ДанныеСотрудника[0].ФизическоеЛицо.ДатаРождения,"ДФ=dd.MM.yyyy"));
            
            ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ДанныеПечати.ФИОСовмещающегоСотрудникаРодительный),
            2, ДанныеПечати.ФИОСовмещающегоСотрудникаРодительный, ДанныеСотрудника[0].Пол, ДанныеСотрудника[0].ФизическоеЛицо);
            ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ДанныеПечати.ФИОСовмещающегоСотрудникаДательный),
            3, ДанныеПечати.ФИОСовмещающегоСотрудникаДательный, ДанныеСотрудника[0].Пол, ДанныеСотрудника[0].ФизическоеЛицо);
            ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ДанныеПечати.ФИОСовмещающегоСотрудникаТворительный),
            5, ДанныеПечати.ФИОСовмещающегоСотрудникаТворительный, ДанныеСотрудника[0].Пол, ДанныеСотрудника[0].ФизическоеЛицо);
            
            ДанныеПечати.ФИОСовмещающегоСотрудникаСокращенное = ФизическиеЛицаЗарплатаКадры.РасшифровкаПодписи(ДанныеПечати.ФИОСовмещающегоСотрудникаСокращенное);
            
            Если ДанныеСотрудника[0].Пол = Перечисления.ПолФизическогоЛица.Мужской Тогда
                ДанныеПечати.Вставить("Именуемый", НСтр("ru = 'именуемый'"));
                ДанныеПечати.Вставить("Занимающий", НСтр("ru = 'занимающий'"));
            Иначе
                ДанныеПечати.Вставить("Именуемый", НСтр("ru = 'именуемая'"));
                ДанныеПечати.Вставить("Занимающий", НСтр("ru = 'занимающая'"));
            КонецЕсли;
            
        КонецЕсли;
        
        Если ДанныеСотрудника.Количество() > 0 Тогда
            ДанныеПечати.Вставить("НомерДоговора", ДанныеСотрудника[0].ТрудовойДоговорНомер);
            ДанныеПечати.Вставить("ДатаДоговора", Формат(ДанныеСотрудника[0].ТрудовойДоговорДата, "ДЛФ=D"));
            ДанныеПечати.Вставить("ДатаДоговораПолная", Формат(ДанныеСотрудника[0].ТрудовойДоговорДата, "ДЛФ=DD"));
            ДанныеПечати.Вставить("ДолжностьСовмещающегоСотрудника", ДанныеСотрудника[0].Должность);
            
        КонецЕсли;
        // Сумма договора и валюта
        //ВалютаУчета = ЗарплатаКадры.ВалютаУчетаЗаработнойПлаты();
        //СуммаПрописью = РаботаСКурсамиВалют.СформироватьСуммуПрописью(ДокументДляПечати.Показатели[0].РазмерДоплаты, ВалютаУчета);
        //ДанныеПечати.Вставить("РазмерДоплаты", ДокументДляПечати.Показатели[0].РазмерДоплаты);
        //ДанныеПечати.Вставить("НаименованиеВалюты", ВалютаУчета);
        //ДанныеПечати.Вставить("РазмерДоплатыПрописью", СуммаПрописью);
        
        // Приведение значений к требуемому формату.
        Если Не ДанныеПечати.Свойство("ДолжностьСовмещающегоСотрудника") Тогда
            ДанныеПечати.Вставить("ДолжностьСовмещающегоСотрудника", "________________________");
        ИначеЕсли Не ЗначениеЗаполнено(ДанныеПечати.ДолжностьСовмещающегоСотрудника) Тогда
            ДанныеПечати.ДолжностьСовмещающегоСотрудника =  "________________________";
        КонецЕсли;
        
        Если Не ЗначениеЗаполнено(ДанныеПечати.ФИОРуководителяСклоняемое) Тогда
            ДанныеПечати.ФИОРуководителяСклоняемое =  "__________________________________";
        КонецЕсли;
        
        Если Не ДанныеПечати.Свойство("Именуемый") Тогда
            ДанныеПечати.Вставить("Именуемый", НСтр("ru = 'именуемый(ая)'"));
        КонецЕсли;
        Если Не ДанныеПечати.Свойство("Занимающий") Тогда
            ДанныеПечати.Вставить("Занимающий", НСтр("ru = 'занимающим(ей)'"));
        КонецЕсли;
        Если Не ДанныеПечати.Свойство("Действующего") Тогда
            ДанныеПечати.Вставить("Действующего", НСтр("ru = 'действующего(ей)'"));
        КонецЕсли;
        //Если ВалютаУчета = Справочники.Валюты.НайтиПоКоду("643") Тогда
        //    ДанныеПечати.НаименованиеВалюты = "руб.";
        //КонецЕсли;
        Если НЕ ЗначениеЗаполнено(ДанныеПечати.ФИОСовмещающегоСотрудникаСокращенное) Тогда
            ДанныеПечати.ФИОСовмещающегоСотрудникаСокращенное = "_________________";
        КонецЕсли;
        Если НЕ ЗначениеЗаполнено(ДанныеПечати.ФИОРуководителяСокращенное) Тогда
            ДанныеПечати.ФИОРуководителяСокращенное = "_________________";
        КонецЕсли;
        
        // Заполнение соответствия
        ДанныеПечатиОбъектов.Вставить(ДокументДляПечати.Ссылка, ДанныеПечати);
        
    КонецЦикла;
    
    Возврат ДанныеПечатиОбъектов;
    
КонецФункции
5 Волшебник
 
29.03.24
22:55
охуеть...
6 Волшебник
 
29.03.24
22:55
где задача?
7 vanel_444
 
29.03.24
22:57
Запрос = Новый Запрос();
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриемНаРаботу.Ссылка КАК Ссылка,
    |    ПриемНаРаботу.Номер КАК Номер,
    |    ПриемНаРаботу.Дата КАК Дата,
    |    ПриемНаРаботу.Организация КАК Организация,
    |    ПриемНаРаботу.Организация.НаименованиеПолное КАК НазваниеОрганизации,
    |    ПриемНаРаботу.Руководитель КАК Руководитель,
    |    ПриемНаРаботу.ДолжностьРуководителя КАК ДолжностьРуководителя,
    |    ПриемНаРаботу.Сотрудник КАК Сотрудник,
    |    ПриемНаРаботу.ФизическоеЛицо КАК ФизическоеЛицо,
    |    ПриемНаРаботу.Должность КАК Должность,
    |    ПриемНаРаботу.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
    |    ПриемНаРаботу.ВидДоговора КАК ВидДоговора,
    |    ПриемНаРаботу.Организация.ИНН КАК ОрганизацияИНН,
    |    ПриемНаРаботу.Организация.ОГРН КАК ОрганизацияОГРН,
    |    ПриемНаРаботу.Организация.ЮридическоеФизическоеЛицо КАК ОрганизацияЮридическоеФизическоеЛицо,
    |    ПриемНаРаботу.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное,
    |    ПриемНаРаботу.Организация.ИндивидуальныйПредприниматель КАК ОрганизацияИндивидуальныйПредприниматель,
    |    ПриемНаРаботу.Сотрудник КАК Сотрудник1,
    |    ПриемНаРаботу.Сотрудник.ФизическоеЛицо.ФИО КАК СотрудникФизическоеЛицоФИО,
    |    ПриемНаРаботу.Сотрудник.ФизическоеЛицо.ДатаРождения КАК СотрудникФизическоеЛицоДатаРождения,
    |    ПриемНаРаботу.Показатели.(
    |        Ссылка КАК Ссылка,
    |        НомерСтроки КАК НомерСтроки,
    |        ИдентификаторСтрокиВидаРасчета КАК ИдентификаторСтрокиВидаРасчета,
    |        Показатель КАК Показатель,
    |        Значение КАК Значение,
    |        Действие КАК Действие
    |    ) КАК Показатели
    |ИЗ
    |    Документ.КадровыйПеревод КАК ПриемНаРаботу
    |ГДЕ
    |    ПриемНаРаботу.Ссылка В(&МассивОбъектов)";

    
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    РезультатыЗапроса = Запрос.Выполнить().Выгрузить();
    
    Для Каждого ДокументДляПечати Из РезультатыЗапроса Цикл
        
        ДанныеПечати = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(ДокументДляПечати);
        ДанныеПечати.Вставить("ФИОРуководителяСокращенное", Строка(ДанныеПечати.Руководитель));
        ДанныеПечати.Вставить("РазмерДоплаты", Строка(ДанныеПечати.));

Если просто к реквезиту обратиться
ДанныеПечати.Руководитель
То всё ок

А у меня реквезит табличной части  возвращается как таблица значений
    |        Показатель КАК Показатель,
    |        Значение КАК Значение,
    |        Действие КАК Действие
    |    ) КАК Показатели
И я хуй знает , как её проставить
ctrl+space не помогает
8 Волшебник
 
29.03.24
22:59
Перестань долбить нас кусками программного кода. Опиши задачу в терминах предметной области
9 Волшебник
 
29.03.24
23:03
Покажите задачу
10 vanel_444
 
29.03.24
23:03
Вывести на макет внешней печатной формы  параметр [РазмерДоплаты]
Из документа ПриемНаРаботу  Табличной части Показатели
реквизит табл части Значение
11 Волшебник
 
29.03.24
23:08
(10) Пиздец вам задачи ставят...
12 Волшебник
 
29.03.24
23:09
Надо анализировать и вопрошать дополнительные вводные, потому что это бредятина