Имя: Пароль:
1C
 
Параметры в макете , найти сумму
0 Олеся999
 
23.07.17
20:56
Подскажите пожалуйста, как в макете в шаблоне суммировать параметры
[параметр1] + [параметр2] ?
1 Лефмихалыч
 
23.07.17
21:01
ни как. Суммировать надо в коде перед выводом секции.
В параметре [СуммаПараметров1и2], а в коде

Область.Параметры.СуммаПараметров1и2 = Параметр1+Параметр2;
2 Олеся999
 
23.07.17
21:04
(1) а в шаблоне нельзя?
3 Лефмихалыч
 
23.07.17
21:09
(2) я ж сказал - нельзя. Шаблон так не умеет
4 Олеся999
 
23.07.17
21:14
хорошо спасибо )
5 Олеся999
 
23.07.17
21:20
Написала так
Шапка.Параметры.ППП = КурсВалюты + КурсВалюты;
пишет ошибку : {Документ.ПриходнаяНакладная.МодульМенеджера(117,27)}: Переменная не определена (КурсВалюты)
    Шапка.Параметры.ППП = <<?>>КурсВалюты + КурсВалюты;  (Проверка: Сервер)
{Документ.ПриходнаяНакладная.МодульМенеджера(117,40)}: Переменная не определена (КурсВалюты)
    Шапка.Параметры.ППП = КурсВалюты + <<?>>КурсВалюты;  (Проверка: Сервер)
6 Олеся999
 
23.07.17
21:20
вот код :
Процедура Печать(ТабДок, Ссылка) Экспорт
    ВнешняяКомпонента = тк_сервер.ПодключитьВнешнююКомпонентуПечатиШтрихкода();
    Если ВнешняяКомпонента = Неопределено Тогда
        ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода!'");
        Возврат;
    КонецЕсли;
    
    
    Макет = Документы.ПриходнаяНакладная.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ПриходнаяНакладнаяТаблЧасть.Номенклатура,
    |    ПриходнаяНакладнаяТаблЧасть.ШК,
    |    ПриходнаяНакладнаяТаблЧасть.Ссылка.Дата
    |ИЗ
    |    Документ.ПриходнаяНакладная.ТаблЧасть КАК ПриходнаяНакладнаяТаблЧасть
    |ГДЕ
    |    ПриходнаяНакладнаяТаблЧасть.Ссылка В(&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("ОбластьШтрихкод");
    ТабДок.Очистить();
    //ОбластьЗаголовок.Параметры.РисунокШтрихкод = Выборка.ШК;      ///
    //ОбластьЗаголовок.Рисунки.РисунокШтрихкод=Выборка.Картинка ;
    // ОбластьЗаголовок.Области.РисунокШтрихкод.Картинка=Выборка.РисунокШтрихкод ;
    
    
    
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        ВнешняяКомпонента = тк_сервер.ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, 20,45, Выборка.ШК,5);
        ОбластьЗаголовок.Области.РисунокШтрихкод.Картинка = Новый Картинка (ВнешняяКомпонента.ПолучитьШтрихкод());
        ОбластьЗаголовок.Параметры.Номенклатура = Выборка.Номенклатура.Наименование;
        ОбластьЗаголовок.Параметры.Дата = Выборка.Дата;
        
        ТабДок.Вывести(ОбластьЗаголовок);
        
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры

Процедура Печать1(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать1)
    Макет = Документы.ПриходнаяНакладная.ПолучитьМакет("Печать1");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриходнаяНакладная.АртикулТаб,
    |    ПриходнаяНакладная.Валюта,
    |    ПриходнаяНакладная.ВидЦены,
    |    ПриходнаяНакладная.Дата,
    |    ПриходнаяНакладная.ДатаНакладной,
    |    ПриходнаяНакладная.ДатаСчета,
    |    ПриходнаяНакладная.ДокументПроведен,
    |    ПриходнаяНакладная.Заказ,
    |    ПриходнаяНакладная.ИнфНакладной,
    |    ПриходнаяНакладная.ИнфСчета,
    |    ПриходнаяНакладная.ИспользоватьПрефикс,
    |    ПриходнаяНакладная.ИтоговаяСумма,
    |    ПриходнаяНакладная.КодОрганизации,
    |    ПриходнаяНакладная.КоличествоЦифр,
    |    ПриходнаяНакладная.Коментарий,
    |    ПриходнаяНакладная.Контрагент,
    |    ПриходнаяНакладная.КонтрольнаяЦифра,
    |    ПриходнаяНакладная.КурсВалюты,
    |    ПриходнаяНакладная.КурсДоллар,
    |    ПриходнаяНакладная.Менеджер,
    |    ПриходнаяНакладная.Номер,
    |    ПриходнаяНакладная.ОбновитьЦены,
    |    ПриходнаяНакладная.ОтключитьДанныеЦБ,
    |    ПриходнаяНакладная.Склад,
    |    ПриходнаяНакладная.ТекущийАртикул,
    |    ПриходнаяНакладная.ТекущийШтрихКод,
    |    ПриходнаяНакладная.ТрекНомер,
    |    ПриходнаяНакладная.Фирма,
    |    ПриходнаяНакладная.ШтрихТаб,
    |    ПриходнаяНакладная.ТаблЧасть.(
    |        НомерСтроки,
    |        ШтрихКод,
    |        Номенклатура,
    |        ЕдИзм,
    |        Количество,
    |        Цена,
    |        ЦенаБезНДС,
    |        Сумма,
    |        ОстатокНаСкладе,
    |        Артикул,
    |        Ячейка,
    |        ШК,
    |        МасивДанных,
    |        PartNamber,
    |        БухНаименование,
    |        СуммаДоллар,
    |        ЦенаДоллар,
    |        КурсВалюты,
    |        ДатаКод
    |    )
    |ИЗ
    |    Документ.ПриходнаяНакладная КАК ПриходнаяНакладная
    |ГДЕ
    |    ПриходнаяНакладная.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТаблЧастьШапка = Макет.ПолучитьОбласть("ТаблЧастьШапка");
    ОбластьТаблЧасть = Макет.ПолучитьОбласть("ТаблЧасть");
    ТабДок.Очистить();
    Шапка.Параметры.ППП = КурсВалюты + КурсВалюты;
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

        ТабДок.Вывести(ОбластьТаблЧастьШапка);
        ВыборкаТаблЧасть = Выборка.ТаблЧасть.Выбрать();
        Пока ВыборкаТаблЧасть.Следующий() Цикл
            ОбластьТаблЧасть.Параметры.Заполнить(ВыборкаТаблЧасть);
            ТабДок.Вывести(ОбластьТаблЧасть, ВыборкаТаблЧасть.Уровень());
        КонецЦикла;

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
7 h-sp
 
23.07.17
22:46
действительно нет у вас такой переменной КурсВалюты. Определите ее, чего вы жмотитесь.
8 shpioleg
 
23.07.17
23:08
(6) Замени свой фрагмент кода на

  ТабДок.Вывести(ОбластьЗаголовок);
  Шапка.Параметры.Заполнить(Выборка);
  //заполняй курс когда идет обход документов в выборке
  Шапка.Параметры.ППП = Выборка.КурсВалюты*2;
  ТабДок.Вывести(Шапка, Выборка.Уровень());
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший