Ошибка при вызове метода контекста скомпоноватьрезультат невозможно осуществить вывод результата

кусок модуля, если кому интересно

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

    
#Область СлужебныеПроцедурыИФункции

Функция СведенияОВнешнейОбработке() Экспорт

    
    Перем ПараметрыРегистрации;

    
    Если ОбщегоНазначения.ПодсистемаСуществует(«СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки») Тогда

        

        МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработки»);

        МодульДополнительныеОтчетыИОбработкиКлиентСервер = ОбщегоНазначения.ОбщийМодуль(«ДополнительныеОтчетыИОбработкиКлиентСервер»);

        ПараметрыРегистрации = МодульДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(«2.1.3.1»);

        

        ПараметрыРегистрации.Вид = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();

        ПараметрыРегистрации.Версия = «2017.08.17»;

        ПараметрыРегистрации.БезопасныйРежим = Ложь;

        

        НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();

        НоваяКоманда.Представление = ЭтотОбъект.Метаданные().Представление();

        НоваяКоманда.Идентификатор = «ОткрытьОтчет»;

        НоваяКоманда.Использование = МодульДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

        НоваяКоманда.ПоказыватьОповещение = Ложь;

        //Команды — ТаблицаЗначений — Необязательный для отчетов. Настройки команд, поставляемых внешним объектом.

        

       //** Идентификатор — Строка — Внутреннее имя команды.

       //    Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):

       //      Идентификатор может содержать имена одной или нескольких команд печати,

       //      разделенных запятыми. Подробнее см. описание колонки Идентификатор

       //      в функции СоздатьКоллекциюКомандПечати() общего модуля УправлениеПечатью.

       //

       //** Представление — Строка — Пользовательское представление команды.

       //

       //** Использование — Строка — Тип команды.

       //    Для определения рекомендуется использовать функции

       //    ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<ИмяТипа>().

       //    Шаблоны процедур — обработчиков команд описаны в комментариях к этим функциям.

       //    

       //    Также Использование можно определить явно:

       //    *** «ВызовКлиентскогоМетода»

       //    *** «ВызовСерверногоМетода»

       //    *** «ЗаполнениеФормы»

       //    *** «ОткрытиеФормы»

       //    *** «СценарийВБезопасномРежиме».

       //

       //** ПоказыватьОповещение — Булево — Истина = при запуске команды будет показано стандартное оповещение.

       //    Не работает для команд по открытию формы (когда Использование = «ОткрытиеФормы»).

       //

       //** Модификатор — Строка — Дополнительная классификация команды.

       //    Для внешних печатных форм (когда Вид = «ПечатнаяФорма»):

       //      *** «ПечатьMXL» — для печатных форм на основе табличных макетов.

       //    Для загрузки данных из файла (когда Вид = «ПечатнаяФорма» и Использование = «ЗагрузкаДанныхИзФайла»):

       //      Модификатор является обязательным для заполнения

       //      и должен содержать полное имя объекта метаданных (справочника),

       //      для которого выполняется загрузка данных.

       //

       //** Скрыть — Булево — Необязательный. Признак того, что это служебная команда.

       //    Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.

    КонецЕсли;

    
    Возврат ПараметрыРегистрации;

    
КонецФункции

#КонецОбласти

#Область ОбработчикиСобытий

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

    

    СтандартнаяОбработка = Ложь;

    ПользовательскиеНастройкиМодифицированы = Ложь;

    УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);

    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();

    

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

    // Сообщим форме отчета, что настройки модифицированы

    Если ПользовательскиеНастройкиМодифицированы Тогда

        
        КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить(«ПользовательскиеНастройкиМодифицированы», Истина);

        
    КонецЕсли;

    
КонецПроцедуры

#КонецОбласти

#КонецЕсли

Войти или зарегистрироваться

8.х Невозможно осуществить вывод результата

Тема в разделе «Система компоновки данных (СКД)», создана пользователем tarantool, 1 апр 2014.

  1. TopicStarter Overlay

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    Добрый день!
    Платформа 8.3.4.389
    Конфигурация нетиповая.
    Отчет создан на СКД. Открывается из документа. В отчете в коде ничего не прописано, кроме как
    в процедуре формы отчета указана процедура СкомпоноватьРезультат()(чтобы автоматом сформировать отчет при вызове из документа). При открытии отчета все валится в ошибку:

    Ошибка при вызове метода контекста (СкомпоноватьРезультат)
    по причине:
    Невозможно осуществить вывод результата

    Хотелось бы услышать ваши предположения по поводу данной ошибки, с чем может быть связано, в каких ситуациях возникает и т.п. Заранее всем благодарен.

  2. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    СкомпоноватьРезультат() где вызывается ? На клиенте, на сервере ?

  3. TopicStarter Overlay

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29
  4. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
  5. TopicStarter Overlay

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    не совсем понял что такое СП…Поясните, пожалуйста

  6. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204
  7. TopicStarter Overlay

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    написано, что доступен только из модуля формы. Пробовал вызывать и на сервере и на клиенте. Результат один и тот же.

  8. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Про модуль формы я ни строчки не увидел:


    tarantool нравится это.

  9. TopicStarter Overlay

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    а, мы значит про разные вещи говорим. Есть просто СкомпоноватьРезультат(), есть ОтчетОбъект.СкомпоноватьРезультат(). Сейчас попробую тогда через объект. Во всяком случае спасибо.

  10. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Пока еще не за что :)

(Вы должны войти или зарегистрироваться, чтобы ответить.)

Показать игнорируемое содержимое

Похожие темы

  1. rina

    8.х
    Вывод результата

    rina,
    6 мар 2008
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»

    Ответов:
    22
    Просмотров:
    4.044

  2. koshak

    8.х
    Вывод результата запроса в двухуровневое дерево

    koshak,
    22 июн 2010
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»

    Ответов:
    3
    Просмотров:
    1.656

  3. Zeta

    8.х
    Вывод результата работы СКД в табличный документ

    Zeta,
    6 сен 2010
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»

    Ответов:
    4
    Просмотров:
    13.522

  4. notaSS

    8.х
    вывод результата запроса

    notaSS,
    23 янв 2015
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»

    Ответов:
    5
    Просмотров:
    1.485
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

Доброго времени суток, уважаемые воены 1С и светочи мудрости. Сделал внешний отчет для УТ 11.3, в некоторых случаях не заполняются параметры отчета, при нажатии на кнопку «Сформировать», формы отчета, настроек и т д — общие, типовые. При формировании отчета вызывается фоновое задание, которое в конечном итоге компонует полученный отчет функцией «СкомпоноватьРезультат». Но вот беда, событие ПриКомпоновкеРезультата не срабатывает в отладчике (автоматическое подключение фоновых заданий подключено в конфигураторе). Вопрос к собравшимся — что я делаю не так? Заранее благодарю за ответы.

кусок модуля, если кому интересно #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда      #Область СлужебныеПроцедурыИФункции #КонецОбласти #КонецОбласти #КонецЕсли

переименовал внешний отчет, отчет находит параметры, но не заходит в процедуру. что за чертовщина, КАРЛ??!!

а вообще на сервер заход в отладке?

до переименования видимо заходило каким-то образом в процедуру ПриКомпоновке, но место ошибки не совпадало с реальной строкой в измененном модуле, переименовал отчет, заработало. но в процедуру все равно не заходит. кэш?

только Вывести вызывается не в 91-ой, а в 93-й строке обработчика ПриКомпоновкеРезультата, сей косяк был исправлен вызовом установки параметра «ИспользуетсяОтборПоСегментуПартнеров» в общем модуле СегментыСервер из журнала регистрации: {ОбщийМодуль.ВариантыОтчетов.Модуль(2075)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат) по причине: по причине: Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’ по причине: {ВнешнийОтчет.КрутойОтчет.МодульОбъекта}: Ошибка при вызове метода контекста (Вывести) по причине: Ошибка вывода результата по причине: Ошибка при выводе результата по причине: Ошибка получения данных по причине: Ошибка создания набора данных «ДанныеОтчета» по причине: Ошибка при исполнении запроса набора данных по причине: {(79, 69)}: Не задано значение параметра «ИспользуетсяОтборПоСегментуПартнеров» ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = <<?>>&ИспользуетсяОтборПоСегментуПартнеров)) = &П4

соответственно, после переименования отчета все становится хорошо. поэтому и была мысль на кэш.

У тебя кнопка «Сформировать» своя нарисована?

цитирую себя же: «формы отчета, настроек и т д — общие, типовые»

Может все таки дело в отладчике — не ловит фоновое задание. Я в таких случаях чтобы точно убедиться в модуле пишу матерное слово — если все таки зашел, то программа сругнется)

Тэги:

Комментарии доступны только авторизированным пользователям

В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

Исправляем ситуацию

Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.

Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:


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

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.


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

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.

Злой самаритянин

182 / 182 / 94

Регистрация: 24.04.2014

Сообщений: 686

1

1C 8.x

Макеты в СКД — Нужно вывести итоги по некоторым полям

28.07.2014, 16:40. Показов 31764. Ответов 27


8.3. Делаю внешний отчет с макетом в СКД. Нужно вывести итоги по некоторым полям. Все, кроме итогов выводится нормально. Как только не пытался сделать: Через макет с типом «Общий итог …», группировки в настройках разные делал, с именем тоже.

Кучу уроков нашел по этому вопросу, но так ничего и не сработало. Что делать?

0

Эксперт 1С

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)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
ЭтаФорма.СкомпоноватьРезультат(Таб);
по причине:
Несоответствие типов (параметр номер ‘1’)

Добавлено через 15 минут
Вот с таким текстом и значением «Итоги» белого цвета на белом фоне под пустой строкой, оно работает! Только по специальной кнопке. Не самый изящный вариант, но хоть что-то. Как прописать автоматическое формирование отчета?

1C
1
2
3
ОбластьЯчеекКУдалению = Результат.НайтиТекст("Итоги");
Область = Результат.Область(ОбластьЯчеекКУдалению.Верх-1, , ОбластьЯчеекКУдалению.Верх-1);
Результат.УдалитьОбласть(Область, ТипСмещенияТабличногоДокумента.ПоВертикали);

0

Эксперт 1С

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

Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

29.07.2014, 17:32

25

Лучший ответ Сообщение было отмечено SHIFT_969 как решение

Решение

SHIFT_969, создайте свою командную панель (стандартную уберите), в нее добавьте вашу кнопку и все необходимые команды формы.

1

2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

29.07.2014, 19:31

26

Цитата
Сообщение от SHIFT_969
Посмотреть сообщение

duk337, Объясните словами пожалуйста, зачем в моем отчете, где не считается никакая скидка, нет цен, прайсов и уценок, а ресурс, которому нужно вывести итог и так имеет выражение «Сумма()» вычислять какую-то скидку?

Виноват! Посмотрел по ссылке, и решил, что проблема в расчете % в итогах. Типовая проблема. И удивился, к чему макет Издержки диагонального просмотра.

0

Dethmontt

29.07.2014, 23:07

Не по теме:

duk337,читай темы вертикально! =))) :)

0

duk337

30.07.2014, 10:17


    1C 8.x Макеты в СКД — Нужно вывести итоги по некоторым полям

Не по теме:

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-е колонки: валюта цены и валюта формы. Постановка задачи не точна. Если у нас три разных понимания того что хочет заказчик.

Хоть бы пометил свои изменения в отчете, не учили такому? ))


Записан



Войти или зарегистрироваться

8.х Невозможно осуществить вывод результата

Тема в разделе «Система компоновки данных (СКД)», создана пользователем tarantool, 1 апр 2014.




0/5,
Голосов: 0
  1. TopicStarter Overlay

    tarantool

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    Добрый день!
    Платформа 8.3.4.389
    Конфигурация нетиповая.
    Отчет создан на СКД. Открывается из документа. В отчете в коде ничего не прописано, кроме как
    в процедуре формы отчета указана процедура СкомпоноватьРезультат()(чтобы автоматом сформировать отчет при вызове из документа). При открытии отчета все валится в ошибку:

    Ошибка при вызове метода контекста (СкомпоноватьРезультат)
    по причине:
    Невозможно осуществить вывод результата

    Хотелось бы услышать ваши предположения по поводу данной ошибки, с чем может быть связано, в каких ситуациях возникает и т.п. Заранее всем благодарен.


    tarantool,
    1 апр 2014
    #1

  2. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    СкомпоноватьРезультат() где вызывается ? На клиенте, на сервере ?


    alexburn,
    1 апр 2014
    #2
  3. TopicStarter Overlay

    tarantool

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    НаКлиенте


    tarantool,
    1 апр 2014
    #3

  4. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    А в СП что написано ?


    alexburn,
    1 апр 2014
    #4
  5. TopicStarter Overlay

    tarantool

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    не совсем понял что такое СП…Поясните, пожалуйста


    tarantool,
    1 апр 2014
    #5

  6. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Синтаксис-помощник.


    alexburn,
    1 апр 2014
    #6

    tarantool нравится это.
  7. TopicStarter Overlay

    tarantool

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    написано, что доступен только из модуля формы. Пробовал вызывать и на сервере и на клиенте. Результат один и тот же.


    tarantool,
    1 апр 2014
    #7

  8. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Про модуль формы я ни строчки не увидел:


    alexburn,
    1 апр 2014
    #8

    tarantool нравится это.
  9. TopicStarter Overlay

    tarantool

    Offline

    tarantool
    Опытный в 1С

    Регистрация:
    6 сен 2011
    Сообщения:
    110
    Симпатии:
    1
    Баллы:
    29

    а, мы значит про разные вещи говорим. Есть просто СкомпоноватьРезультат(), есть ОтчетОбъект.СкомпоноватьРезультат(). Сейчас попробую тогда через объект. Во всяком случае спасибо.


    tarantool,
    1 апр 2014
    #9

  10. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Пока еще не за что :)


    alexburn,
    1 апр 2014
    #10
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Похожие темы

  1. rina

    8.х
    Вывод результата

    rina,
    6 мар 2008
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
    Ответов:
    22
    Просмотров:
    4.044
    Эмин
    27 мар 2008

  2. koshak

    8.х
    Вывод результата запроса в двухуровневое дерево

    koshak,
    22 июн 2010
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
    Ответов:
    3
    Просмотров:
    1.656
    nomad_irk
    22 июн 2010

  3. Zeta

    8.х
    Вывод результата работы СКД в табличный документ

    Zeta,
    6 сен 2010
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
    Ответов:
    4
    Просмотров:
    13.522
    Zeta
    7 сен 2010

  4. notaSS

    8.х
    вывод результата запроса

    notaSS,
    23 янв 2015
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
    Ответов:
    5
    Просмотров:
    1.485
    Nikola
    24 янв 2015

Загрузка…
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

Невозможно осуществить вывод результата ☑ 0

ЗлаяЗая

28.03.23

12:56

Есть отчет. Написан на СКД.

Так понимаю, что поставка с конфигурацией, снят с поддержки, и ХЗ кто и когда его правил.

При запуске пишет «Невозможно осуществить вывод результата».

Подскажите, пожалуйста, как исправить?

1

Волшебник

модератор

28.03.23

13:07

&НаКлиенте
Процедура ПриОткрытии(Отказ)
            
        СформироватьРезультат();         
        
КонецПроцедуры

&НаСервере
Процедура СформироватьРезультат()
    
      ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
      Результат.Очистить(); // Для очистки предыдущих результатов
      ОтчетОбъект.СкомпоноватьРезультат(Результат);        
    
КонецПроцедуры

2

ЗлаяЗая

28.03.23

13:27

(1) Добавила в модуль формы.

Поставила останов на  СформироватьРезультат();

Не останавливается, и ошибка та же выходит.

3

Волшебник

модератор

28.03.23

13:39

(2) включите отладку на сервере

4

ЗлаяЗая

28.03.23

13:59

(3) сделала на половину. Создала новую кнопку. По крайней мере, уже не ругается, что-то крутит, но не выводит.

На сервере никто не даст отладку включить. И тормозить будет. И сервер никто не будет перезагружать просто так.

5

ЗлаяЗая

28.03.23

14:22

Видны почему-то только заголовок и кнопки, а сам отчет нет .

6

Волшебник

модератор

28.03.23

14:24

(5) Вы хоть что-то видите, мы вообще ничего

7

ЗлаяЗая

28.03.23

14:28

(6) :))))

Не вижу, как картинку вставить.

8

Волшебник

модератор

28.03.23

14:29

(7) Вам в партизанки надо

9

ЗлаяЗая

28.03.23

14:31

10

ЗлаяЗая

28.03.23

14:33

а вот в конфигураторе

https://ibb.co/jvFNY1n

11

НЕА123

28.03.23

15:15

12

ЗлаяЗая

28.03.23

15:20

(11) это установлено. Ошибка уже не выходит. Но и отчет тоже :)

13

Мимохожий Однако

28.03.23

15:22

Потренироваться с отладкой локально на файловой версии не удаётся?

14

ЗлаяЗая

28.03.23

15:33

(13) я так понимаю, что отчет формируется. Только, почему-то не выводится.

Даже если отчет пустой, все-равно таблица пустая должна же выйти, хотя бы с заголовками.

15

ЗлаяЗая

28.03.23

15:35

16

Мимохожий Однако

28.03.23

18:44

Попробуй табличный документ записать на диск

Не работает Отчет по зарплатным листкам

Автор Fedrr, 01 сен 2017, 11:32

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

Добрый день!
— Версия 1С — Клиент Сервер
— 1С:Предприятие 8.3 (8.3.10.2466) — платформа сервера и клиента
— Зарплата и управление персоналом, редакция 3.1 (3.1.3.136) — конфигурация
— СУБД Postgres

Все выполняется под Администратором.
При формировании зарплатных листков вылетает ошибка. «В настройку отчёта «Расчётный листок» внесены критичные изменения. У пользователя недостаточно прав на исполнение операций над базой данных

В Журнале Регистрации следующее
Ошибка при формировании:
{ОбщийМодуль.ВариантыОтчетов.Модуль(1752)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
    ОтчетОбъект.СкомпоноватьРезультат(Результат.ТабличныйДокумент, Результат.Расшифровка);
по причине:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’
по причине:
{ОбщийМодуль.ЗарплатаКадрыОтчеты.Модуль(1703)}: В настройку отчета «Расчетный листок» внесены критичные изменения. Отчет не будет сформирован. У пользователя недостаточно прав на исполнение операции над базой данных.
            + » » + КраткоеПредставлениеОшибки(Инфо);

Причем по отдельности для старых сотрудников отчет формируется, а для новых и по всем сотрудникам нет.
Может кто знает в чем проблема может быть?


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

Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google


Цитата: oleg-x от 01 сен 2017, 11:52
Смотрите журнал регистрации по отказу, там будет написано на что конкретно у пользователя нет прав

А где можно посмотреть именно по отказу?
И причем тут права, если пользователь Администратор и права у него полные!?


Цитата: Fedrr от 01 сен 2017, 12:09

Цитата: oleg-x от 01 сен 2017, 11:52
Смотрите журнал регистрации по отказу, там будет написано на что конкретно у пользователя нет прав

А где можно посмотреть именно по отказу?
И причем тут права, если пользователь Администратор и права у него полные!?

ЦитироватьУ пользователя недостаточно прав на исполнение операции над базой данных.

Здесь в ошибке конкретно пишут что у пользователя нет прав, вопрос остается, каких?
По отказу можно посмотреть настроив отбор

Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google


Цитата: oleg-x от 01 сен 2017, 12:12

Цитата: Fedrr от 01 сен 2017, 12:09

Цитата: oleg-x от 01 сен 2017, 11:52
Смотрите журнал регистрации по отказу, там будет написано на что конкретно у пользователя нет прав

А где можно посмотреть именно по отказу?
И причем тут права, если пользователь Администратор и права у него полные!?

ЦитироватьУ пользователя недостаточно прав на исполнение операции над базой данных.

Здесь в ошибке конкретно пишут что у пользователя нет прав, вопрос остается, каких?
По отказу можно посмотреть настроив отбор

Тогда почему по старым сотрудникам Отчет формируется, по новым и по всем нет. Если бы не было прав, вообще бы ничего не формировалось!? Или я что-то не понимаю…
Может в платформе косяк, недавно обновляли!

Добавлено: 01 сен 2017, 12:34


ВОТ ОШИБКА

ОбщийМодуль.ВариантыОтчетов.Модуль(1752)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
по причине:

по причине:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’
по причине:
{ОбщийМодуль.ЗарплатаКадрыОтчеты.Модуль(1703)}: В настройку отчета «Расчетный листок» внесены критичные изменения. Отчет не будет сформирован. У пользователя недостаточно прав на исполнение операции над базой данных.
Но где искать права для этого модуля не знаю. Можете сказать куда дальше смотреть?


Журнал регистрации!
Можно написать в запрос «ВЫБРАТЬ РАЗРЕШЕННЫЕ». Ругаться не будет, но могут быть не все данные. И видно будет чего не хватает.
Но лучше искать сообщения в журнале регистрации.

Спасибо за Сказать спасибо



&НаСервере P.S. Да, через СКД проще. Но блин у всех работает — а у меня не работает..

&НаКлиенте Даже так ругается, на простой -.-

У товарища в все работает. У меня нет =(

У тебя Таб — реквизит формы?

«Таб» вообще только в коде используется. Пояснение — есть листок с текстом и датой. Его надо вывести если кнопку нажмешь на форме..

убери на клиенте  Таб = Новый ТабличныйДокумент;

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

+ формируешь макет на сервере, а показать надо на клиенте

Дык не работает все равно

Через команду главное делает и не ругается. А через отчет — фига там..

выложи cf-ник, т.к. работает

сформировать — станд. команда? Если да, то создай свою команду, должно заработать

Стандартную кнопку Сформировать используешь (если да, то есть в модуле отчета ПриКомпоновкеРезультата)

Угу. Только в этом ошибка? Ппц. Сейчас опробую

О да. Именно в этом и была ошибка. Только я не пойму смысла и логики. Проясните плиз.

типа надо через скд делать, тогда станд. кнопка работает

Стандартная кнопка предназначена для вывода отчета на СКД (а у тебя где-то не хватает данных для этого). Или в модуле определить процедуру ПриКомпоновкеРезультата и в ней выводить.

Я уже делал через скд — да получалось, потом удалил СКД и попытался так и встрял. Всем спасибо за разъяснение. Просто логики 1с ных программистов я иногда не понимаю =)

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  • Ошибка при вызове метода контекста прочитать ошибка разбора xml
  • Ошибка при вызове метода контекста получитьобщиймакет
  • Ошибка при вызове метода контекста прочитать ошибка доступа к файлу
  • Ошибка при вызове метода контекста получитьмакет недопустимое значение параметра параметр номер 1
  • Ошибка при вызове метода контекста прочитать метод недоступен на тонком клиенте