7.7 [РЕШЕНО]Как вывести код товара отдельно в ценнике

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем pacific20, 13 фев 2015.

  1. TopicStarter Overlay
    pacific20
    Offline

    pacific20

    Регистрация:
    13 фев 2015
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Доброго дня!
    1С 7.7 ТиС редакция 9.2 (конфигурация 7.70.939)
    Подскажите пожалуйста, как сделать чтобы код товара выводился в ценнике отдельно а не в названии!
    ценник печатается внешней обработкой printcen.ert

    Перем ПечФирма;
    перем датадокум;
    //******************************************************************************
    // ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
    //
    // Параметры:
    // Таб - таблица, в которую выполняется вывод ценника
    // ПечНаименование - наименование ТМЦ
    // ПечЕдиница - единица измерения ТМЦ
    // ПечРозн - цена ТМЦ
    // Столбик - номер столбика.
    // Ряд - номер ряда
    //
    // Возвращаемое значение:
    // Нет.
    //
    // Описание:
    // Добавляет ценник в таблицу.
    //
    Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) Экспорт

    Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, 0));
    Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

    Если Ряд > 6 Тогда
    Таб.НоваяСтраница();
    Ряд = 0;
    КонецЕсли;

    Если Столбик = 2 Тогда
    Таб.ВывестиСекцию("Товар|Ценник");
    Иначе
    Таб.ПрисоединитьСекцию("Товар|Ценник");
    КонецЕсли;


    КонецПроцедуры // ДобавитьЦенник()

    //******************************************************************************
    // Печать(Докум, Устройство=0, КолвоКопий=1)
    //
    // Параметры:
    // Докум - контекст выводимого документа (ПереоценкаРозница, ПоступлениеТМЦРозница),
    // Устройство - если 0, то вывод на экран, иначе - на принтер,
    // необязателен, по умолчанию - на экран,
    // КолвоКопий - количество копий, по умолчанию - 1.
    //
    // Возвращаемое значение:
    // Нет
    //
    // Описание:
    // Формирует таблицу с ценниками.
    //
    Процедура Печать(Докум, Устройство=0, КолвоКопий=1)

    ДокумВид = Докум.Вид();
    Если ДокумВид = "ПереоценкаРозница" Тогда
    ИдРознЦена = "ЦенаНовая";
    ИначеЕсли ДокумВид = "ПоступлениеТМЦРозница" Тогда
    ИдРознЦена = "РозничнаяЦена";
    ИначеЕсли ДокумВид = "ПеремещениеТМЦ" Тогда
    Если Докум.СкладПолучатель.РозничныйСклад = 1 Тогда
    ИдРознЦена = "Цена";
    Иначе
    Предупреждение("Нельзя печатать ценники при перемещении
    |ТМЦ на оптовый склад!", 60);
    Возврат;
    КонецЕсли;
    Иначе
    Возврат;
    КонецЕсли;

    // Создание Таблицы для выходного отчета
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");

    ПечФирма = СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование);

    Столбик = 1;
    Ряд = 0;
    датадокум=Докум.ДатаДок;
    Докум.ВыбратьСтроки();
    Пока Докум.ПолучитьСтроку() = 1 Цикл
    Если ДокумВид = "ПереоценкаРозница" Тогда // пропускаем ТМЦ, где цена не менялась
    Если Докум.ЦенаСтарая = Докум.ЦенаНовая Тогда
    Продолжить;
    КонецЕсли;
    КонецЕсли;
    ВремЦена = Докум.ПолучитьАтрибут(ИдРознЦена);
    ПечРозн = глФРМ(ВремЦена, глРубли); // печатаем по розничным ценам - поэтому глРубли
    // ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Докум.Номенклатура.Артикул), "");
    ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование) +"
    |код "+ СокрЛП(Докум.Номенклатура.КОД);
    ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд);
    глОживить(1);
    КонецЦикла;

    Если Устройство = 0 Тогда
    Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Товарные ценники","");
    Иначе
    Таб.ПараметрыСтраницы(,,,,,,,,,1,,);
    Таб.КоличествоЭкземпляров(КолвоКопий);
    Таб.Напечатать(0);
    КонецЕсли;

    КонецПроцедуры // Печать()

    //******************************************************************************
    // ПоКнопкеПечать()
    //
    // Параметры:
    // Нет
    //
    // Возвращаемое значение:
    // Нет
    //
    // Вызывается из формул элементов диалога:
    // Кнопка "Печать"
    //
    // Описание:
    //
    Процедура ПоКнопкеПечать()

    Если Док.Выбран() = 0 Тогда
    Предупреждение("Не выбран документ!", 60);
    Возврат;
    КонецЕсли;

    Печать(Док);

    КонецПроцедуры // ПоКнопкеПечать()

    //******************************************************************************
    // Предопределенная процедура
    //
    Процедура ПриОткрытии()

    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

    Докум = Форма.Параметр.Получить("Контекст");
    Устройство = Форма.Параметр.Получить("Устройство");
    КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");

    Печать(Докум, Устройство, КолвоКопий);
    Статусвозврата(0);
    Возврат;
    КонецЕсли;

    КонецПроцедуры // ПриОткрытии()
    на ценнике нужно сделать сам код вместо Печкод
    Новый рисунок (2).jpg
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    добавьте переменную в код и макет:
    Код:
    ПечНаименованиеТМЦ = СокрЛП(Докум.Номенклатура.ПолнНаименование);
    ПечКод =СокрЛП(Докум.Номенклатура.КОД);
    Последнее редактирование: 13 фев 2015
  3. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    ты бы выложил сюда обработку
    дольше объяснять, чем поправить
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    ну тогда уж и образец как именно хочется
  5. TopicStarter Overlay
    pacific20
    Offline

    pacific20

    Регистрация:
    13 фев 2015
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    образец выложил, из названия я уберу код, как прописать его в другую ячейку ценника ( в ней у меня сейчас стоит печкод)

    Вложения:

    • printcen.rar
      Размер файла:
      8,1 КБ
      Просмотров:
      23
  6. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Вы как в посте №2 сделали??
  7. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    пользуйся

    Вложения:

    • printcen.zip
      Размер файла:
      8,5 КБ
      Просмотров:
      43
  8. TopicStarter Overlay
    pacific20
    Offline

    pacific20

    Регистрация:
    13 фев 2015
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Хряк,
    Выдает следующее:
    ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд<<?>>);
    {C:\USERS\USER\DESKTOP\БАЗА 1С АВТОМАГАЗИН\DB\EXTFORMS\PRNFORMS\PRINTCEN.ERT(96)}: Недостаточно фактических параметров
    --- Объединение сообщений, 13 фев 2015 ---
    УРААААА ))))) помог пост № 2 и в правильном месте добавить ПечКод в процедуре ))))))))) Спасибо Вам огромное, мучаюсь три дня уже!!!!
    Последнее редактирование: 13 фев 2015
  9. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    не может быть
    либо ты уже поковырял код
    проверь чтобы в объявлении процедуры добавитьценник было 7 параметров
    а вообще, для универсальности замени строчку

    ДобавитьЦенник(Таб, Докум.Фирма, Докум.Номенклатура, Докум.Единица, ПечРозн, Столбик, Ряд);

    а вот это перенеси в саму процедуру

    Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) Экспорт

    Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, 0));
    Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

    ПечКод=СокрЛП(ПечНаименование.Код)
    ПечНаименованиеТМЦ = СокрЛП(ПечНаименование.ПолнНаименование) +" |код "+ ПечКод;
  10. TopicStarter Overlay
    pacific20
    Offline

    pacific20

    Регистрация:
    13 фев 2015
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    код не ковырял, скопировал твою обработку,в ней выдало ошибку потом попробовал из 2 поста но на своей и вуаля заработало, только в обработке "Добавить ценник " прописал ПечКод в конце перед столбик ,ряд
  11. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    мда...
    всё было не так
    ты "только в обработке "Добавить ценник " прописал ПечКод в конце перед столбик ,ряд" - отсюда и ошибка
    ДобавитьЦенник(Таб, Докум.Фирма, ПечНаименованиеТМЦ, Докум.Единица, ПечРозн, Столбик, Ряд<<?>>);
    {C:\USERS\USER\DESKTOP\БАЗА 1С АВТОМАГАЗИН\DB\EXTFORMS\PRNFORMS\PRINTCEN.ERT(96)}: Недостаточно фактических параметров

    скопируй ещё раз обработку, в ней нет ошибок, уверяю тебя
  12. TopicStarter Overlay
    pacific20
    Offline

    pacific20

    Регистрация:
    13 фев 2015
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Мы друг друга не понимаем ))) в твоей я вообще ничего не писал, писал в своей копии
    пробую еще раз твою ))
    --- Объединение сообщений, 13 фев 2015 ---
    скачал заново твою поставил и точно заработала, а из первой скачки не работает ))) мистика )))) Спасибо тебе дружище !!!
  13. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    это не моя, это твоя обработка (точнее штатная внешняя), я в ней всего одну строчку добавил

Поделиться этой страницей