Имя: Пароль:
1C
 
Объявить КоличествоЭкземпляров для области табличного документа
0 Никулин Леонид
 
20.01.15
16:50
Здравствуйте!

Есть обработка, которая Формирует ТабличныйДокумент, который состоит из нескольких Областей ТабличногоДокумента (которые имеют так же тип ТабличныйДокумент). На форме обработки я указываю количество экземпляров для каждой области.Добавил кусочек:

ЭтикеткаОбласть.КоличествоЭкземпляров = СтрокаИзСписка.Количество;

но не взлетело. Пролейте свет на свойство КоличествоЭкземпляров ну или кусочек кода как это правильно делается...

Спасибо!
1 vicof
 
20.01.15
16:52
ТабличныйДокумент (SpreadsheetDocument)
КоличествоЭкземпляров (Copies)
Использование:

Чтение и запись.
Описание:

Тип: Число.
Содержит количество экземпляров для вывода табличного документа на печать.

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

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Если не задано, то значение свойства будет выбираться из настроек принтера, на котором осуществляется печать.
2 vicof
 
20.01.15
16:52
Цикл тебя спасет
3 Никулин Леонид
 
20.01.15
16:53
Если РаботаСТорговымОборудованием.ПроверитьШтрихКод(СтрокаИзСписка.ШтрихКод, СтрокаИзСписка.ТипШтрихкода) Тогда
            ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.ТипКода = ТипКода;
            ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.Сообщение = СтрокаИзСписка.ШтрихКод;
            ОбластьНоменклатура.Текст = СокрЛП(СтрокаИзСписка.Номенклатура.НаименованиеПолное) + ФормированиеПечатныхФорм.ПредставлениеСерий(СтрокаИзСписка);
            ОбластьАртикул.Текст = СтрокаИзСписка.Номенклатура.Артикул;
            Если ПечататьЦену Тогда
                ТекстЦена = "Цена: ";
                Если СтрокаИзСписка.Цена > 0 Тогда
                    //ОбластьЦена.Текст =ТекстЦена + ОбщегоНазначения.ФорматСумм(СтрокаИзСписка.Цена,СтрокаИзСписка.Валюта)    //Никулин
                    //+ " за " + СтрокаИзСписка.ЕдиницаИзмерения;
                КонецЕсли;
            КонецЕсли;
            Для Копий =1 По КоличествоКопий Цикл
                Если ТекКолонка>ВсегоКолонок Тогда //новая строка.
                    Если ВсегоСтрок<>1 Тогда //выведем разделитель.
                        Для Сч = 1 по ВсегоКолонок Цикл
                            Если Сч = 1 Тогда
                                Таб.Вывести(ОбластьНачалоГраницыСнизу);
                            Иначе
                                Таб.Присоединить(ОбластьНачалоГраницыСнизу);
                            КонецЕсли;
                            Таб.Присоединить(ОбластьГраницаСнизу);
                            Таб.Присоединить(ОбластьНизГраницыСправа);
                            Сч = Сч + 1;
                        КонецЦикла;
                        ТекСтрока = ТекСтрока + 1;
                    КонецЕсли;
                    Если ТекСтрока/ВсегоСтрок = Цел(ТекСтрока/ВсегоСтрок) Тогда
                        Таб.ВывестиГоризонтальныйРазделительСтраниц();
                    КонецЕсли;
                    ТекСтрока = ТекСтрока + 1;
                    ТекКолонка=1;
                КонецЕсли;
                Если ТекКолонка<>1 Тогда //выведем разделитель.
                    Таб.Присоединить(ОбластьГраницаСправа);
                    ТекКолонка = ТекКолонка + 1;
                    Таб.Присоединить(ЭтикеткаОбласть);
                    ТекКолонка = ТекКолонка + 1;
                Иначе
                    // ВОТ ТУТ ОБЪЯВИЛ КОЛ-ВО ЭКЗЕМПЛЯРОВ
                    ЭтикеткаОбласть.КоличествоЭкземпляров = СтрокаИзСписка.Количество;
                    Таб.Вывести(ЭтикеткаОбласть);
                    //Таб.Показать();
                    ТекКолонка = ТекКолонка + 1;
                КонецЕсли;

                ВывелиХотяБыОдинШтрихКод = Истина;
            КонецЦикла;
        Иначе
            ТекстСообщения = "У товара """ + СтрокаИзСписка.Номенклатура + """ штрихкод не задан или имеет неверный формат!";
            Если КолвоПереданныхТоваров = 1 Тогда
                Предупреждение(ТекстСообщения);
            Иначе
                Сообщить(ТекстСообщения,СтатусСообщения.БезСтатуса);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;

    Если ВывелиХотяБыОдинШтрихКод Тогда
        Если СразуНаПринтер Тогда
            Таб.Напечатать();
        Иначе
            Таб.Защита              = Ложь;
            Таб.ТолькоПросмотр      = Истина;
            Таб.ОтображатьСетку     = Ложь;
            Таб.ОтображатьЗаголовки = Ложь;
            Таб.Показать("ЭтикеткаНов");
        КонецЕсли;

    КонецЕсли;
4 palpetrovich
 
20.01.15
16:56
(3) так наверное
// ВОТ ТУТ ОБЪЯВИЛ КОЛ-ВО ЭКЗЕМПЛЯРОВ
Для инд =1 По СтрокаИзСписка.Количество Цикл
                    Таб.Вывести(ЭтикеткаОбласть);
5 palpetrovich
 
20.01.15
16:57
+(4) зы стесняюсь спросить, а как это
"...Областей ТабличногоДокумента (которые имеют так же тип ТабличныйДокумент)"  ?
6 Никулин Леонид
 
20.01.15
16:58
Блин, да я вроде и так в цикле
7 palpetrovich
 
20.01.15
17:00
(6) тебе-ж "ЭтикеткаОбласть" надо вывести "СтрокаИзСписка.Количество" раз? я правильно понял?
8 Никулин Леонид
 
20.01.15
17:15
В СтрокаИзСписка.Количество хранится значение кол-ва экземпляров для этикетки (котор я указываю на форме)
9 Никулин Леонид
 
20.01.15
17:17
(7) да
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший