|
УФ, Табличный документ на форме | ☑ | ||
---|---|---|---|---|
0
Skif_asu
24.08.16
✎
16:02
|
Есть обработка на урпавляемых формах.
Внутри нее создается отчет "Анализ начислений и удержаний", в дальнейшем расчетный листок для сотрудника выводится в табличный документ на форме. Выводится так: http://s018.radikal.ru/i507/1608/3b/a09e74370c8b.png Как сделать, чтобы расчетный листок так не растягивался? |
|||
1
Горогуля
24.08.16
✎
16:03
|
покрутить макет предлагать?
|
|||
2
Numerus Mikhail
24.08.16
✎
16:03
|
Задать ширину колонок макета?
|
|||
3
Горогуля
24.08.16
✎
16:04
|
(1) (2) слишком просто. автор явно задумал что-то нетрадиционное
|
|||
4
Skif_asu
24.08.16
✎
16:06
|
(1) Манипуляции могу проводить с Табличным документом, изменять макет самого отчета не могу
Сам отчет в программе формируется без растяжения. |
|||
5
Горогуля
24.08.16
✎
16:07
|
>не могу
надо себя заставить. или мочь или кушать то, что есть >формируется без растяжения уже всё хорошо? |
|||
6
Skif_asu
24.08.16
✎
16:11
|
(5) Формирую отчет в программе не через обработку. Формируется так:
http://i023.radikal.ru/1608/99/b112a7706b30.png Формирую отчет через обработку и вывожу в реквизит на УФ. Формируется, как в (0). Настройки Табличного документа, который вывожу в реквизит на УФ: РЛ.ТолькоПросмотр = Истина; РЛ.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УнифицированнаяФормаТ51"; РЛ.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; РЛ.АвтоМасштаб = Истина; |
|||
7
Nuobu
24.08.16
✎
16:12
|
(6) А код, как выводишь?
|
|||
8
RomanYS
24.08.16
✎
16:12
|
(6) Код вот этого покажи "Формирую отчет через обработку и вывожу в реквизит на УФ"
|
|||
9
Горогуля
24.08.16
✎
16:14
|
в идеале это должно быть что-то вроде ВонТотОтчёт.СформироватьПФ()
|
|||
10
Skif_asu
24.08.16
✎
16:17
|
СоответствиеРасчетныхЛистков = Новый СписокЗначений;
ОтчетОбъект = Отчеты.АнализНачисленийИУдержаний.Создать(); СКД = ОтчетОбъект.СхемаКомпоновкиДанных; ВариантОтчета = ОтчетОбъект.СхемаКомпоновкиДанных.ВариантыНастроек.Найти("РасчетныйЛисток"); КлючВарианта = "РасчетныйЛисток"; НастройкиОтчета = ВариантОтчета.Настройки; МакетШапки = НайтиМакетОбласти(СКД, "ВидРасчетаВКолонке"); МакетПодвала = НайтиМакетОбласти(СКД, "СводОрганизация"); Если МакетШапки = Неопределено ИЛИ МакетПодвала = Неопределено Тогда ВызватьИсключение "Формат отчета по р/л не поддерживается!"; КонецЕсли; СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("Период", Новый СтандартныйПериод(ПериодРегистрации.ДатаНачала, ПериодРегистрации.ДатаОкончания)); СтруктураПараметров.Вставить("НачалоПериода", ПериодРегистрации.ДатаНачала); СтруктураПараметров.Вставить("КонецПериода", ПериодРегистрации.ДатаОкончания); Для каждого ПараметрЗаполнения Из СтруктураПараметров Цикл ПараметрКомпоновкиДанных = Новый ПараметрКомпоновкиДанных(ПараметрЗаполнения.Ключ); ЗначениеПараметра = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновкиДанных); Если ЗначениеПараметра <> Неопределено Тогда ЗначениеПараметра.Значение = ПараметрЗаполнения.Значение; ЗначениеПараметра.Использование = Истина; Иначе НовыйПараметр = НастройкиОтчета.ПараметрыДанных.Элементы.Добавить(); НовыйПараметр.Параметр = ПараметрКомпоновкиДанных; НовыйПараметр.Значение = ПараметрЗаполнения.Значение; НовыйПараметр.Использование = Истина; КонецЕсли; КонецЦикла; СписокСотрудников = Объект.Список.Выгрузить(, "Сотрудник"); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НастройкиОтчета.Отбор, "Сотрудник.ГоловнойСотрудник", СписокСотрудников, ВидСравненияКомпоновкиДанных.ВСписке, , Истина); ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиОтчета); КлючВарианта = "РасчетныйЛисток"; ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта", КлючВарианта); ДанныеРасшифровки = Неопределено; ТабДок = Новый ТабличныйДокумент; ОтчетОбъект.СкомпоноватьРезультат(ТабДок, ДанныеРасшифровки); СчетчикГлоб = 0; НомерСтрокиКонцаРЛ = 0; ИсходнаяЯчейкаПоиска = ТабДок.Область(1, 1); Пока Истина Цикл Если СчетчикГлоб = 0 Тогда ОбластьПервойЯчейки = ТабДок.НайтиТекст("РАСЧЕТНЫЙ ЛИСТОК"); Иначе ОбластьПервойЯчейки = ТабДок.НайтиТекст("РАСЧЕТНЫЙ ЛИСТОК", ИсходнаяЯчейкаПоиска); КонецЕсли; Если ОбластьПервойЯчейки = Неопределено тогда Прервать; КонецЕсли; НомерСтрокиНачалаРЛ = ОбластьПервойЯчейки;//строка "расчетный лист" Если СчетчикГлоб = 0 Тогда ОбластьПоследнейЯчейки = ТабДок.НайтиТекст("Долг"); Иначе ОбластьПоследнейЯчейки = ТабДок.НайтиТекст("Долг", НомерСтрокиНачалаРЛ); КонецЕсли; Если ОбластьПоследнейЯчейки = Неопределено тогда Прервать; КонецЕсли; РЛ = Новый ТабличныйДокумент; РЛ.ТолькоПросмотр = Истина; РЛ.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УнифицированнаяФормаТ51"; РЛ.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; РЛ.АвтоМасштаб = Истина; РЛ.ВставитьОбласть(ТабДок.Область(ОбластьПервойЯчейки.Верх + 1,, ОбластьПоследнейЯчейки.Верх - 1), РЛ.Область(1, 1)); Позиция=Найти(РЛ.ТекущаяОбласть.Текст,"("); СотрудникВРЛ = Лев(РЛ.ТекущаяОбласть.Текст,Позиция-2); СоответствиеРасчетныхЛистков.Вставить(СчетчикГлоб, РЛ,СотрудникВРЛ ); СчетчикГлоб = СчетчикГлоб + 1; ИсходнаяЯчейкаПоиска = ОбластьПоследнейЯчейки; КонецЦикла; Возврат СоответствиеРасчетныхЛистков; |
|||
11
Горогуля
24.08.16
✎
16:19
|
(10) возврат какого-то СЗ
|
|||
12
Skif_asu
24.08.16
✎
16:19
|
Заполняю список значений по каждому сотруднику, список сотрудников вывожу в ТЧ на форме, при активизации строки ТЧ вывожу расчетный лист по сотруднику в Табличный документ
Если Объект.Список.Количество() <> 0 Тогда Попытка Для каждого ЭлементТабличногоДокумента Из РасчетныеЛисты Цикл Если ЭлементТабличногоДокумента.Представление = Строка(Элементы.Список.ТекущиеДанные.Сотрудник) Тогда РасчетныйЛисток = ЭлементТабличногоДокумента.Значение; КонецЕсли; КонецЦикла; Исключение КонецПопытки; КонецЕсли; |
|||
13
RomanYS
24.08.16
✎
16:19
|
(10) причина здесь
РЛ.ВставитьОбласть(ТабДок.Область(ОбластьПервойЯчейки.Верх + 1,, ОбластьПоследнейЯчейки.Верх - 1), РЛ.Область(1, 1)); |
|||
14
Горогуля
24.08.16
✎
16:20
|
среьёзно? при активизации?
|
|||
15
Skif_asu
24.08.16
✎
16:21
|
(14) Что не так?
|
|||
16
Горогуля
24.08.16
✎
16:22
|
(15) при каждом чихе дёргать сервер. несколько выделенных строк хоть нормально обрабатываются при этом?
|
|||
17
Skif_asu
24.08.16
✎
16:24
|
(16) Дергаю на клиенте, причем здесь сервер.
Да, все отлично отрабатывает. Около 0,5 секунд. Список сотрудников 100+ |
|||
18
Горогуля
24.08.16
✎
16:26
|
на клиенте дёргаешь сервер
|
|||
19
Skif_asu
24.08.16
✎
16:32
|
(13) И как сделать формат, чтобы он так не растягивал ячейки?
|
|||
20
RomanYS
24.08.16
✎
16:35
|
(15) вставка области из строк не меняет ширину колонок в ТД-приемнике. Почему не РЛ.Вывести(..)?
|
|||
21
Skif_asu
24.08.16
✎
16:59
|
(20) Сделал. Ничего не изменилось
|
|||
22
Skif_asu
24.08.16
✎
17:05
|
Как итог:
Настраивал ТД управляемой формы, уменьшал ячейки у самого реквизита, после 10 минут подбора - получилось |
|||
23
RomanYS
24.08.16
✎
19:05
|
(22) верни ВставитьОбласть и всё вернется обратно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |