Имя: Пароль:
1C
1С v8
mxl файл как макет для тадок
0 Kucha88
 
11.04.19
08:42
добрый день, форумчане! Есть задача такого плана, необходимо вывести макет в mxl файл, для того чтобы можно было его оперативно исправить. Перерыл весь интернет но так и не нашел как сделать чтобы в данном макете выводились параметры. Т.е. читаю файл определяю область и пытаюсь вывести значения параметров данную область. 1с выводит мне две одинаковых страницы только одна просто названия параметра а вторая со значением данных параметров. Что сделать чтобы выводилась одна страница со всеми значениями параметрами.
Вот код:
ТабДок = новый ТабличныйДокумент;
    табдок.Прочитать("C:\LNA\LNA.mxl");
    Областьмакета = табдок.ПолучитьОбласть("ОбластьПечать");
        Областьмакета.Параметры.ДатаДок = Формат(ТекущаяДата(), "ДФ='''""''дд''""'' ММММ гггг ''г.'''");
       Областьмакета.Параметры.ФИО= ФИО;
       Областьмакета.Параметры.Кратко= РазборФИО(ФИО);
       Областьмакета.Параметры.Подразделение= ЭлементыФормы.ПодразделениеКандидата.Значение;
       Областьмакета.Параметры.Должность= ЭлементыФормы.ДолжностьКандидата.Значение;
ТабДок.Вывести(областьмакета);
Табдок.Показать();
1 ptiz
 
11.04.19
08:49
(0) ТабДок.Вывести(областьмакета);
- этим кодом ты Добавляешь еще одну область, но с параметрами, по размеру равную  табдок.ПолучитьОбласть("ОбластьПечать");
2 Kucha88
 
11.04.19
08:57
(1) да все верно так и получается, а как сделать чтобы данные выводились именно во внешний макет mxl файла ?
3 dezss
 
11.04.19
09:00
(2) Так создай еще один табдок и в него выводи.
4 Kucha88
 
11.04.19
09:05
(3) не понял, подробней можно в какой момент, желательно с примером, спасибо
5 sqr4
 
11.04.19
09:07
ТабДок = новый ТабличныйДокумент;
Табдок2 = Новый табличныйДокумент;
    табдок.Прочитать("C:\LNA\LNA.mxl");
    Областьмакета = табдок.ПолучитьОбласть("ОбластьПечать");
        Областьмакета.Параметры.ДатаДок = Формат(ТекущаяДата(), "ДФ='''""''дд''""'' ММММ гггг ''г.'''");
       Областьмакета.Параметры.ФИО= ФИО;
       Областьмакета.Параметры.Кратко= РазборФИО(ФИО);
       Областьмакета.Параметры.Подразделение= ЭлементыФормы.ПодразделениеКандидата.Значение;
       Областьмакета.Параметры.Должность= ЭлементыФормы.ДолжностьКандидата.Значение;
ТабДок2.Вывести(областьмакета);
Табдок2.Показать();
6 Kucha88
 
11.04.19
09:13
(5) получилось, спасибо большое. если не сложно не могли бы пояснить почему именно так, данные заполняются в одном табдок и выводим в итоге табдок2 ?
7 sqr4
 
11.04.19
09:15
(6) все тоже самое как с макетом.
8 catena
 
11.04.19
09:16
(6)Данные заполняются в области, которую взяли в одном табдоке, заполнили и вывели в другой.
9 ptiz
 
11.04.19
09:17
(6) Областьмакета - существует сама по себе, её можно вывести в любой ТабДок сколько угодно разж
10 dezss
 
11.04.19
09:20
(6) как сказано в (7) табдок.Прочитать("C:\LNA\LNA.mxl"); - это ты просто получил макет. Взял из него область и вывел в другой (чистый, пустой) табдок. А в первом, который "табдок" у тебя хранится макет.
11 Kucha88
 
11.04.19
09:29
(7) (8) (9) (10)  большое вам всем спасибо !!!! теперь понятно все стало еще раз огромное спасибо....!!!!!