Имя: Пароль:
1C
1С v8
Ошибка "переменная не определена" во внешнем отчете
Ø (OFF 09.08.2012 07:59)
0 kapez
 
09.08.12
07:57
/*******************************************
Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
   Перем ЕстьИЗДЕЛИЯ;
  Перем ЕстьУСЛУГИ;
  Перем ЕстьТОВАР;  
 
  СтатусВозврата(0);

  АдресТелефон = "";
  глДобавитьРеквизит(АдресТелефон, "Адрес: ", глПредставлениеАдреса(Константа.АдресОрганизации));
  глДобавитьРеквизит(АдресТелефон, ", тел.: ", Константа.ТелефоныОрганизации);
 
  ПоставщикРасчСчет = "";
  ПоставщикИНН = "";
  ПоставщикКПП = "";
  ПоставщикБанк = "";
  Кредит = "";
  ПоставщикБанкБИК = "";
  ПоставщикБанкКорсчет = "";
  Услуга = " ";
  Изделия =" ";
  Товар = " ";
  глПлатежныеРеквизиты(Докум.РасчетныйСчет, ПоставщикРасчСчет, ПоставщикБанк, Кредит, ПоставщикБанкБИК, ПоставщикБанкКорсчет, ПоставщикИНН, ПоставщикКПП,2);

  Если (Докум.Валюта.Выбран() = 1) и (Докум.Валюта <> глРубли) Тогда
     КурсПеч = "Курс: " + Докум.Курс;
  Иначе
     КурсПеч = "";
  КонецЕсли;

  Таб = СоздатьОбъект("Таблица");

     Таб.ИсходнаяТаблица("Таблица");
 
     Таб.ВывестиСекцию("Шапка");
 
     Докум.ВыбратьСтроки();
     Пока Докум.ПолучитьСтроку() = 1 Цикл
        НаименованиеТовара = глПолноеНаименование(Докум.Товар);
        Таб.ВывестиСекцию("Строка");  
     Докум.ВыбратьСтроки();  
  КонецЦикла;
     Пока Докум.ПолучитьСтроку() = 1 Цикл
        НаименованиеТовара = глПолноеНаименование(Докум.Товар);  
  Если Докум.Товар.ПолныйКод()= Номенклатура/Услуги Тогда ЕстьУСЛУГИ = истина;
  ИначеЕсли Докум.Товар.ПолныйКод()= Номенклатура/Товар Тогда ЕстьТОВАР = истина;
  Иначе ЕстьИЗДЕЛИЯ = истина;
  КонецЕсли;
     КонецЦикла;
     Если (Докум.СуммаВклНДС = 1) Тогда
        ИтогоСумма = Докум.Итог("Сумма") - Докум.Итог("НДС");
     Иначе
        ИтогоСумма = Докум.Итог("Сумма");
     КонецЕсли;
     Таб.ВывестиСекцию("ИтогоСумма");
     Если Докум.УчитыватьНДС = 1 Тогда
        ИтогоНДС = Докум.Итог("НДС");
        Таб.ВывестиСекцию("ИтогоНДС");
     КонецЕсли;
     Если (Докум.УчитыватьНП = 1) или (Докум.УчитыватьНП = 2) Тогда
        ИтогоНП = Докум.Итог("НП");
        Таб.ВывестиСекцию("ИтогоНП");
     КонецЕсли;
     ИтогоВсего = Докум.Итог("Всего");
     //Если не(((Докум.СуммаВклНП = 1) или (Докум.УчитыватьНП = 0)) и ((Докум.СуммаВклНДС = 1) или (Докум.УчитыватьНДС = 0))) Тогда
        Таб.ВывестиСекцию("ИтогоВсего");
     //КонецЕсли;
     Пропись(Докум.Валюта.ИмяФайлаПрописи);
     Таб.ВывестиСекцию("Подвал");
     Пропись("");
     
     глПоказатьТаблицу(Таб, "Счет", "Счет", 0, 0, 1);    
   

  Таб.ВывестиСекцию("В0");
  если (естьИЗДЕЛИЯ=ложь)и(естьТОВАР=ложь)и(естьУСЛУГИ=истина) тогда
     Таб.ВывестиСекцию("В1");
  иначеесли (естьИЗДЕЛИЯ=ложь)и(естьТОВАР=истина)и(естьУСЛУГИ=ложь) тогда
     Таб.ВывестиСекцию("В2");
  иначеесли (естьИЗДЕЛИЯ=ложь)и(естьТОВАР=истина)и(естьУСЛУГИ=истина) тогда
     Таб.ВывестиСекцию("В3");
  иначеесли (естьИЗДЕЛИЯ=истина)и(естьТОВАР=Ложь)и(естьУСЛУГИ=ложь) тогда
     Таб.ВывестиСекцию("В4");  
  иначеесли (естьИЗДЕЛИЯ=истина)и(естьТОВАР=Ложь)и(естьУСЛУГИ=истина) тогда
     Таб.ВывестиСекцию("В5");
  иначеесли (естьИЗДЕЛИЯ=истина)и(естьТОВАР=истина)и(естьУСЛУГИ=ложь) тогда
      Таб.ВывестиСекцию("В0");
  иначеесли (естьИЗДЕЛИЯ=истина)и(естьТОВАР=истина)и(естьУСЛУГИ=истина) тогда
      Таб.ВывестиСекцию("В0");
  КонецЕсли;
КонецПроцедуры

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


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

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

показывает ошибку, что по полному коду он не может взять
1 ДенисЧ
 
09.08.12
07:58
А в какой строке ошибка-то?
2 OFF
 
модератор
09.08.12
07:59