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

Печать ценника из поступление тмц розница.

Автор Андрей19986, 03 фев 2012, 00:02

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

Андрей19986

1c тис
Платформа 7.7 (7.70.027)
Конфигурация  ТиС (Торговля и склад) (7.70.945)



Доброго времени суток. Прошу помощи. Как в данную обрабоку добавить вывод страны происхождения из документа поступление тмц розница на ценник. В данной обработке она отсутствует вообще. Заранее благодарен.


Перем ПечФирма;

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

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

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

//******************************************************************************
// Печать(Докум, Устройство=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);
      Возврат;
   КонецЕсли;
   
КонецПроцедуры // ПриОткрытии()

Андрей19986

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

Herby

Молодец, можешь взять пирожок с полки.

Теги:

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

Рейтинг@Mail.ru

Поиск