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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

       //

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

       //

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

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

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

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

       //    

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

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

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

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

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

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

       //

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

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

       //

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

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

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

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

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

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

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

       //

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

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

    КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        
    КонецЕсли;

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

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

#КонецЕсли

Делаю отчет в СКД. В качестве набора данных Объект типа таблица значений. В Объекте и имени совпадают имена Таб_ЗН и Таб_ЗН. Все написала как у Хрусталевой. Выдает ошибку: Ошибка исполнения отчета. {Форма.ФормаОтчета.Форма}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)     СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);     по причине: Ошибка исполнения отчета по причине: Ошибка инициализации по причине: Ошибка создания набора данных «Табл_ЗН» по причине: Не найден внешний набор данных «Табл_ЗН»

Не попутала с Таб_Зн и Табл_Зн Так-то все, вроде, ровно

Может у кого пример есть представления набора данных в качестве Таблицы значений?

нет не попутала. Этот код в процедуре ДействиеФормыДействие. Может эту таблицу как-то надо зарегистрировать?

Ничо регистрировать не надо В наборах данных у тебя есть набор данных — объект, скажем так, «НаборДанных1».

Сделала так как здесь все равно не работает.

кинь на ЯД Может, кто-нить посмотрит

Яндекс Диск. Или его аналог.

Положила сюда посмотрите если можете

у меня сформировался , (8.3.8.2054)

Это мой отчет. ТС ссылку попутала

справа — Поделиться ссылкой — вкл.

Вместо той таблицы значений можно взять любую где даже одна колонка

Вот эти 2 последние строчки — зачем?

У меня все получилось. Все большое спасибо!

Тэги: 1С 8

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

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

Автор 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)}: В настройку отчета «Расчетный листок» внесены критичные изменения. Отчет не будет сформирован. У пользователя недостаточно прав на исполнение операции над базой данных.
Но где искать права для этого модуля не знаю. Можете сказать куда дальше смотреть?


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

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



Тема: Задача 2.6  (Прочитано 13006 раз)

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

Делаю задачу 2.6 по аналогии с задачей 2.4 из предыдущего сборника задачек.
 Все время выдает ошибку «Значение не является значением объектного типа (Значение)».
 Если не сложно, посмотрите пожалуйста, в чем там дело, всю голову уже сломала… wacko


Вложения:
_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 от Александр »


Записан



1C 8 Система компоновки данных (СКД): вывод вычисляемых полей при программном формировании отчета

Описание ошибки:
Отчет на СКД формируется программно. При этом используется одно вычисляемое поле, в выражении которого указана экспортная функция глобального модуля. При формировании отчета возникает ошибка:
{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

Найденные решения:

1с 8 скд вывод вычисляемого поля с выражением при программном выводе

1с 8 ошибка при выводе вычисляемого поля с выражением отчета на СКД при программном выводе

Подробное изучение методической информации дало понять, что при программном выводе отчета в коде было отключено использование внешних функций. См. текст из синтаксис-помощника метода Инициализировать() процессора компоновки данных (ПроцессорКомпоновкиДанных):

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>),
где <ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь

Поэтому в код программного вывода отчета было добавлено отсутствующее условие (выделено жирным):

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

Но после этого СКД отказалсь вывести отчет, рапортуя ошибку:

1с 8 скд ошибка вывода вычисляемого поля отчета на СКД использующего выражение с функцией при программном выводе

{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
        ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Функция не найдена «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»

При этом функция по всем правилам была экспортной и к этому моменту проверок размещена в глобальном модуле. Поэтому название модуля было исключено из значения выражения вычисляемого поля системы компоновки данных и отчет вывелся.

1с 8 скд использование функции в выражении вычисляемого поля программно выводимого отчета

А для случая, если функция для расчета выражения вычисляемого поля скд, размещена не в глобальном модуле, то необходимо указать и имя самого модуля, содержащего используемую функцию (пример рис. 01).

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

22-05-2015

Журавлев А.С.
(www.azhur-c.ru)

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка при вызове метода контекста рольдоступна
  • 1с ошибка формата потока на одном компьютере
  • 1с ошибка при вызове метода контекста получитьфоновыезадания
  • 1с ошибка формата потока при запуске конфигуратора sql
  • 1с ошибка формата потока sql сервер

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: