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

Помогите разобраться что не так с кодом

Автор sammas, 24 фев 2019, 20:01

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

sammas

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

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

Вылетает такая ошибка
{Документ.ОказаниеУслуги.МодульМенеджера(47,27)}: Переменная не определена (ВыборкаПереченьНоменклатуры)
         СуммаИтог =СуммаИтог + <<?>>ВыборкаПереченьНоменклатуры.Сумма; (Проверка: Сервер)


alexandr_ll

Цитата: sammas от 24 фев 2019, 20:01
Сам код вот
Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ОказаниеУслуги.Дата,
   |   ОказаниеУслуги.Клиенты,
   |   ОказаниеУслуги.Мастер,
   |   ОказаниеУслуги.Номер,
   |   ОказаниеУслуги.Склад,
   |   ОказаниеУслуги.ПеречеьНаменклатуры.(
   |      НомерСтроки,
   |      Номенклатура,
   |      Количество,
   |      Цена,
   |      Сумма
   |   )
   |ИЗ
   |   Документ.ОказаниеУслуги КАК ОказаниеУслуги
   |ГДЕ
   |   ОказаниеУслуги.Ссылка В (&Ссылка)";
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

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

Вылетает такая ошибка
{Документ.ОказаниеУслуги.МодульМенеджера(47,27)}: Переменная не определена (ВыборкаПереченьНоменклатуры)
         СуммаИтог =СуммаИтог + <<?>>ВыборкаПереченьНоменклатуры.Сумма; (Проверка: Сервер)
| ОказаниеУслуги.ПеречеьНаменклатуры.(
ВыборкаПереченьНаменклатуры = Выборка.ПереченьНаменклатуры.Выбрать();
Вижу разницу в одну букву "ПеречеьНаменклатуры" и "ПереченьНаменклатуры"

sammas

Цитата: alexandr_ll от 25 фев 2019, 07:40
Цитата: sammas от 24 фев 2019, 20:01
Сам код вот
Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ОказаниеУслуги.Дата,
   |   ОказаниеУслуги.Клиенты,
   |   ОказаниеУслуги.Мастер,
   |   ОказаниеУслуги.Номер,
   |   ОказаниеУслуги.Склад,
   |   ОказаниеУслуги.ПеречеьНаменклатуры.(
   |      НомерСтроки,
   |      Номенклатура,
   |      Количество,
   |      Цена,
   |      Сумма
   |   )
   |ИЗ
   |   Документ.ОказаниеУслуги КАК ОказаниеУслуги
   |ГДЕ
   |   ОказаниеУслуги.Ссылка В (&Ссылка)";
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

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

Вылетает такая ошибка
{Документ.ОказаниеУслуги.МодульМенеджера(47,27)}: Переменная не определена (ВыборкаПереченьНоменклатуры)
         СуммаИтог =СуммаИтог + <<?>>ВыборкаПереченьНоменклатуры.Сумма; (Проверка: Сервер)
| ОказаниеУслуги.ПеречеьНаменклатуры.(
ВыборкаПереченьНаменклатуры = Выборка.ПереченьНаменклатуры.Выбрать();
Вижу разницу в одну букву "ПеречеьНаменклатуры" и "ПереченьНаменклатуры"

Да, действительно пропустил. Спасибо. Нашел еще, где пропустил, но это не помогло. Ошибка та же

Теги:

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

Рейтинг@Mail.ru

Поиск