Имя: Пароль:
1C
 
Вывести макет с именным ообластями и ячейками типа параметр
0 SZA
 
11.05.15
15:16
ПОдскажите.
Хочу произвести макет средствами 1С:

Нужно вывести на экран/для сохранения в файл (MXL) такой ТабличныйДокумент, в котором установлены имена областей и некоторые ячейки- тип параметры: https://yadi.sk/i/dvmVBPpngYvMt

То есть такой, который в свою очередь будет являться полноценным макетом для импорта в конфигурацию или задействован при печати.

Что-то не могу нарыть документацию к такому функционалу полноценной работы с макетом.

Гуглить тяжело - тема редкая, а индексы поиска забиты примитивными задачами печати по макету.

Есть документация/пример?
1 Лодырь
 
11.05.15
15:17
(0) искал в свое время - не нашел.
2 Рэйв
 
11.05.15
15:19
(0) Не летает этот олень....
3 Рэйв
 
11.05.15
15:20
хотя функционал был бы полезный.
4 DrShad
 
11.05.15
15:25
ну почему же нет, есть! ща найду свою обработку
5 Рэйв
 
11.05.15
15:26
(4)Я думаю, что не один я в ожидании:-)
6 Рэйв
 
11.05.15
15:26
Если конечно мы об одном и том же говорим.
7 Garykom
 
гуру
11.05.15
15:31
(6) эээ платформа как бы не уточнена...
8 Garykom
 
гуру
11.05.15
15:31
(7) к (4)
9 DrShad
 
11.05.15
15:36
саму обработку нашел, но вот БД для которой она писалась, чтобы сделать скрины, не нахожу

Если кратко в чем была идея
Нам нужно было формировать отчеты по строгому шаблону из Excel, при этом при равном наборе данных, форма могла быть разной и меняться со временем. Сделали формирование табличного дока из EXCEL с сохранением форматрирования, вывели на форму и дали возможность юзверям именовать области, правда параметры пришлось делать не в самом макете, а в сопроводительном XML файле
10 Garykom
 
гуру
11.05.15
15:37
(9) лисапеда... ((
11 DrShad
 
11.05.15
15:40
(10) сорри, но да :)))
с параметрами действительно не выйдет, а открыть макет с именованными областями и даже их менять легко
12 DrShad
 
11.05.15
15:40
погорячился с параметрами, так что нет такой возможности
13 DrShad
 
11.05.15
15:41
но наш вариант работал, причем в немаленькой такой контрое
14 DmitrO
 
11.05.15
15:42
(0)ну и в чем проблема то, у нас таким образом шаблоны договоров сделаны, их пользователи сами себе составляют.
15 Рэйв
 
11.05.15
15:42
(11)А я то ждал прорывов и открытий!:-))
16 DrShad
 
11.05.15
15:43
(15) ну извращение - не прорыв, увы :)))
17 Лодырь
 
11.05.15
15:44
(11) Это мы умеем. Нам параметры подавай )
18 DrShad
 
11.05.15
15:46
(17) параметры сохраняли через адреса областей в сопроводительный XML, ну а при формировании заполняли подобласть нужным текстом
19 RomanYS
 
11.05.15
15:53
не врублюсь в чем проблема,
ставь галочку "макет" и сохраняй с параметрами хоть из тонкого клиента.
Или надо это программно делать?
20 DrShad
 
11.05.15
15:55
(19) ему надо параметры править в режиме предприятия
21 RomanYS
 
11.05.15
15:57
(20) названия параметров? все правится
22 DrShad
 
11.05.15
16:02
ну вот никто в этой ветке не смог, полноценно работать с параметрами, даже я

так что ждем, как?
23 RomanYS
 
11.05.15
16:04
24 Garykom
 
гуру
11.05.15
16:04
а в 7.7 можно... ))
25 DrShad
 
11.05.15
16:10
(23) но как!? у меня не получается
26 RomanYS
 
11.05.15
16:10
(24) да, даже галочку "макет" не надоставить
тип ячейки (Текст/ВЫражение/Шалбон/Фикс.шаблон) доступно в режиме предприятия
27 DrShad
 
11.05.15
16:10
(26) все, нашел
28 RomanYS
 
11.05.15
16:11
(27) поздравляю)
29 DrShad
 
11.05.15
16:14
(28) где ж ты раньше был?
30 RomanYS
 
11.05.15
16:16
(29) а вы раньше не спрашивали, я долго понять не мог, что именно не получается
31 DrShad
 
11.05.15
16:18
(30) ну галочку макет я и до этого ставил чтобы именованные области формировать, а вот после этого параметры уже не создавал :(((
32 RomanYS
 
11.05.15
16:18
(29) плюс у тебя появилась такая возможность в конструировании   лисапедов, полезный опыт для разработчика)
33 RomanYS
 
11.05.15
16:20
(31) а не смущало, что макеты, сохраненные из кофигуратора, прекрасно открываются и редактируются. Я галочку только после этого начал искать, ушло не более минуты на ее поиск
34 DrShad
 
11.05.15
16:20
(32) это да, если бы я тогда еще в строну СКД подумал, то вообще бы ничего не пришлось рисовать самому
35 DrShad
 
11.05.15
16:21
(31) работая столько лет с 1С уже ничего не смущает
36 SZA
 
11.05.15
16:33
(--) Спасибо за внимание. Можно пример вывода программного, чтобы например:

    ТабДок.Область("R1C2", "R10, С20").ЗадатьИмя("МоёИмя");
    ТабДок.Область("R1C2").Тип = параметр
    ТабДок.Область("R1C2").Значение = "<номенклатура>"
    ТабДок.Показать();

дайте хоть намётку на синтаксис?
37 Garykom
 
гуру
11.05.15
16:35
Тьфу ты, как то не задумывался что можно

ТабДок = Новый ТабличныйДокумент;
Область = ТабДок.Область(1, 1);
Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
Область.Параметр="Параметр_1";
Возврат ТабДок;
38 Garykom
 
гуру
11.05.15
16:37
(37)+ только еще изврат чтобы значениями заполнилось по параметрам надо этот ТабДок юзать как макет для ТабДок2 и уже его выводить ))
39 RomanYS
 
11.05.15
16:39
(38) ТС вроде макет сохранять собирается, а уже потом использовать. Так что без особого "изврата".
40 SZA
 
11.05.15
16:41
отлично, то что нужно!!
Но как сказать, что это - макет?

ТабДок.Макт = ИСТИНА

тогда и области сразу пооявляются, номне приходится вывести таблицу на экран, заставить открыть окно свойств - чтобы пользователь выбрал свойство МАКЕТ - и тогда сохранял в файл
41 SZA
 
11.05.15
16:50
https://yadi.sk/i/q5LcJWl-gZ2Mu
вот этот параметр можно задать программно для табдока ?
42 RomanYS
 
11.05.15
16:54
(41) сходу не нашел, приходится согласиться с (35)
Как вариант(костыль) открывать сохраненный файл-шаблон с установленным флагом
43 SZA
 
11.05.15
17:02
не я такой костыль придумал
1. я сохраняю мхл
2. открываю его, как текстовый
3. в предпоследней строчке меняю
..,0,0,"ru",0,1,
на
..,1,1,"ru",0,1,
сохраняю обратно

4. - открываю как ТабДок.прочитать(
вуаля! оно себе уже макет

Всем спасибо большое за брейншторм
44 DrShad
 
11.05.15
17:09
(43) ну ты это по-аккуратней, а то желтая фигня может свои байты добавлять при записи в текст и сломать нафиг все
45 RomanYS
 
11.05.15
17:11
(43) Да здравствует 1С, флагман костылеведения и лисапедостроения
46 mistеr
 
11.05.15
19:48
А Yoksel разве не умет макеты?
47 SZA
 
12.05.15
03:06
Если кому интересно, как записать ТабДок в качестве макета

    ИмяФайлаМакета = ПолучитьИмяВременногоФайла("mxl");
    ТабДок.Записать(ИмяФайлаМакета);
    ТекстовыйФайлМакета = Новый ЧтениеТекста(ИмяФайлаМакета, КодировкаТекста.UTF8);
    
    Сч = 0;
    СтрокаФайла = "";
    ОпределеннаяСтрока = ТекстовыйФайлМакета.ПрочитатьСтроку();
    Пока ОпределеннаяСтрока <> Неопределено Цикл
        Сч = Сч + 1;
        Если Сч = 16 Тогда
            ОпределеннаяСтрока = СтрЗаменить(ОпределеннаяСтрока, "{0,0},0", "{0,0},1");
        КонецЕсли;
        СтрокаФайла = СтрокаФайла + ОпределеннаяСтрока;
        ОпределеннаяСтрока = ТекстовыйФайлМакета.ПрочитатьСтроку();
    КонецЦикла;
    
        Попытка
        УдалитьФайлы(ИмяФайлаМакета);
    Исключение     
    КонецПопытки;
    ИмяФайлаМакета = ПолучитьИмяВременногоФайла("mxl");

    НовыйФайлМакета = Новый ЗаписьТекста(ИмяФайлаМакета, КодировкаТекста.ANSI);
    НовыйФайлМакета.Закрыть();
    НовыйФайлМакета = Новый ЗаписьТекста(ИмяФайлаМакета,,, Истина);
    НовыйФайлМакета.Записать(СтрокаФайла);
    НовыйФайлМакета.Закрыть();
    
    ТабДок.Прочитать(ИмяФайлаМакета);
    Попытка
        УдалитьФайлы(ИмяФайлаМакета);
    Исключение     
    КонецПопытки;


нужно убрать БОМ
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан