Имя: Пароль:
1C
1С v8
Артикул в "Печать ценников"
0 Dmitry00
 
20.02.15
12:45
Всем привет!
УТ 10.3
Нужно добавить Артикул в ценник (Обработка Печать ценников"
Подскажите, пож-та, как это сделать?
Конфа открыта
1 hydro2588
 
20.02.15
12:50
Открой в конфе обработку ПечатьЦеников. Там в макете для начала добавь ячейку с параметром Артикул. А потом в процедуре Печати пропиши при выводе заполнение Артикула. К сожалению просто настройками Артикула не добавить, по крайней мере даже на макете такого параметра нет.
2 Дмитрий
 
20.02.15
13:01
3 Dmitry00
 
24.02.15
14:46
(2) Там была Этикетка, а это - ценник! ))
4 Dmitry00
 
24.02.15
14:47
(1) Ок, завтра попробую, но вопросы еще будут... Чайник я)
"пропиши при выводе заполнение Артикула" вот это представляет наибольшую сложность :)
5 D_E_S_131
 
24.02.15
15:04
(4) "Прописать артикул" = "Получить артикул из данных" (аналогично как получается другой реквизит номенклатуры, например "КОД") + "Вывести артикул"(аналогично как выводится тот же "КОД").
6 Dmitry00
 
25.02.15
08:15
(5) Ничего не могу найти :( Вот сам оригинальный модуль, куда и что нужно вписать?
// Обработчик события "ПриОткрытии" формы.
//
Процедура ПриОткрытии()

    Перем ЗаполнитьЦены;

    Перем НастройкиПостроителя;

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

    СтруктураНастроек = ВосстановитьЗначение("Обработка.ПечатьЦенников.Настройки");
    Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда
        СтруктураНастроек.Свойство("Организация", Организация);
        СтруктураНастроек.Свойство("ТипЦен", ТипЦен);
        СтруктураНастроек.Свойство("Валюта", Валюта);
        СтруктураНастроек.Свойство("ТолькоИмеющиесяВНаличии", ТолькоИмеющиесяВНаличии);
        СтруктураНастроек.Свойство("НастройкиПостроителя", НастройкиПостроителя);
    КонецЕсли;

    ЗаполнитьПостроительОтчета();

    Если НастройкиПостроителя <> Неопределено Тогда
        ПостроительОтчета.УстановитьНастройки(НастройкиПостроителя);
    КонецЕсли;

    Если ТипЗнч(Параметр) = Тип("Структура") Тогда
        Параметр.Свойство("ЗаполнитьЦены", ЗаполнитьЦены);
        Если ЗаполнитьЦены = Истина Тогда
            Если ПроверитьПараметрыЗаполненияЦен(Параметр.Свойство("ПечетьБезПроверкиЗаполненияПараметров")) Тогда
                ПерезаполнитьЦены();
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

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

// Обработчик события "ПриИзменении" флажка "ТолькоИмеющиесяВНаличии".
//
Процедура ТолькоИмеющиесяВНаличииПриИзменении(Элемент)

    ЗаполнитьПостроительОтчета();

КонецПроцедуры // ТолькоИмеющиесяВНаличииПриИзменении()

// Обработчик события "Нажатие" кнопки "ЗаполнитьПоУстановленнымОтборам" в подменю "Заполнить".
//
Процедура КоманднаяПанельТоварыЗаполнитьПоУстановленнымОтборам(Кнопка)

    Если Не ПроверитьПараметрыЗаполненияЦен() Тогда
        Возврат;
    КонецЕсли;

    Если Товары.Количество() > 0 Тогда
        Ответ = Вопрос("Перед заполнением табличная часть будет очищена." + Символы.ПС + "Продолжить?", РежимДиалогаВопрос.ДаНет);
        Если Ответ = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли;
    КонецЕсли;

    Товары.Загрузить(ПостроительОтчета.Результат.Выгрузить());

    ПерезаполнитьЦены();

КонецПроцедуры // КоманднаяПанельТоварыЗаполнитьПоУстановленнымОтборам()

// Обработчик события "ПриНажатии" кнопки "ВыделитьВсе"
// командной панели "КомандыТоваров"
//
// Параметры
//  Кнопка - <КнопкаКоманднойПанели>
//         - кнопка "ВыделитьВсе"
//
Процедура КоманднаяПанельТоварыВыделитьВсе(Кнопка)

    Для Каждого СтрокаТЧ Из Товары Цикл
        СтрокаТЧ.Печать = Истина;
    КонецЦикла;

КонецПроцедуры // КоманднаяПанельТоварыВыделитьВсе()

// Обработчик события "ПриНажатии" кнопки "ОчиститьВыделение"
// командной панели "КомандыТоваров"
//
// Параметры
//  Кнопка - <КнопкаКоманднойПанели>
//         - кнопка "ОчиститьВыделение"
//
Процедура КоманднаяПанельТоварыОчиститьВыделение(Кнопка)

    Для Каждого СтрокаТЧ Из Товары Цикл
        СтрокаТЧ.Печать = Ложь;
    КонецЦикла;

КонецПроцедуры // КоманднаяПанельТоварыОчиститьВыделение()

// Обработчик события "ПриНажатии" кнопки "ИнвертироватьВыделение"
// командной панели "КомандыТоваров"
//
// Параметры
//  Кнопка - <КнопкаКоманднойПанели>
//         - кнопка "ОчиститьВыделение"
//
Процедура КоманднаяПанельТоварыИнвертироватьВыделение(Кнопка)

    Для Каждого СтрокаТЧ Из Товары Цикл
        СтрокаТЧ.Печать = Не СтрокаТЧ.Печать;
    КонецЦикла;

КонецПроцедуры // КоманднаяПанельТоварыИнвертироватьВыделение()

// Обработчик события ПриЗакрытии формы.
//
Процедура ПриЗакрытии()

    СтруктураНастроек = Новый Структура;
    СтруктураНастроек.Вставить("Организация", Организация);
    СтруктураНастроек.Вставить("ТипЦен", ТипЦен);
    СтруктураНастроек.Вставить("Валюта", Валюта);
    СтруктураНастроек.Вставить("ТолькоИмеющиесяВНаличии", ТолькоИмеющиесяВНаличии);
    СтруктураНастроек.Вставить("НастройкиПостроителя", ПостроительОтчета.ПолучитьНастройки(Истина, Ложь, Ложь, Ложь, Ложь));

    СохранитьЗначение("Обработка.ПечатьЦенников.Настройки", СтруктураНастроек);

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

// Обработчик события "Нажатие" кнопки "ДействиеПечать".
//
Процедура ОсновныеДействияФормыДействиеПечать(Кнопка)

    УниверсальныеМеханизмы.НапечататьДокумент(ПечатьЦенника(), , , "Ценники");

КонецПроцедуры // ОсновныеДействияФормыДействиеПечать()

// Обработчик события "Нажатие" кнопки "ПерезаполнитьЦены" в подменю "Заполнить".
//
Процедура КоманднаяПанельТоварыПерезаполнитьЦены(Кнопка)

    Если Не ПроверитьПараметрыЗаполненияЦен() Тогда
        Возврат;
    КонецЕсли;

    ПерезаполнитьЦены();

КонецПроцедуры // КоманднаяПанельТоварыПерезаполнитьЦены()

// Обработчик события "Нажатие" кнопки "Подбор".
//
Процедура КоманднаяПанельТоварыДействиеПодбор(Кнопка)

    ДействиеПодбор();

КонецПроцедуры // КоманднаяПанельТоварыДействиеПодбор()

// Процедура вызывает сервисный механизм для подбора номеклатуры в табличную часть.
//
Процедура ДействиеПодбор()

    СписокВидовПодбора = Новый СписокЗначений;
    СписокВидовПодбора.Добавить(, "По справочнику");

    СтруктураПараметровПодбора = Новый Структура;
    СтруктураПараметровПодбора.Вставить("Команда"           , "");
    СтруктураПараметровПодбора.Вставить("СписокВидовПодбора", СписокВидовПодбора);
    СтруктураПараметровПодбора.Вставить("Заголовок"         , "Подбор товаров для печати ценников");
    СтруктураПараметровПодбора.Вставить("ЕстьКоличество"    , Истина);
    СтруктураПараметровПодбора.Вставить("ЕстьЦена"          , Ложь);
    СтруктураПараметровПодбора.Вставить("ЕстьСерия"         , Ложь);
    СтруктураПараметровПодбора.Вставить("Склад"             , Неопределено);

    // Открываем форму подбора.
    ФормаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма", ЭтаФорма, ЭтаФорма);
    ФормаПодбора.ОбработкаОбъект.СтруктураИсходныхПараметров = СтруктураПараметровПодбора;
    ФормаПодбора.Открыть();

КонецПроцедуры // ДействиеПодбор()

// Обработчик события "ОбработкаВыбора" формы.
//
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)

    Если ТипЗнч(ЗначениеВыбора) = Тип("Структура") Тогда
        ОбработкаПодбора(ЗначениеВыбора);
    КонецЕсли;

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

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

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

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

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

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

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

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

КонецПроцедуры // ОбработкаПодбора()
AdBlock убивает бесплатный контент. 1Сергей