Форум программистов, компьютерный форум CyberForum.ru

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
Corwin707
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 18
#1

Запись в ячейку макета табличного документа - 1С

03.01.2017, 15:23. Просмотров 256. Ответов 1

Добрый день. Формирую в цикле значения ячеек табличного документа, значение записывается в макет, на вывод я ничего не получаю.
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ОбластьМакета=Макет.ПолучитьОбласть("ТиражПервыйБезНДССтрока");
        Для Каждого ЗначениеРент из Рентабельности Цикл
            ОбластьМакета.Параметры.РентабельностьРасчет=ЗначениеРент;
            РасчетТекущий=Расчет;
            РасчетТекущий.Вставить("Рентабельность",ЗначениеРент);
            Для К=2 по 11 Цикл
                ЯчейкаЦены=ОбластьМакета.Область(1,К);
                Если Тиражи[К-2]>0 Тогда
                    РасчетТекущий.Вставить("Тираж",Тиражи[К-2]);            
                    РасчетКалькуляции.Расчитать(РасчетТекущий);
                    ЗначениеЦены=(((Расчет.СтоимостьПечати+Расчет.СтоимостьРолевогоМатериала+Расчет.СтоимостьЛКМ)*(1+ЗначениеРент/100)+Расчет.СтоимостьУпаковки+Расчет.ДопечатнаяПодготовка)/Тиражи[К-2])*100;
                    ОбластьМакета.Область(1,К).Текст=ЗначениеЦены;
                КонецЕсли;
            КонецЦикла;
            Таб.Вывести(ОбластьМакета);
Если же я пишу напрямую в табличный документ без макета, все пишется, но в результатах нет форматирования ячеек. То, что я записываю через параметры, выводится нормально.

Добавлено через 2 часа 47 минут
Пришлось поизвращаться со структурами, сделал так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    ЗаполнитьМассивы(Рентабельности,Тиражи);
    ОбластьМакета.Параметры.Заполнить(Тиражи);
 
Процедура ЗаполнитьМассивы(Массив_Рентабельности,Тиражи);//,Рентабельность,Тираж)
    Элемент=Новый Структура;
    Элемент.Вставить("Тираж");
    Элемент.Вставить("Колонка");
    Для К=0 По 6 Цикл
        Массив_Рентабельности[К]=?(К<3,Рентабельность-5*(3-К),Рентабельность+10*(К-3));
    КонецЦикла; 
    Элемент=Новый Структура;
    Для К=0 По 10 Цикл
        ЗначениеТиража=?(К<5,?((Тираж-ШагТиражВниз*(5-К))>0,Тираж-ШагТиражВниз*(5-К),0),?((Тираж+ШагТиражВверх*(К-5))>0,Тираж+ШагТиражВверх*(К-5),0));
        Элемент.Вставить("Тираж"+(К+1),ЗначениеТиража);
    КонецЦикла; 
    Тиражи=Элемент;
КонецПроцедуры
Процедура
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2017, 15:23     Запись в ячейку макета табличного документа
Посмотрите здесь:
Печать табличного документа 1С 1C 8.x
1С Изменения размера табличного документа
Активизировать поле табличного документа 1С
Сохранение табличного документа в файл 1С
Редактирование формата табличного документа 1С 1C 8.x
1С 1C 8.x Удалить области табличного документа
Вывод области табличного документа в цикле 1С 1C 8.x (тонкий)
1С 1C 8.x Вывод подписей на первой странице табличного документа
Открыть форму и заполнить поле табличного документа 1С 1C 8.x
Расшифровка ячейки табличного документа, созданного программно 1С 1C 8.x
8.3: В поле табличного документа вывести список значений ? 1С 1C 8.x (тонкий)
Загрузка данных из табличного документа своими силами 1С 1C 8.x (тонкий)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kawa_Cykan
Заблокирован
07.01.2017, 03:16     Запись в ячейку макета табличного документа #2
а что в самой выводимой области?
верни массив областей и посмотри их на клииенте.
таб доки - это морока еще та.
помню чета было не раотало когда пишешь
область= макет.получитьобласть("область")
и чета с этой областью было не так.
при том что переменной "область" заведомо не было.
Yandex
Объявления
07.01.2017, 03:16     Запись в ячейку макета табличного документа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru