Имя: Пароль:
1C
1С v8
В печатной форме при выводе едет ширина колонок. Что не сделано ?
0 kudlach
 
30.05.16
13:56
В конфигураторе ширина колонок задана, она разная.
При выводе внешней печатной формы содержание в порядке, но все колонки одинаковой ширины, в свойствах в ширине стоит "Автомат".
В итоге вся форма выглядит не так как должна. Что нужно сделать?
1 RomanYS
 
30.05.16
13:59
Код покажи.
"Формат строк" в макете используется?
Макет используется один?
2 kudlach
 
30.05.16
14:05
(1)
Функция ТабличныйДокументТрудовойДоговор(МассивОбъектов, ОбъектыПечати) Экспорт
    ИмяМакета="ТрудовойДоговор";
    Макет = ЭтотОбъект.ПолучитьМакет("ТрудовойДоговор");     
    
    СсылкаНаОбъект=МассивОбъектов[0];
    
    ДокументРезультат = Новый ТабличныйДокумент;
    
    ДокументРезультат.КлючПараметровПечати = "ПараметрыПечати_ТрудовойДоговорЮнит";
    СтруктураДанныхЗаполнения = ДанныеДляПечатиТрудовогоДоговора(СсылкаНаОбъект, ИмяМакета); //Формирование структуры
    Макет.Параметры.Заполнить(ПараметрыМакета);
    ДокументРезультат.Вывести(Макет);
    
    Возврат ДокументРезультат;
    
КонецФункции
3 Tatitutu
 
30.05.16
14:15
ПараметрыМакета - это что у тебя ?

//Макет.Параметры.Заполнить(ПараметрыМакета);
4 kudlach
 
30.05.16
14:26
(3)  Заполнение Параметров в области печати.
Теми самыми данными, которые собраны в функции ДанныеДляПечатиТрудовогоДоговора(...)
Начал что-то подозревать )))
Параметры Ширины/Высоты ячеек и Полей там же должны лежать ?
5 kudlach
 
30.05.16
14:28
Заполнить (Fill)
Синтаксис:

Заполнить(<Объект>)
Параметры:

<Объект> (обязательный)

Тип: Произвольный.
Объект, из свойств которого будут заполняться параметры макета табличного документа.
Описание:

Заполняет параметры значениями свойств переданного объекта. Заполняются только те параметры, имена которых совпадают с именами свойств объекта.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).

Пример:

К=0;
Пока Выборка.Следующий() Цикл
    К = К+1;
    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    ОбластьМакета.Параметры.Заполнить(Выборка);
    ОбластьМакета.Параметры.НомерСтроки = К;
    ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
6 kudlach
 
30.05.16
14:28
(3) Здесь не заполнялись какие-то параметры по ширине страницы. По логике, олни не должны тогда и применяться....
7 Tatitutu
 
30.05.16
14:32
(6) продолжай думать...
а зачем там тебе тогда СтруктураДанныхЗаполнения
8 Tatitutu
 
30.05.16
14:33
+(7)
СтруктураДанныхЗаполнения = ДанныеДляПечатиТрудовогоДоговора(СсылкаНаОбъект, ИмяМакета);

там что у тебя спрятано ?

может так

СтруктураДанныхЗаполнения = ДанныеДляПечатиТрудовогоДоговора(СсылкаНаОбъект, Макет);
9 Tatitutu
 
30.05.16
14:33
Или все таки так ?
Макет.Параметры.Заполнить(СтруктураДанныхЗаполнения);
10 kudlach
 
30.05.16
14:41
(8) Все, нашел. Спасибище тебе, Острый глаз!
В той функции было запрятано вот что:

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ДокументРезультат, НомерСтрокиНачало, ОбъектыПечати, ПараметрыМакета.Ссылка);

Отключил и все встало на место.
Всем спасибо, вопрос закрыт.
11 Tatitutu
 
30.05.16
14:46
(10)
Вот, честно, даже стесняюсь спросить:

Отключил и все встало на место.

это вот так ?

//УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ДокументРезультат, НомерСтрокиНачало, ОбъектыПечати, ПараметрыМакета.Ссылка);

Расскажи пожалуйста - как отключил - очень нужно.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn