Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 16:58

Свойства Элемента номенклатуры в печатной форме ценника.

Автор boir, 05 окт 2011, 21:32

0 Пользователей и 1 гость просматривают эту тему.

boir

Добрый день.
Забили номенклатуру. Для менеджеров заполнили характеристики товара на вкладке свойства, предварительно создав эти свойства. Теперь хотим вывести этиже свойства на ценник. Но ничего не выходит. С программированием не дружим, обработки не писали. Знаем только основы и то что печатные формы можно редактировать.

Что нужно подставить в ячейку при редактировании печатной формы ценника, чтобы в ячейке отразилось значение необходимого свойства?

Dethmontt

Нужно поставить значение этого свойства который необходимо подставить в ячейку этого самого свойства
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

progmikon

Ну что касается кода, то он будет примерно такой
Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
                           |   ЗначенияСвойствОбъектов.Свойство,
                           |   ЗначенияСвойствОбъектов.Значение
                           |ИЗ
                           |   РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                           |ГДЕ
                           |   ЗначенияСвойствОбъектов.Объект = &Объект";
            Запрос.УстановитьПараметр("Объект", СтрокаТаблицы.Номенклатура);
            Выборка = Запрос.Выполнить().Выбрать();
            Пока Выборка.Следующий() Цикл
               ОбластьСвойств = Макет.ПолучитьОбласть("Свойства");
               ОбластьСвойств.Параметры.Заполнить(Выборка);
               ТабДокумент.Вывести(ОбластьСвойств);
            КонецЦикла;

Я написал по памяти. В зависимости от кода в самой обработке печати, думаю нужно будет немного изменить вывод областей свойств.
В данном случае, выводятся все свойства.
Ну и само собой нужно добавить на макете необходимые параметры.

boir

Спасибо а ответы. Но я полный ноль в коде. Может поможете, рассказав подробнее?

progmikon


boir

Цитата: progmikon от 06 окт 2011, 17:44
А какая у вас конфигурация? (бухгалтерия, УПП) и платформа 1С (8.1, 8.2)?
Платформа 8.2 Конфигурация Управление торговлей 10.3

progmikon

Сейчас под рукой УТ-шки нет, завтра посмотрю. И еще вопрос: а как быть с количеством свойств? Их у вас сколько? Просто это будет сказываться на самом размере ценника.

progmikon

Цитата: boir от 06 окт 2011, 17:18
Спасибо а ответы. Но я полный ноль в коде. Может поможете, рассказав подробнее?

Функцию печати ценников выпоняет обработка "ПечатьЦенников".
Для экспериментов лучше сохранить ее как внешнюю обработку. В этой обработке есть модуль объекта, в котором есть функция "ПечатьЦенника". Вот это то, что нам нужно.
Если возможно, запостите код, который над которым вы работаете.

boir

// Производит заполнение переданными из формы подбора данными.
//
// Параметры:
//  ЗначениеВыбора - структура, содержащая параметры подбора.
//
Процедура ОбработкаПодбора(ЗначениеВыбора)

Перем Номенклатура, ЕдиницаИзмерения, Количество, ХарактеристикаНоменклатуры;

// Получим параметры подбора из структуры подбора.
ЗначениеВыбора.Свойство("Номенклатура"    , Номенклатура);
ЗначениеВыбора.Свойство("ЕдиницаИзмерения", ЕдиницаИзмерения);
ЗначениеВыбора.Свойство("Количество"      , Количество);
ЗначениеВыбора.Свойство("Характеристика"  , ХарактеристикаНоменклатуры);

// Ищем выбранную позицию в таблице подобранной номенклатуры.
//  Если найдем - увеличим количество; не найдем - добавим новую строку.
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Номенклатура"              , Номенклатура);
СтруктураОтбора.Вставить("ЕдиницаИзмерения"          , ЕдиницаИзмерения);
СтруктураОтбора.Вставить("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры);

СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(Товары, СтруктураОтбора);
Если СтрокаТабличнойЧасти <> Неопределено Тогда

// Нашли, увеличиваем количество в первой найденной строке.
СтрокаТабличнойЧасти.Количество = СтрокаТабличнойЧасти.Количество + Количество;
Иначе // не нашли - добавляем новую строку
СтрокаТабличнойЧасти = Товары.Добавить();
СтрокаТабличнойЧасти.Номенклатура               = Номенклатура;
СтрокаТабличнойЧасти.ЕдиницаИзмерения           = ЕдиницаИзмерения;
СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = ХарактеристикаНоменклатуры;
СтрокаТабличнойЧасти.Количество                 = Количество;
СтрокаТабличнойЧасти.Печать                     = Истина;
КонецЕсли;

ЭлементыФормы.Товары.ТекущаяСтрока = СтрокаТабличнойЧасти;
ЭлементыФормы.Товары.ТекущаяКолонка = ЭлементыФормы.Товары.Колонки.Количество;

КонецПроцедуры // ОбработкаПодбора()

progmikon


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск