Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Отчёт "Этикетки" с нуля

Отчёт "Этикетки" с нуля
Я
   laby1
 
17.12.18 - 10:18
Здравствуйте, дорогие жители волшебной страны Миста!

Хочу написать с нуля отчёт "Этикетки". По некому справочнику, типа номенклатуры нужно распечатать квадратиками (Типа ценников) на обычном принтере этикетки.

Подскажите путь!

(только не слишком далеко))
 
 
   Натуральный Йог
 
1 - 17.12.18 - 10:20
(0) Посмотри как сделано в УТ и сделай так же
   РБ
 
2 - 17.12.18 - 10:22
(0) на ИС просто куча отчетов по ценникам и этикеткам
   Krabb
 
3 - 17.12.18 - 10:25
(1) Он же просил не слишком далеко :)
(0) Обычный принтер этикеток это как правило обычный windows-принтер, соответственно делаешь обычную печатную форму, выводишь на нее что нужно, а при печати в настройках параметров страницы выбираешь формат бумаги по размеру твоей этикетки (его нужно предварительно создать в свойствах принтера)
   Garykom
 
4 - 17.12.18 - 10:25
>волшебной страны Миста!

Сказочные д...бы ?
   Масянька
 
5 - 17.12.18 - 10:27
(0) А какой путь тебя интересует?
   Базис
 
6 - 17.12.18 - 10:30
Лучше расскажи, что сделал и во что упёрся. Там всё просто. Вывести секцию и присоединить секцию.
   laby1
 
7 - 17.12.18 - 10:32
(1) У меня УПП. Да, там есть обработка "ПечатьЦенников". В макете нарисован макет одного ценника. В модуле формы есть функция "ПечатьЦеннка". Надеюсь она мне поможет. Вот она:

// Функция формирует табличный документ - печатная форма ценника.

//
// Возвращаемое значение:

//  ТабличныйДокумент - сформированный табличный документ или Неопределено, если есть ошибки.
//

Функция ПечатьЦенника() Экспорт

    Если НЕ ЗначениеЗаполнено(Организация) Тогда
        Предупреждение("Не выбрана организация!");
        Возврат Неопределено;
    КонецЕсли;

    ТабДокумент                     = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ценник";
    Макет                           = ПолучитьМакет("Ценник");
    ОбластьЦенника                  = Макет.ПолучитьОбласть("Строка|Столбец");

    ДатаПечати = РабочаяДата;

    ТекСтолбец = 0;
    ТекСтрока  = 0;
    
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ТоварКод = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ТоварКод = "Код";
    Иначе
        ТоварКод = "";
    КонецЕсли;
    
    Для Каждого СтрокаТаблицы Из Товары Цикл
        Если СтрокаТаблицы.Печать Тогда
            Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
                ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы);
                ОбластьЦенника.Параметры.НоменклатураНаименование        = СтрокаТаблицы.Номенклатура.НаименованиеПолное + ?(ТоварКод <> "", " " + СокрЛП(СтрокаТаблицы.Номенклатура[ТоварКод]), "");
                ОбластьЦенника.Параметры.ХарактеристикаНаименование      = СтрокаТаблицы.ХарактеристикаНоменклатуры;
                ОбластьЦенника.Параметры.ЕдиницаНаименование             = СтрокаТаблицы.ЕдиницаИзмерения;
                ОбластьЦенника.Параметры.Цена                            = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00");
                ОбластьЦенника.Параметры.ДатаПечати                      = ДатаПечати;
                ОбластьЦенника.Параметры.Организация                     = Организация;
                ОбластьЦенника.Параметры.ОрганизацияНаименование         = Организация;
                ОбластьЦенника.Параметры.НоменклатураСтранаПроисхождения = СтрокаТаблицы.Номенклатура.СтранаПроисхождения;

                Если ТекСтолбец = 0 Тогда
                    ТабДокумент.Вывести(ОбластьЦенника);
                Иначе
                    ТабДокумент.Присоединить(ОбластьЦенника);
                КонецЕсли;

                ТекСтолбец = ТекСтолбец + 1;

                Если ТекСтолбец = 5 Тогда
                    ТекСтрока  = ТекСтрока + 1;
                    ТекСтолбец = 0;
                КонецЕсли;

                Если ТекСтрока = 3 Тогда
                    ТекСтрока = 0;
                    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;

    ТабДокумент.ТолькоПросмотр = Истина;

    Возврат ТабДокумент;

КонецФункции// ПечатьЦенника()
   laby1
 
8 - 17.12.18 - 10:34
(6) Да, спасибо, ещё ничего не делал. Решил сразу на мисту написать, давно не писал. Спасибо за помощь, да, действительно всё просто.
   Масянька
 
9 - 17.12.18 - 10:36
(8) Браво! :)
   Krabb
 
10 - 17.12.18 - 10:38
(8) Вот-вот, а потом когда люди приходят с нормальными вопросами им никто помогать не хочет...
 
 Рекламное место пустует
   laby1
 
11 - 17.12.18 - 10:39
(7) точнее не в модуле формы, а в модуле объекта, а из модуля формы она уже вызывается.
   laby1
 
12 - 17.12.18 - 10:40
(10) Вопрос нормальный. Я прошерстил интернет на эту тему, везде всякая не поймешь что. А тут чётко. Задал вопрос, получил ответ.
   laby1
 
13 - 17.12.18 - 10:45
(12) К тому же полно непонятных по платным подпискам обработок, а мне нужно понять, как это сделать своими руками быстро под себя без лишней универсальности.
   laby1
 
14 - 17.12.18 - 10:46
(4) Сказочные дорогие коллеги по цеху.
   Сияющий в темноте
 
15 - 17.12.18 - 13:14
Сколько платят за решение вопроса-тарелку супа?
   Злопчинский
 
16 - 17.12.18 - 13:24
этих этикеток и ценников на инфостарте - как шпингалетов.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует