кусок модуля, если кому интересно
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Функция СведенияОВнешнейОбработке() Экспорт
Перем ПараметрыРегистрации;
Если ОбщегоНазначения.ПодсистемаСуществует(«СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки») Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработки»);
МодульДополнительныеОтчетыИОбработкиКлиентСервер = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработкиКлиентСервер»);
ПараметрыРегистрации = МодульДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(«2.1.3.1»);
ПараметрыРегистрации.Вид = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = «2017.08.17»;
ПараметрыРегистрации.БезопасныйРежим = Ложь;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = ЭтотОбъект.Метаданные().Представление();
НоваяКоманда.Идентификатор = «ОткрытьОтчет»;
НоваяКоманда.Использование = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Ложь;
//Команды — ТаблицаЗначений — Необязательный для отчетов. Настройки команд, поставляемых внешним объектом.
//** Идентификатор — Строка — Внутреннее имя команды.
// Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):
// Идентификатор может содержать имена одной или нескольких команд печати,
// разделенных запятыми. Подробнее см. описание колонки Идентификатор
// в функции СоздатьКоллекциюКомандПечати() общего модуля УправлениеПечатью.
//
//** Представление — Строка — Пользовательское представление команды.
//
//** Использование — Строка — Тип команды.
// Для определения рекомендуется использовать функции
// ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<ИмяТипа>().
// Шаблоны процедур — обработчиков команд описаны в комментариях к этим функциям.
//
// Также Использование можно определить явно:
// *** «ВызовКлиентскогоМетода»
// *** «ВызовСерверногоМетода»
// *** «ЗаполнениеФормы»
// *** «ОткрытиеФормы»
// *** «СценарийВБезопасномРежиме».
//
//** ПоказыватьОповещение — Булево — Истина = при запуске команды будет показано стандартное оповещение.
// Не работает для команд по открытию формы (когда Использование = «ОткрытиеФормы»).
//
//** Модификатор — Строка — Дополнительная классификация команды.
// Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):
// *** «ПечатьMXL» — для печатных форм на основе табличных макетов.
// Для загрузки данных из файла (когда Вид = «ПечатнаяФорма» и Использование = «ЗагрузкаДанныхИзФайла»):
// Модификатор является обязательным для заполнения
// и должен содержать полное имя объекта метаданных (справочника),
// для которого выполняется загрузка данных.
//
//** Скрыть — Булево — Необязательный. Признак того, что это служебная команда.
// Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область ОбработчикиСобытий
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПользовательскиеНастройкиМодифицированы = Ложь;
УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
// Сообщим форме отчета, что настройки модифицированы
Если ПользовательскиеНастройкиМодифицированы Тогда
КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(«ПользовательскиеНастройкиМодифицированы», Истина);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли
Войти или зарегистрироваться
8.х Невозможно осуществить вывод результата
Тема в разделе «Система компоновки данных (СКД)», создана пользователем tarantool, 1 апр 2014.
-
Offline
tarantool
Опытный в 1С- Регистрация:
- 6 сен 2011
- Сообщения:
- 110
- Симпатии:
- 1
- Баллы:
- 29
Добрый день!
Платформа 8.3.4.389
Конфигурация нетиповая.
Отчет создан на СКД. Открывается из документа. В отчете в коде ничего не прописано, кроме как
в процедуре формы отчета указана процедура СкомпоноватьРезультат()(чтобы автоматом сформировать отчет при вызове из документа). При открытии отчета все валится в ошибку:Ошибка при вызове метода контекста (СкомпоноватьРезультат)
по причине:
Невозможно осуществить вывод результата
Хотелось бы услышать ваши предположения по поводу данной ошибки, с чем может быть связано, в каких ситуациях возникает и т.п. Заранее всем благодарен. -
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
СкомпоноватьРезультат() где вызывается ? На клиенте, на сервере ?
-
Offline
tarantool
Опытный в 1С- Регистрация:
- 6 сен 2011
- Сообщения:
- 110
- Симпатии:
- 1
- Баллы:
- 29
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
-
Offline
tarantool
Опытный в 1С- Регистрация:
- 6 сен 2011
- Сообщения:
- 110
- Симпатии:
- 1
- Баллы:
- 29
не совсем понял что такое СП…Поясните, пожалуйста
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
-
Offline
tarantool
Опытный в 1С- Регистрация:
- 6 сен 2011
- Сообщения:
- 110
- Симпатии:
- 1
- Баллы:
- 29
написано, что доступен только из модуля формы. Пробовал вызывать и на сервере и на клиенте. Результат один и тот же.
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Про модуль формы я ни строчки не увидел:
tarantool нравится это.
-
Offline
tarantool
Опытный в 1С- Регистрация:
- 6 сен 2011
- Сообщения:
- 110
- Симпатии:
- 1
- Баллы:
- 29
а, мы значит про разные вещи говорим. Есть просто СкомпоноватьРезультат(), есть ОтчетОбъект.СкомпоноватьРезультат(). Сейчас попробую тогда через объект. Во всяком случае спасибо.
-
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Пока еще не за что
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
- Похожие темы
-
8.х
Вывод результата
rina,
6 мар 2008, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 22
- Просмотров:
- 4.044
-
8.х
Вывод результата запроса в двухуровневое дерево
koshak,
22 июн 2010, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 3
- Просмотров:
- 1.656
-
8.х
Вывод результата работы СКД в табличный документ
Zeta,
6 сен 2010, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 4
- Просмотров:
- 13.522
-
8.х
вывод результата запроса
notaSS,
23 янв 2015, в разделе: Конфигурирование на платформе «1С:Предприятие 8»
- Ответов:
- 5
- Просмотров:
- 1.485
- Ваше имя или e-mail:
- У Вас уже есть учётная запись?
-
- Нет, зарегистрироваться сейчас.
- Да, мой пароль:
-
Забыли пароль?
-
Запомнить меня
Поиск
-
- Искать только в заголовках
- Сообщения пользователя:
-
Имена участников (разделяйте запятой).
- Новее чем:
-
- Искать только в этой теме
- Искать только в этом разделе
- Отображать результаты в виде тем
-
Быстрый поиск
- Последние сообщения
Больше…
Доброго времени суток, уважаемые воены 1С и светочи мудрости. Сделал внешний отчет для УТ 11.3, в некоторых случаях не заполняются параметры отчета, при нажатии на кнопку «Сформировать», формы отчета, настроек и т д — общие, типовые. При формировании отчета вызывается фоновое задание, которое в конечном итоге компонует полученный отчет функцией «СкомпоноватьРезультат». Но вот беда, событие ПриКомпоновкеРезультата не срабатывает в отладчике (автоматическое подключение фоновых заданий подключено в конфигураторе). Вопрос к собравшимся — что я делаю не так? Заранее благодарю за ответы.
кусок модуля, если кому интересно #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область СлужебныеПроцедурыИФункции #КонецОбласти #КонецОбласти #КонецЕсли
переименовал внешний отчет, отчет находит параметры, но не заходит в процедуру. что за чертовщина, КАРЛ??!!
а вообще на сервер заход в отладке?
до переименования видимо заходило каким-то образом в процедуру ПриКомпоновке, но место ошибки не совпадало с реальной строкой в измененном модуле, переименовал отчет, заработало. но в процедуру все равно не заходит. кэш?
только Вывести вызывается не в 91-ой, а в 93-й строке обработчика ПриКомпоновкеРезультата, сей косяк был исправлен вызовом установки параметра «ИспользуетсяОтборПоСегментуПартнеров» в общем модуле СегментыСервер из журнала регистрации: {ОбщийМодуль.ВариантыОтчетов.Модуль(2075)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат) по причине: по причине: Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’ по причине: {ВнешнийОтчет.КрутойОтчет.МодульОбъекта}: Ошибка при вызове метода контекста (Вывести) по причине: Ошибка вывода результата по причине: Ошибка при выводе результата по причине: Ошибка получения данных по причине: Ошибка создания набора данных «ДанныеОтчета» по причине: Ошибка при исполнении запроса набора данных по причине: {(79, 69)}: Не задано значение параметра «ИспользуетсяОтборПоСегментуПартнеров» ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = <<?>>&ИспользуетсяОтборПоСегментуПартнеров)) = &П4
соответственно, после переименования отчета все становится хорошо. поэтому и была мысль на кэш.
У тебя кнопка «Сформировать» своя нарисована?
цитирую себя же: «формы отчета, настроек и т д — общие, типовые»
Может все таки дело в отладчике — не ловит фоновое задание. Я в таких случаях чтобы точно убедиться в модуле пишу матерное слово — если все таки зашел, то программа сругнется)
Тэги:
Комментарии доступны только авторизированным пользователям
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
1 |
|
1C 8.x Макеты в СКД — Нужно вывести итоги по некоторым полям28.07.2014, 16:40. Показов 31764. Ответов 27
8.3. Делаю внешний отчет с макетом в СКД. Нужно вывести итоги по некоторым полям. Все, кроме итогов выводится нормально. Как только не пытался сделать: Через макет с типом «Общий итог …», группировки в настройках разные делал, с именем тоже. Кучу уроков нашел по этому вопросу, но так ничего и не сработало. Что делать? 0 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
29.07.2014, 16:48 |
21 |
SHIFT_969, сработало? 1 |
SHIFT_969 Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
||||
29.07.2014, 17:20 [ТС] |
22 |
|||
GreenkO, {Форма.ФормаОтчета.Форма(6)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат) Добавлено через 15 минут
0 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
29.07.2014, 17:22 |
23 |
SHIFT_969, см. синтакс-помощник 1 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
29.07.2014, 17:26 [ТС] |
24 |
Сделал кнопку, но заменить ее, если выбирать всое действие, нельзя, появляется стандартная. 0 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
29.07.2014, 17:32 |
25 |
РешениеSHIFT_969, создайте свою командную панель (стандартную уберите), в нее добавьте вашу кнопку и все необходимые команды формы. 1 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
29.07.2014, 19:31 |
26 |
duk337, Объясните словами пожалуйста, зачем в моем отчете, где не считается никакая скидка, нет цен, прайсов и уценок, а ресурс, которому нужно вывести итог и так имеет выражение «Сумма()» вычислять какую-то скидку? Виноват! Посмотрел по ссылке, и решил, что проблема в расчете % в итогах. Типовая проблема. И удивился, к чему макет 0 |
Dethmontt |
29.07.2014, 23:07 |
Не по теме: duk337,читай темы вертикально! =))) 0 |
duk337 |
30.07.2014, 10:17 |
Не по теме: Dethmontt, скажи ещё, начиная с первого поста :о) 0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
30.07.2014, 10:17 |
28 |
Тема: Задача 2.2 (Прочитано 5953 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Решение выполнено в конструкторе СКД без программирования.
Вложения:
2_2.zip
Записан
добрый день!изменяю, как по примеру, типовой,при выполнении вылезает ошибка:
{ОбщаяФорма.ФормаОтчета.Форма(1148)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);
по причине:
Ошибка исполнения отчета
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка
что не так?
разобрался)
« Последнее редактирование: Июнь 18, 2013, 11:42:29 am от ru »
Записан
такая же ошибка. пока не нашла в каком именно месте. у вас где была?
« Последнее редактирование: Июнь 19, 2013, 02:24:28 pm от Анастасия »
Записан
во вкладке макет СКД, там где вывод параметром, есть имя параметра «Номенклатура» в разных областях, я его переименовал(ну например, номенклатура1 и номенклатура2)
Записан
Gray, не обязательно добавлять в макет «валюту отчета», можно в скд на закладке другие настройки поставить галку «отображать параметры»—«выводить». Думаю так правильнее будет. Остальное все ОК.
Записан
А дата курса валюты должна выбираться в диалоге отчета, судя по заданию…
Записан
Цитата Gray ()
Решение выполнено в конструкторе СКД без программирования. Прикрепления: 2_2.zip(262Kb)
В задании поставлена задача вывести несколько видов цен и каждый вид цен должен выводиться в валюте вида цены и выбранной валюте. Я так понял задание. А в данном решении просто пересчитывается одна валюта в другую. Выкладываю своё решение. Если будут замечания пишите
Вложения:
03.erf
Записан
Актуализирую, под новую версию конфигурации. Решал на 11.1.10.172.
Изначально я понял задачу что руководству компании нужно выводить отчёт В валюте выбранной цены и В валюте выбранной пользоватлем. т.е. у меня 2-е колонки: валюта цены и валюта формы. Постановка задачи не точна. Если у нас три разных понимания того что хочет заказчик.
Записан
Актуализирую, под новую версию конфигурации. Решал на 11.1.10.172.
Изначально я понял задачу что руководству компании нужно выводить отчёт В валюте выбранной цены и В валюте выбранной пользоватлем. т.е. у меня 2-е колонки: валюта цены и валюта формы. Постановка задачи не точна. Если у нас три разных понимания того что хочет заказчик.
Хоть бы пометил свои изменения в отчете, не учили такому? ))
Записан
кусок модуля, если кому интересно
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Функция СведенияОВнешнейОбработке() Экспорт
Перем ПараметрыРегистрации;
Если ОбщегоНазначения.ПодсистемаСуществует(«СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки») Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработки»);
МодульДополнительныеОтчетыИОбработкиКлиентСервер = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработкиКлиентСервер»);
ПараметрыРегистрации = МодульДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(«2.1.3.1»);
ПараметрыРегистрации.Вид = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = «2017.08.17»;
ПараметрыРегистрации.БезопасныйРежим = Ложь;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = ЭтотОбъект.Метаданные().Представление();
НоваяКоманда.Идентификатор = «ОткрытьОтчет»;
НоваяКоманда.Использование = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Ложь;
//Команды — ТаблицаЗначений — Необязательный для отчетов. Настройки команд, поставляемых внешним объектом.
//** Идентификатор — Строка — Внутреннее имя команды.
// Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):
// Идентификатор может содержать имена одной или нескольких команд печати,
// разделенных запятыми. Подробнее см. описание колонки Идентификатор
// в функции СоздатьКоллекциюКомандПечати() общего модуля УправлениеПечатью.
//
//** Представление — Строка — Пользовательское представление команды.
//
//** Использование — Строка — Тип команды.
// Для определения рекомендуется использовать функции
// ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<ИмяТипа>().
// Шаблоны процедур — обработчиков команд описаны в комментариях к этим функциям.
//
// Также Использование можно определить явно:
// *** «ВызовКлиентскогоМетода»
// *** «ВызовСерверногоМетода»
// *** «ЗаполнениеФормы»
// *** «ОткрытиеФормы»
// *** «СценарийВБезопасномРежиме».
//
//** ПоказыватьОповещение — Булево — Истина = при запуске команды будет показано стандартное оповещение.
// Не работает для команд по открытию формы (когда Использование = «ОткрытиеФормы»).
//
//** Модификатор — Строка — Дополнительная классификация команды.
// Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):
// *** «ПечатьMXL» — для печатных форм на основе табличных макетов.
// Для загрузки данных из файла (когда Вид = «ПечатнаяФорма» и Использование = «ЗагрузкаДанныхИзФайла»):
// Модификатор является обязательным для заполнения
// и должен содержать полное имя объекта метаданных (справочника),
// для которого выполняется загрузка данных.
//
//** Скрыть — Булево — Необязательный. Признак того, что это служебная команда.
// Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.
КонецЕсли;
Возврат ПараметрыРегистрации;
КонецФункции
#КонецОбласти
#Область ОбработчикиСобытий
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПользовательскиеНастройкиМодифицированы = Ложь;
УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
// Сообщим форме отчета, что настройки модифицированы
Если ПользовательскиеНастройкиМодифицированы Тогда
КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(«ПользовательскиеНастройкиМодифицированы», Истина);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#КонецЕсли
Тамика Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
||||||||
1 |
||||||||
Ошибка выполнения запроса: выражение не может быть вычислено21.03.2017, 13:56. Показов 4821. Ответов 14 Метки нет (Все метки)
Всем добрый день! Вылазит ошибка при создании кастомного отчёта
Хочу решить проблему, но не знаю как подойти… Строка, в которой возникает ошибка, такая (процедура ПриОткрытии())
Когда иду отладчиком — сразу падает при попытке зайти в СкомпоноватьРезультат… И не очень понятно, что за переменная ЭлементыФормы.Результат? Что-то не так в ней, видимо. Откуда она берётся и как узнать, что это за ошибка? Заранее спасибо!
0 |
Phil 434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
||||
21.03.2017, 14:06 |
2 |
|||
«Сумма(ЕстьNull(НаборДанных1.СуммаВВалютеБюджетаДляИтогов, 0)), Бюджет» а сам запрос можно пройти?
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 14:15 [ТС] |
3 |
Phil, вот только нашла сам запрос… Добавлено через 1 минуту Добавлено через 4 минуты
0 |
1190 / 729 / 211 Регистрация: 22.04.2013 Сообщений: 5,363 Записей в блоге: 1 |
|
21.03.2017, 14:27 |
4 |
ОтчетОбъект.<Имя отчета>.СкомпоноватьРезультат
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 14:29 [ТС] |
5 |
Yulunga, ОтчетОбъект.СметаРасходов.СкомпоноватьРезультат(ЭлементыФормы.Результат); з.ы. не помогло. Ругнулось, что не знает что такое СметаРасходов.
0 |
Yulunga 1190 / 729 / 211 Регистрация: 22.04.2013 Сообщений: 5,363 Записей в блоге: 1 |
||||
21.03.2017, 15:06 |
6 |
|||
я как правильно не знаю, но погуглил и в нескольких местах пишут, что
тут расшифровки нет, но оно и необязательный параметр. попробуйте написать Форма. ? ну или как там у вас её зовут
1 |
3052 / 1999 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
21.03.2017, 15:09 |
7 |
ЭтаФорма.СкомпоноватьРезультат()
1 |
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
21.03.2017, 15:10 |
8 |
Тамика, Посмотри в самом отчете скд на закладке ресурсы
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 15:11 [ТС] |
9 |
ЭтаФорма.СкомпоноватьРезультат() Не помогло, та же ошибка. Добавлено через 25 секунд
Тамика, Посмотри в самом отчете скд на закладке ресурсы Да, я нашла эту злополучную формулу.
0 |
Yulunga 1190 / 729 / 211 Регистрация: 22.04.2013 Сообщений: 5,363 Записей в блоге: 1 |
||||||||
21.03.2017, 15:26 |
10 |
|||||||
может не
, а
?
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 15:29 [ТС] |
11 |
Yulunga, в самой формуле так и есть. 1С-ка сковеркала скобки в служебных сообщениях.
0 |
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
21.03.2017, 15:32 |
12 |
РешениеТамика, может просто скд не может вычислить значение по полю бюджет
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 15:34 [ТС] |
13 |
Phil, может быть… Но это поле используется практически во всех формулах, а ошибка только в одной.
0 |
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
21.03.2017, 16:09 |
14 |
Тамика, без неё работает?
1 |
Котовчанин 942 / 482 / 200 Регистрация: 16.02.2010 Сообщений: 3,338 Записей в блоге: 37 |
|
21.03.2017, 16:44 [ТС] |
15 |
РешениеPhil, проблема решена! Оказалось, что проблема в том, что поле Бюджет имеет одинаковое имя во всех наборах данных.
0 |
Тема: Задача 2.6 (Прочитано 12526 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Делаю задачу 2.6 по аналогии с задачей 2.4 из предыдущего сборника задачек.
Все время выдает ошибку «Значение не является значением объектного типа (Значение)».
Если не сложно, посмотрите пожалуйста, в чем там дело, всю голову уже сломала…
Вложения:
_2.6.erf
Записан
В схеме СКД отсутствует параметры ИспользуетсяОтборПоСегментуНоменклатуры и ИспользуетсяОтборПоСегментуПартнеров, а в модуле объекта данные параметры обрабатываются. Посмотрите оригинальный отчёт ВыручкаИСебестоимостьПродаж в конфигурации.
Записан
Решил задачу модификацией штатного отчёта ВыручкаИСебестоимостьПродаж. В запросе подтягивается плановая стоимость (плановая цена номенклатуры * количество) и в вычисляемых полях определяем разницу между планом и факту. Видимо по данной задаче проверяется владеет ли кандидат вычисляемыми полями СКД. Новые поля внесены во все варианты отчёта.
Вложения:
_2_6.erf
Записан
а у кого нить такая ошибка возникала:
{ОбщаяФорма.ФормаОтчета.Форма(1148)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);
по причине:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’
по причине:
{Отчет.ВыручкаИСебестоимостьПродаж.МодульОбъекта(18)}: Ошибка при вызове метода контекста (Выполнить)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
по причине:
Ошибка компоновки макета
по причине:
Не установлено значение параметра «ДанныеПоПродажам»
что за параметр???
Записан
Gray, спасибо, пойду исправлять!)
Записан
Задания не сложное, но у меня один вопрос, не могу понять почему, в прикрепленном файле 2_6_ запрос в СКД по таблице цен номенклатуры имеет параметры виртуальной таблицы
Код
ВидЦены = &ВидЦены
И (Номенклатура, Характеристика) В
(ВЫБРАТЬ
врПодготовленнаяОтбор.Номенклатура,
врПодготовленнаяОтбор.Характеристика
ИЗ
врПодготовленная КАК врПодготовленнаяОтбор)
так вот ругается на поле характеристики:
Цитата
{Форма.ФормаОтчета.Форма(1148)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);
по причине:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’
по причине:
{ВнешнийОтчет.ВыручкаИСебестоимостьПродаж.МодульОбъекта(26)}: Ошибка при вызове метода контекста (Инициализировать)
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
по причине:
Ошибка компоновки данных
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных «ВыручкаИСебестоимостьПродаж»
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(171, 30)}: Поле не найдено «врПодготовленнаяОтбор.Характеристика»
врПодготовленнаяОтбор.<<?>>Характеристика
Не могу понять почему, можно конечно не ограничивать параметры виртуальной таблицы по характеристикам, но как то неприятно
Вложения:
2_6.erf
2_6_.erf
Записан
Glime, варианты не рабочие, у меня выдаёт ошибку:
Поле не найдено «врПодготовленнаяОтбор.Номенклатура»
врПодготовленнаяОтбор.<<?>>Номенклатура,
Соответственно и характеристика будет тоже не найдена….
Записан
Nechipury, ты скачал 2_6_(как раз описана эта проблема выше), попробуй 2_6.
Записан
Gray,ток вопрос у меня!
в задаче написано разница продажной стоимости и плановой стоимости, а в своём отчете ты отнимаешь СебестоимостьИтоги — ПлановаяСтоимость,
может надо отнимать от Выручки?
Записан
здравствуйте, а подскажите пожалуйста по задаче, пользователь должен сам выбирать Вид цены, или же нужно жестко прикручивать к виду цены Плановая себестоимость?
Записан
Задачка казалась элементарной, попалась на экзамене, но в итоге поставили 2 за:
«Задача на конфигурирование: не учитывается валюта, не учитываются единицы измерения,использование условия в запросе вместо отбора в параметрах ВТ». Так что к задаче стоит подойти гораздо щепетильнее. Конечно, про параметры ВТ знала, просто на экзамене не взлетело с ними сделать, поэтому пришлось сделать через условие. Ну по крайней мере опыт,что оценивают строго. Всем удачи, друзья!
Записан
Выкладываю с учтенной валютой, параметрами виртуальных таблиц и упаковкой. Прошу критики.
Вложения:
9828193.erf
Записан
gugenotka, у меня то же самое
Цитата
Задача на конфигурирование: задание выполнено неверно, не учитывается валюта, не учитываются единицы измерения, не учитывается количество, предусмотрена возможность очистки поля, приводящая к ошибке; Задача пользователя: описание отсутствует
нужно проверять заполненность и корректность вводимых данных?
какое еще описание должно быть?
зачем учитывать упаковки и валюты, если в задании не сказано, что учет ведется по нескольким валютами и используются упаковки.(((
В описании требований к экзамену на сайте 1c.ru об этом не сказано.
« Последнее редактирование: Ноябрь 18, 2013, 02:40:50 pm от Nathalie »
Записан
В моем решении, учитываются разные комбинации валют, также сделан пересчет цен для номенклатуры в упаковках.
Оцените решение.
Вложения:
7409900.erf
« Последнее редактирование: Январь 29, 2014, 07:14:09 pm от Сергей »
Записан
Попалась на экзамене, сделал ну примерно как Nylander, делил на коэффициент упаковки, 2 таблицы с курсами валют для вида цены и для валюты учета. Вид цены завел предопределенный, поле разница сделал вычисляемым, чтобы не дублировать в запросе. В примере завел плановую себестоимость в долларах, на одну из позиций указал цену за упаковку. Отчет зарегистрировал как внешнюю обработку. Оценка 5.
« Последнее редактирование: Апрель 12, 2014, 09:47:35 am от Александр »
Записан
Алексей Веревочников Посетитель Сообщений: 216 |
#1
05.05.2014 12:43:02 Здравствуйте. Используем ААА 5.0.10.02 на платформе 8.2.17.143. Для справочника «Номенклатура» завели дополнительное свойство, которое условно назовем «Группа товаров». Типом значений этого свойства установили «Значения свойств» и создали перечень необходимых нам групп. Проблема возникает в настройках отчетов в разделе «Отборы». Когда в список отборов мы добавляем созданное свойство и пытаемся открыть окно выбора значения этого свойства, появляется сообщение:
Если вид сравнения стоит «Равно», то, в принципе, проблема решается ручным впечатыванием в поле названия нужного значения свойства. А вот как быть с видом сравнения «В списке» мы не придумали. Это баг? |
||
Добрый день. |
|
В продолжении темы. У меня также есть доп.свойства на различные элементы учета. Одно из них -гарантийная претензия на документ заказ-наряд.Раньше для гарантийщика в сводной ведомости выставлял доп поле по этому свойству в группировке по заказ-нарядам и формировал отчет -ему удобно отслеживать выставленные ГП. После обновления на 5.0.10.02 сейчас при попытки сформировать данный отчет выдает ошибку: http://rarus.ru/forum/forum7/topic6032/ Как исправить? |
|
Виктор Радько Посетитель Сообщений: 964 |
#4
06.05.2014 12:06:22
На релизе 5.0.11.06 воспроизвести не удалось, настройки отчета такие:
Совершено разные ошибки. Эту ошибку исправили в релизе 5.0.11.06. Ошибка воспроизводилась только на серверных базах. Достаточно заменить отчет.
|
||||||
Дмитрий Ворожейкин Посетитель Сообщений: 650 |
#5
07.05.2014 01:45:05
Завтра попробую организовать доступ, но 100% гарантии дать не могу,что получиться. Сейчас еще нашел в отчете проблему. Раньше мог доп. поля вытащить в отдельную колонку рядом с полем группировки, сейчас расположение доп. поля -только в одном столбце с группировкой, через запятую. Пользователям это не удобно, исправить как то можно? (Или где это сейчас настраивается?) |
||
Виктор Радько Посетитель Сообщений: 964 |
#6
07.05.2014 11:07:34
Данная возможность есть. Нажмите кнопку командной панели «Параметры отчета» в форме «Настройки отчета». Для параметра «Расположение реквизитов» установите значение «Отдельно». |
||
Дмитрий Ворожейкин Посетитель Сообщений: 650 |
#7
13.05.2014 00:26:36
спасибо, помогло. никак не привыкну к новому «дизайну» отчетов |
||