8.х Отображение штрих кода в отчёте

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Legion, 23 ноя 2009.

  1. TopicStarter Overlay
    Legion
    Offline

    Legion Опытный в 1С

    Регистрация:
    3 мар 2009
    Сообщения:
    57
    Симпатии:
    1
    Баллы:
    29
    Доброго времени суток! Делаю отчёт, в тч отчёта выводится номенклатура её штрих коды в графическом виде(рис). У номенклатуры возможно наличие 2х штрих кодов. Один есть обязательно, а второй не у всей номенклатуры. И собственно в том случае когда нету 2го штрих кода, то выводится штрих код "1234567890128", как избавиться от этих "не нужных" штрих кодов.
    Вот код
    Код:
    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Владелец", Выборка.Номенклатура);
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	Штрихкоды.Владелец КАК Владелец,
    |	Штрихкоды.Штрихкод КАК ШтрихКод
    |ИЗ
    |	РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    |	Штрихкоды.Владелец = &Владелец";
    ВыборкаШтрихкод = Запрос.Выполнить().Выбрать();
    Пока	ВыборкаШтрихкод.Следующий() Цикл
    Если Лев(ВыборкаШтрихкод.Штрихкод,2) = "20" Тогда			ОбластьМакета.Рисунки.ШтрихРаз.Объект.Сообщение = ВыборкаШтрихкод.Штрихкод;
    Иначе //Тут как раз выводим 2й штрих код если он есть	
    ОбластьМакета.Рисунки.ШтрихДва.Объект.Сообщение =   ВыборкаШтрихкод.Штрихкод;
    КонецЕсли; 	
    ТабДокумент.Вывести(ОбластьМакета);
    КонецЦикла;
    
    
    Максимум до чего додумался, так это ОбластьМакета.Рисунки.ШтрихРаз.ВыводитьНаПечать = Ложь, но только при печате. Как избавиться от них в отчёте на экране? :unsure:
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Проверяйте это условие:
    Лев(ВыборкаШтрихкод.Штрихкод,2) = "20"

    оно не выполниться для всех ШК, а не только для вторых.
  3. TopicStarter Overlay
    Legion
    Offline

    Legion Опытный в 1С

    Регистрация:
    3 мар 2009
    Сообщения:
    57
    Симпатии:
    1
    Баллы:
    29
    Оно как раз и выполняется для всех первых штрих кодов. Дело то не в условии, а в том как не выводить картинку при отсутствии штрих кода
  4. Gfdtk
    Offline

    Gfdtk Опытный в 1С

    Регистрация:
    28 апр 2008
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    в элементе штрих кода, который на макете есть флажок выводить на печать, его можно программно снять если туда нечего записывать. Если его нету, то на печатной форме на мониторе будет красный квадрат, а при просмотре или печати будет пусто.
  5. TopicStarter Overlay
    Legion
    Offline

    Legion Опытный в 1С

    Регистрация:
    3 мар 2009
    Сообщения:
    57
    Симпатии:
    1
    Баллы:
    29
    Я это уже написал в первом посте, выводить на печать не спасает, это только при распечатке, а на экран всё равно выводится
  6. Gfdtk
    Offline

    Gfdtk Опытный в 1С

    Регистрация:
    28 апр 2008
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    а какая разница что он показывает на экране, если на печати все правильно.
  7. TopicStarter Overlay
    Legion
    Offline

    Legion Опытный в 1С

    Регистрация:
    3 мар 2009
    Сообщения:
    57
    Симпатии:
    1
    Баллы:
    29
    Ну вот такая прихоть клиента, не нужно ему каждый раз пускать его на печать
  8. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    1. Можно программно управлять рисунками в табличном документе. И если рисунка нет - удалять его. Можно посмотреть как это делают в печати ценников в Рознице.

    2. Добавить вывод штрих кода в колонке. И если второй штрих есть, то выводить его методом присоединить, а если нет - то впихивать пустую колонку.
  9. TopicStarter Overlay
    Legion
    Offline

    Legion Опытный в 1С

    Регистрация:
    3 мар 2009
    Сообщения:
    57
    Симпатии:
    1
    Баллы:
    29
    Спасибо, буду пробывать

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