Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 11:09
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Не работает макет Конструктора. Не понимает Области  (Прочитано 6220 раз)

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

Оффлайн Восходящий

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-18
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!
Подскажите, пожалуйста, что не так делаю?
Создаю печатную форму. С помощью мастера макетов, выбираю шапку, тело, подвал из предложенных реквизитов, создается макет, команда и добавляется код в модуль менеджера. Но при сохранении ругается, что переменная не определена, не видит переменные областей. Как так?

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Очистить();

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

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

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

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

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

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры

Цитировать
{Документ.ЗаказПокупателя.МодульМенеджера(8229,18)}: Переменная не определена (ОбластьРаботыШапка)
      ТабДок.Вывести(<<?>>ОбластьРаботыШапка); (Проверка: Сервер)
{Документ.ЗаказПокупателя.МодульМенеджера(8232,4)}: Переменная не определена (ОбластьРаботы)
         <<?>>ОбластьРаботы.Параметры.Заполнить(ВыборкаРаботы); (Проверка: Сервер)
{Документ.ЗаказПокупателя.МодульМенеджера(8233,19)}: Переменная не определена (ОбластьРаботы)
         ТабДок.Вывести(<<?>>ОбластьРаботы, ВыборкаРаботы.Уровень()); (Проверка: Сервер)
{Документ.ЗаказПокупателя.МодульМенеджера(8236,3)}: Переменная не определена (Подвал)
      <<?>>Подвал.Параметры.Заполнить(Выборка); (Проверка: Сервер)
{Документ.ЗаказПокупателя.МодульМенеджера(8237,18)}: Переменная не определена (Подвал)
      ТабДок.Вывести(<<?>>Подвал); (Проверка: Сервер)


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
у вас только
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

а другие переменные не проинициализированы, вот и ругается...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Восходящий

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
// <<Добавил
ОбластьРаботы = Макет.ПолучитьОбласть("Работы");
ОбластьРаботыШапка = Макет.ПолучитьОбласть("РаботыШапка");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
// Добавил>>
Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Очистить();

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

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

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

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

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

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Цитировать
{Документ.ЗаказПокупателя.МодульМенеджера(8241,3)}: Переменная не определена (Подвал)
      <<?>>Подвал.Параметры.Заполнить(Выборка); (Проверка: Сервер)
{Документ.ЗаказПокупателя.МодульМенеджера(8242,18)}: Переменная не определена (Подвал)
      ТабДок.Вывести(<<?>>Подвал); (Проверка: Сервер)
Добавлено: 22 Май 2014, 20:33

Кроме того, если закомментировать это:
//Подвал.Параметры.Заполнить(Выборка);
//ТабДок.Вывести(Подвал);
то конфигурация сохраняется.
Но при открытии заказа ошибка такая:
Цитировать
{Документ.ЗаказПокупателя.МодульМенеджера(8235)}: Поле объекта не обнаружено (Работы)
      ВыборкаРаботы = Выборка.Работы.Выбрать();
Добавлено: 22 Май 2014, 20:38

Ошибся чуть-чуть. Ошика Поле объекта не обнаружено (Работы) выходит при нажатии на кнопку Пример1

Последний раз редактировалось: Восходящий; 22 Май 2014, 20:38. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Ну правильно на "Подвал" ругается, потому что "ОбластьПодвал" :befhbt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Восходящий

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-18
  • Сайт: 
  • Профессия: Ученик 1С
Благодарю) на ОбластьПодвал теперь не ругается, но при нажатии на кнопку Пример1, так же:
Цитировать
{Документ.ЗаказПокупателя.МодульМенеджера(8235)}: Поле объекта не обнаружено (Работы)
      ВыборкаРаботы = Выборка.Работы.Выбрать();

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Ну правильно пишет. У вас запрос тока по шапке документа. Добавьте туда еще и ТЧ РАБОТЫ и будет вам счастье.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Восходящий

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-18
  • Сайт: 
  • Профессия: Ученик 1С
Не могу найти запрос по Шапке. Ткните, пожалуйста, куда добавить

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Запрос = Новый Запрос;
Запрос.Текст =  "ВЫБРАТЬ   
|   ЗаказПокупателя.Комментарий,   
|   ЗаказПокупателя.Контрагент,   
|   ЗаказПокупателя.Номер   
|ИЗ   
|   Документ.ЗаказПокупателя КАК ЗаказПокупателя   
|ГДЕ   
|   ЗаказПокупателя.Ссылка В (&Ссылка)";

вот ЭТО - запрос по шапке!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Восходящий

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

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
// <<Добавил
ОбластьРаботы = Макет.ПолучитьОбласть("Работы");
ОбластьРаботыШапка = Макет.ПолучитьОбласть("РаботыШапка");
Подвал = Макет.ПолучитьОбласть("Подвал");
// Добавил>>
Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Очистить();

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

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

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

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

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

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Тогда при нажатии на кнопку ошибка такая:
Цитировать
{Документ.ЗаказПокупателя.МодульМенеджера(8225)}: Ошибка при вызове метода контекста (Выполнить)
   Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(5, 2)}: Неправильный псевдоним "ЗаказПокупателя.Работы."
<<?>>ЗаказПокупателя.Работы.(

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Пока вариант единственный - ТЧ документа у Вас НЕ Работы называется...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 300
Последний ответ 21 Сен 2017, 10:33
от Insider
Не работает структура подчиненности документов "Требование-накладная" и "Передач

Автор sv_stas_svРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4105
Последний ответ 10 Мар 2011, 07:36
от sv_stas_sv
Дин.список отбор данных - не работает код при тех же данных

Автор Аля ТинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 128
Последний ответ 15 Дек 2017, 14:36
от alex0402
Не работает кнопка "установить интервал дат"

Автор depp_juniorРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3691
Последний ответ 11 Июл 2014, 18:07
от LexaK
не работает отчет "Выработка сотрудника" в ЗУП2.5.35.3

Автор a_a2001Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3772
Последний ответ 20 Июн 2011, 11:14
от Zvezo

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
53 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

  • Точка Гостей: 246
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal