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

помогите с печатной формой м-11

Автор LED82, 25 июл 2012, 10:20

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

LED82

есть внешняя печатная форма м-11 в которой хочу чтобы выводилась сумма  по колонке сумма без учета ндс в модуле внешней печатной форме добавил но нефига не хочет выводить помогите люди


Функция КодСубсчета(Д)
                                            
   Код = "";
   
   Если Д.Материал.Вид() = "Материалы" Тогда
      Код = Д.Материал.СубСчет10;
      
   ИначеЕсли Д.Материал.Вид() = "Номенклатура" Тогда
      Если Д.Материал.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Продукция Тогда
         Код = "43";
         
      Иначе // полуфабрикат
         Код = "21";
      КонецЕсли;
   КонецЕсли;
   
   Возврат Код;
   
КонецФункции // КодСубсчета()

//_____________________________________________________________________________
   
Процедура Печать(Д, Устройство=0, КолвоКопий=1)
   
   перем сум1;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("М-11");
   
   ПодразделениеПолучатель = "";
   Если Д.ВидПеремещения = 0 Тогда
      КорСчет = Д.СчетЗатрат.Код;
      Для СчетчикЦикла = 1 По Д.СчетЗатрат.КоличествоСубконто() Цикл
         Субконто = Д.ПолучитьАтрибут("Субконто" + СчетчикЦикла);
         Если Субконто.Вид() = "Подразделения" Тогда
            ПодразделениеПолучатель = Субконто;
            Прервать;
         КонецЕсли;
      КонецЦикла;
   Иначе
      ПодразделениеПолучатель = Д.МестоХраненияПриемник;
   КонецЕсли;                 
   ПодразделениеОтправитель = Д.МестоХранения;
   
   
   сум1=0; // мое
   

   Если Д.Проведен() = 0 Тогда
      НомерПовторяемойСтроки = 16;
      ТекстПредупреждения = "Для непроведенного документа графы ""Цена"" и ""Сумма"" не заполняются.";
      Таб.ВывестиСекцию("Предупреждение");
      Таб.ВывестиСекцию("Шапка");
      
      Д.ВыбратьСтроки();
      Пока Д.ПолучитьСтроку() = 1 Цикл
         Субсчет = КодСубсчета(Д);
         Если Д.Материал.Выбран() = 1 Тогда
             МатЦенность = Д.Материал;
            Код = Д.Материал.Код;
            ЕдиницаИзмерения = Д.Материал.ЕдиницаИзмерения;
            ЕдиницаИзмеренияКод = Д.Материал.ЕдиницаИзмерения.Код;
            МатериалСумма = 0;
            МатериалЦенаБезНДС = 0;
                сум1=сум1+МатериалСумма;// мое
         КонецЕсли;
         Таб.ВывестиСекцию("Строка");
         Состояние("Выведено строк: " + Д.НомерСтроки);
      КонецЦикла;
      
   ИначеЕсли Д.Модифицированность() = 1 Тогда
      Предупреждение("Для печати документ необходимо перепровести.");
      Возврат;
      
   Иначе
      НомерПовторяемойСтроки = 15;
      Таб.ВывестиСекцию("Шапка");

      Д.ВыбратьСтроки();
      Пока Д.ПолучитьСтроку() = 1 Цикл
         Если Д.Материал.Выбран() = 1 Тогда
            Субсчет = КодСубсчета(Д);
            МатЦенность = Д.Материал;
            Код = Д.Материал.Код;
            ЕдиницаИзмерения = Д.Материал.ЕдиницаИзмерения;
            ЕдиницаИзмеренияКод = Д.Материал.ЕдиницаИзмерения.Код;
            МатериалСумма = Д.Сумма;
            МатериалЦенаБезНДС = Д.Сумма / Д.КоличествоОтпущено;
               сум1=сум1+МатериалСумма;// мое
         КонецЕсли;
         Таб.ВывестиСекцию("Строка");
         Состояние("Выведено строк: " + Д.НомерСтроки);
      КонецЦикла;
   КонецЕсли;

   Таб.ВывестиСекцию("Подвал");
   Таб.ПовторятьПриПечатиСтроки(НомерПовторяемойСтроки, НомерПовторяемойСтроки);
   
   
   Если Устройство = 0 Тогда
      Таб.Опции(0, 0, ?(Д.Проведен() = 0, 1, 0), 0, "ОпцииПечатиМ11", "ОкноМ11");     
      Таб.ОбластьПечати(?(Д.Проведен() = 0, 2, 1), 2,,);
      Таб.ТолькоПросмотр(1);
      Таб.Показать("Требование-накладная (форма №М-11)");
   Иначе     
      Таб.КоличествоЭкземпляров(КолвоКопий);
      Таб.Напечатать(0);
   КонецЕсли;
КонецПроцедуры // Печать()


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

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()
   
   Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
      
      Докум      = Форма.Параметр.Получить("Контекст");
      Устройство = Форма.Параметр.Получить("Устройство");
      КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
   
      Печать(Докум, Устройство, КолвоКопий);
      Статусвозврата(0);
      Возврат;
   КонецЕсли;
   
   
КонецПроцедуры // ПриОткрытии()

Теги:

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

Рейтинг@Mail.ru

Поиск