Значение данных расшифровки отсутствует или имеет неверный тип 1с и 1С8.3. УФ. Как убрать ненужные группировки в отчете по системе контроля доступа в режиме предприятия. #759157

Добрый день. Есть внешний отчет на СКД. Как в этом отчете убрать вывод группировки в режиме предприятия? Раньше можно было через меню «Ещё»- «Изменить вариант», а сейчас такого пункта в меню нет.

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

ну поехали. тыкай в сформировать

а по «Показать настройки» точно тыкал?

Точно. Там 3 закладки: Отборы, Сортировка и Оформление.

а кнопка «Расширенные настройки» есть?

гоню. У меня она называется «Вид: Простой расширенный!

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

не исключено, что в схеме выключили пользовательскую доступность группировкам

А где она включается/отключается?

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

В пользовательских настройках (правой кнопкой мыши по Отчет) галочка должна стоять?

шо? Я с похмелья без картинок туго соображаю

вон у тебя есть Группировка, что ты мне мозг насилуешь?

В предприятие я не могу убрать ненужную группировку.(

а скрин из конфигуратора?

Отчет для типовой конфы? Если да, то выкладывай

посмотрел несколько типовых отчетов — в них тоже нет возможности убрать/добавить группировку.(

это в какой конфе так над отчетами издеваются?

зайди на закладку Настройки, ПКМ на Отчет, Свойства элемента пользовательских настроек и посмотри, что там в Группировка, просто интересно даже

я буду долго ржать, если там у Группировки режим редактирования Недоступный

Везде стоит Режим редактирования — быстрый доступ.

тогда должна быть закладка Структура

Ап. Вопрос ещё актуален. Кто знает — помогите.

что, ещё до сих никто не спросил про платформу и конфигурацию?

Платформа 8.3.6.2152. Конфигурацию уже называл (БП 3.0).

Если актуален, то перечитай предыдущие сообщения — как минимум в одном из них есть пища для дальнейших действий

В настройках СКД проверил асе настройки пользовательские. Все галочки вроде стоят.

Форма произвольная? или по умолчанию

у ей сказано, что она употребляет СКД? (или это для обычных только?)

может командная панель заполнена не по умолчанию?автозаполнение стоит?

это называется отладкой в текстовом режиме

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

Не совсем понял. Можно поподробнее.(

Всё, разобрался. Нашёл, как добавить в меню «Ещё» пункт «Изменить вариант». Всем спасибо.

В свойствах управляемой формы есть свойство «Положение командной панели», оно у тебя стоит нет. Выпадающий список команд, который прислал ты — это команды табличного документа. чтобы заработало сделать следующее: нажать стандартные команды, выбрать те, которые тебе нужны и перетащить в ГруппаКоманднаяПанельОтборыДействия.

«посмотрел несколько типовых отчетов — в них тоже нет возможности убрать/добавить группировку.»// Посмотрел только что типовые бухгалтерские отчеты — везде есть возможность добавить / отключить группировку

А ещё подскажите пожалуйста: при нажатии ПКМ на любой ячейке отчета выдаёт ошибку: Значение данных расшифровки отсутствует, либо имеет неправильный тип. В чем может быть проблема?

проблема в криво скопированной форме, однозначно

А ошибку можно как-то исправить?

Ошибку «Значение данных расшифровки отсутствует, либо имеет неправильный тип».

открой конфигуратор, найди ошибку и исправь.

Спасибо. Буду искать и исправлять.

Сделал бы ты лучше новый отчет с нуля, а то в этом много строк кода по программному формированию результата — оно тебе надо?

Читайте также:  Фонд социального страхования Ленинградской области

Ага, скопируй схему, немножко пошамань и удали форму

Разобрался. Чтобы исправить эту ошибку, нужно добавить для «поля табличного документа» событие ОбработкаДополнительнойРасшифровки и в нём прописать Расшифровка = Неопределено.

1С8.3. У Ф. Как в отчете на СКД убрать ненужную группировку в режиме предприятия.☑0
Valerianich ✎

Добрый день.
Есть внешний отчет на СКД. Как в этом отчете убрать вывод группировки в режиме предприятия?
Раньше можно было через меню «Ещё»- «Изменить вариант», а сейчас такого пункта в меню нет.

1
Горогуля ✎

а какие есть?

2
VikingKosmo ✎

3
Valerianich ✎4
Горогуля ✎

5
Valerianich ✎

По всем меню тыкал уже.

6
VikingKosmo ✎

а по «Показать настройки» точно тыкал?

7
Valerianich ✎

Точно. Там 3 закладки: Отборы, Сортировка и Оформление.

8
VikingKosmo ✎

а кнопка «Расширенные настройки» есть?

9
Valerianich ✎10
VikingKosmo ✎

гоню. У меня она называется «Вид: Простой расширенный!

11
VikingKosmo ✎

12
VikingKosmo ✎

13
Valerianich ✎

А где она включается/отключается?

14
VikingKosmo ✎

15
VikingKosmo ✎

в настройках схемы же

16
Valerianich ✎

В пользовательских настройках (правой кнопкой мыши по Отчет) галочка должна стоять?

17
VikingKosmo ✎

шо? Я с похмелья без картинок туго соображаю

18
Valerianich ✎19
VikingKosmo ✎

вон у тебя есть Группировка, что ты мне мозг насилуешь?

20
Valerianich ✎

В предприятие я не могу убрать ненужную группировку.(

21
VikingKosmo ✎

а скрин из конфигуратора?

22
Valerianich ✎23
Cyberhawk ✎

24
Valerianich ✎

25
VikingKosmo ✎

26
Valerianich ✎27
VikingKosmo ✎

28
VikingKosmo ✎

29
Valerianich ✎

Везде стоит Режим редактирования — быстрый доступ.

30
VikingKosmo ✎

тогда должна быть закладка Структура

31
Valerianich ✎32
Valerianich ✎

33
Горогуля ✎

34
Valerianich ✎

Платформа 8.3.6.2152. Конфигурацию уже называл (БП 3.0).

35
Cyberhawk ✎

36
VikingKosmo ✎37
Valerianich ✎

В настройках СКД проверил асе настройки пользовательские. Все галочки вроде стоят.

38
letni88 ✎

39
Valerianich ✎40
Горогуля ✎

41
letni88 ✎

42
Valerianich ✎

Автозаполнение стоит.

43
Cyberhawk ✎44
Valerianich ✎45
Горогуля ✎

это называется отладкой в текстовом режиме
v8: Помогите с Условием

46
letni88 ✎

47
Valerianich ✎

Не совсем понял. Можно поподробнее.(

48
Cyberhawk ✎49
Valerianich ✎

50
letni88 ✎

51
Cyberhawk ✎

«посмотрел несколько типовых отчетов — в них тоже нет возможности убрать/добавить группировку.»// Посмотрел только что типовые бухгалтерские отчеты — везде есть возможность добавить / отключить группировку

52
Valerianich ✎53
Valerianich ✎

54
VikingKosmo ✎

проблема в криво скопированной форме, однозначно

55
Valerianich ✎

А ошибку можно как-то исправить?

56
Valerianich ✎

57
VikingKosmo ✎

открой конфигуратор, найди ошибку и исправь.

58
Valerianich ✎

Спасибо. Буду искать и исправлять.

59
Cyberhawk ✎

60
letni88 ✎

61
Valerianich ✎

Разобрался. Чтобы исправить эту ошибку, нужно добавить для «поля табличного документа» событие ОбработкаДополнительнойРасшифровки() и в нём прописать Расшифровка = Неопределено.

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

Процедура для формирования отчета:
&НаСервере
Функция СформироватьОтчетНаСервере() Экспорт

Если Не ПроверитьЗаполнение() Тогда
        Возврат Новый Структура(«ЗаданиеВыполнено», Истина);
    КонецЕсли;

ДополнительныеСвойства = Отчет. КомпоновщикНастроек. Настройки. ДополнительныеСвойства;

Читайте также:  Фсс россошь телефон номер mail

ИБФайловая = ОбщегоНазначения. ИнформационнаяБазаФайловая();

ИдентификаторЗадания = Неопределено;

ПараметрыОтчета = ПодготовитьПараметрыОтчета();

Если ИБФайловая Тогда
        АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
        БухгалтерскиеОтчетыВызовСервера. СформироватьОтчет(ПараметрыОтчета, АдресХранилища);
        РезультатВыполнения = Новый Структура(«ЗаданиеВыполнено», Истина);
    Иначе
        РезультатВыполнения = ДлительныеОперации. ЗапуститьВыполнениеВФоне(
            УникальныйИдентификатор,
            «БухгалтерскиеОтчетыВызовСервера. СформироватьОтчет»,
            ПараметрыОтчета,
            БухгалтерскиеОтчетыКлиентСервер. ПолучитьНаименованиеЗаданияВыполненияОтчета(ЭтаФорма));

АдресХранилища       = РезультатВыполнения. АдресХранилища;
        ИдентификаторЗадания = РезультатВыполнения. ИдентификаторЗадания;
    КонецЕсли;

Если РезультатВыполнения. ЗаданиеВыполнено Тогда
        ЗагрузитьПодготовленныеДанные();
    КонецЕсли;

Элементы. Сформировать. КнопкаПоУмолчанию = Истина;

Если требуется расшифровка одного отчета СКД при помощи другого отчета СКД, можно использовать представленный вариант. Казалось-бы все просто, однако дело усложняется тем, что с одной стороны, нужно предусмотреть разделение функционала между клиентом и сервером, с другой, нет достаточно четкого описания поведения передачи параметров расшифровки. В итоге: все решается «элементарно», но чтобы дойти до этого, лично мне пришлось убить уйму времени, так что экономьте своё ))). Под «нестандартной расшифровкой» имеется ввиду расшифровка данных одного вида отчета — другим видом, отличным от первого (с предварительной установкой нужных параметров и отборов в отчете-расшифровке).

Обратите внимание, что добавлены еще два варианта реализации подобного функционала:

//infostart.ru/public/161994/, в реализации он еще проще, но имеет некоторые ограничения.

//infostart.ru/public/165599/, в реализации несколько сложнее, но зато позволяет использовать одновременно как стандартную так и нестандартную расшифровку, кроме того он позволяет устанавливать дополнительные параметры отчета-расшифровки.

Оба эти отчета основаны на текущем.

Предположим, что есть некий отчет, при расшифровке которого нужно использовать другой, отличный от первого отчет, или конкретнее:

При расшифровке отчета «НеликвидыНоменклатуры» хочется использовать отчет «АнализДвиженийТоваровСРезервамиУпак», оба отчета самопальные и внедерены в УТ11 (оба отчета во вложении к теме). Т.е. при клике на ячейке с номенклатурой исходного отчета, должен быть построен отчет-расшифровка уже установленным отбором по этой номенклатуре, до кучи можно установить другие параметры отчета расшифровки (например период и склад)

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

Номенклатура = ПолучитьРасшифровкуНаСервере(Расшифровка, ЭтоГруппа);

Тут передается также переменная ЭтоГруппа – для возврата признака выбранной номенклатуры.

ПолучитьРасшифровкуНаСервере(Расшифровка, ЭтоГруппа =

Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); //Здесь основная «недокументированная фишка»: Переменная ДанныеРасшифровки не описана в хелпе, также не описано что Данные, нужно получать путем извлечения из временного хранилища,

Поля = Данные. Элементы. Получить(Расшифровка). ПолучитьПоля(); //Тут получаем поля расшифровки, среди которых находим нужное.

ПолеНоменклатура = Поля. Найти(««);

ПолеНоменклатура = Неопределено

ЭтоГруппа = ПолеНоменклатура. Значение. ЭтоГруппа;

Далее, в основной процедуре, нужно получить форму отчета, которым будем производить расшифровку:

ФормаДТСР = ПолучитьФорму(««);

Получить настройки этого отчета:

Настройки = ФормаДТСР. Отчет. КомпоновщикНастроек. Настройки;

Найти и заполнить нужные параметры и отборы отчета-расшифровки:

ИДНастройкиПериод = Настройки. ПараметрыДанных. Элементы. Найти(««). ИдентификаторПользовательскойНастройки;  //Идентификатор пользовательской настройки «Период»

//Поиск доступных полей отбора по имени:

ПолеСклад = Настройки. Отбор. ДоступныеПоляОтбора. Элементы. Найти(««). Поле;

ПолеНоменклатура = Настройки. Отбор. ДоступныеПоляОтбора. Элементы. Найти(««). Поле;

//Поиск идентификаторов пользовательских настроек по доступным полям настроек (к сожалению только перебором):

ИДЭлмОтбораСклад = «»;

Элемент Настройки. Отбор. Элементы

Элемент. ЛевоеЗначение = ПолеСклад ИДЭлмОтбораСклад = Элемент. ИдентификаторПользовательскойНастройки;         ; ;

ИДЭлмОтбораНоменклатура = «»;

Элемент. ЛевоеЗначение = ПолеНоменклатура ИДЭлмОтбораНоменклатура = Элемент. ИдентификаторПользовательскойНастройки;     ; ;

//Установка отбора по Номенклатуре, которая была получена в самом начале процедуры:

Коллекция = ФормаДТСР. Отчет. КомпоновщикНастроек. ПользовательскиеНастройки. Элементы;

ЭлементОтбораНоменклатуры = Коллекция. Найти(ИДЭлмОтбораНоменклатура);

ЭлементОтбораНоменклатуры. ПравоеЗначение = Номенклатура;

ЭлементОтбораНоменклатуры. Использование = ;

ЭлементОтбораНоменклатуры. ВидСравнения = ?(ЭтоГруппа, ВидСравненияКомпоновкиДанных. ВИерархии, ВидСравненияКомпоновкиДанных. Равно);

//Установка отбора по Складу (из текущего отчета)

КоллекцияЗдесь = ЭтаФорма. Отчет. КомпоновщикНастроек. ПользовательскиеНастройки. Элементы;

Читайте также:  Специальный шифр от фсс подпорожье в г. Подпорожье

НастройкиЗдесь = ЭтаФорма. Отчет. КомпоновщикНастроек. Настройки;

ПолеСкладЗдесь = НастройкиЗдесь. Отбор. ДоступныеПоляОтбора. Элементы. Найти(««). Поле;

ИДЭлмОтбораСкладЗдесь = «»;

Элемент НастройкиЗдесь. Отбор. Элементы

Элемент. ЛевоеЗначение = ПолеСкладЗдесь ИДЭлмОтбораСкладЗдесь = Элемент. ИдентификаторПользовательскойНастройки;         ; ;

ЭлементОтбораСкладЗдесь = КоллекцияЗдесь. Найти(ИДЭлмОтбораСкладЗдесь);

ЭлементОтбораСклад = Коллекция. Найти(ИДЭлмОтбораСклад);

ЭлементОтбораСклад. ПравоеЗначение = ЭлементОтбораСкладЗдесь. ПравоеЗначение;

ЭлементОтбораСклад. Использование = ЭлементОтбораСкладЗдесь. Использование;

ЭлементОтбораСклад. ВидСравнения = ЭлементОтбораСкладЗдесь. ВидСравнения;

ИДНастройкиПериодЗдесь = НастройкиЗдесь. ПараметрыДанных. Элементы. Найти(««). ИдентификаторПользовательскойНастройки;

КонецПериодаЗдесь = КоллекцияЗдесь. Найти(ИДНастройкиПериодЗдесь). Значение. ДатаОкончания;

//Установка параметра Период

Коллекция. Найти(ИДНастройкиПериод). Значение = СтандартныйПериод(ДобавитьМесяц(КонецПериодаЗдесь, -12),КонецПериодаЗдесь);

Для заполнения параметров отчета снова придется вызвать :

СтруктураВозврата = ОбработатьРасшифровкуНаСервере(ФормаДТСР. Отчет, ФормаДТСР. Результат, ФормаДТСР. ДанныеРасшифровки, ФормаДТСР. УникальныйИдентификатор);

ОбработатьРасшифровкуНаСервере( ОтчетХ, РезультатХ, ДанныеРасшифровкиХ, ИДФормы)

ОтчетОбъект = ДанныеФормыВЗначение(ОтчетХ, Тип(««)); //Для компоновки результата

ОтчетОбъект. СкомпоноватьРезультат(РезультатХ, ДанныеРасшифровкиХ);                                  //Собственно формирование отчета

АдресДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиХ, ИДФормы);             //тоже «недокументированная фишка», Запоминаем расшифровку (с ИД формы). Это необходимо, чтобы у отчета расшифровки в свою очередь тоже была расшифровка, но уже стандартная, ИДФормы — нужен, чтобы эта стандартная расшифровка сработала не один раз, а до тех пор пока существует указанная форма.

Структура(««, РезультатХ, АдресДанныеРасшифровки);         //Возвращаем результат и Адрес расшифровки, чтобы отчет-расшифровку тоже можно было расшифровать, но уже стандартной расшифровкой. Обратим внимание на то, что на клиенте извлечение из временного хранилища НЕ ПРОИЗВОДИТСЯ, система сама извлечет Данные Расшифровки, по мере необходимости.

Далее, в основной процедуре, заполняем форму отчета-расшифровки и выводим его на экран:

ФормаДТСР. Результат = СтруктураВозврата. Результат;

ФормаДТСР. ДанныеРасшифровки = СтруктураВозврата. ДанныеРасшифровки;

ФормаДТСР. Элементы. Результат. ОтображениеСостояния. Видимость = Ложь;  //Избавление от надписи. « Отчет не сформирован, бла, бла, бла»

ФормаДТСР. Элементы. Результат. ОтображениеСостояния. ДополнительныйРежимОтображения = ДополнительныйРежимОтображения. НеИспользовать;

Коротко поясню что здесь делается:

Это собственно все. Все оказалось просто. Реализация во вложении, но комментариев в реализации значительно меньше )).

Если требуется расшифровка одного отчета СКД при помощи другого отчета СКД, можно использовать представленный вариант. Казалось-бы все просто, однако дело усложняется тем, что с одной стороны, нужно предусмотреть разделение функционала между клиентом и сервером, с другой, нет достаточно четкого описания поведения передачи параметров расшифровки. В итоге: все решается «элементарно», но чтобы дойти до этого, лично мне пришлось убить уйму времени, так что экономьте своё ))). Под «нестандартной расшифровкой» имеется ввиду расшифровка данных одного вида отчета — другим видом, отличным от первого (с предварительной установкой нужных параметров и отборов в отчете-расшифровке).

ПолеНоменклатура = Поля. Найти(«»);

ФормаДТСР = ПолучитьФорму(«»);

ИДНастройкиПериод = Настройки. ПараметрыДанных. Элементы. Найти(«»). ИдентификаторПользовательскойНастройки;  //Идентификатор пользовательской настройки «Период»

ПолеСклад = Настройки. Отбор. ДоступныеПоляОтбора. Элементы. Найти(«»). Поле;

ПолеНоменклатура = Настройки. Отбор. ДоступныеПоляОтбора. Элементы. Найти(«»). Поле;

ИДЭлмОтбораСклад = «»;

ИДЭлмОтбораНоменклатура = «»;

ПолеСкладЗдесь = НастройкиЗдесь. Отбор. ДоступныеПоляОтбора. Элементы. Найти(«»). Поле;

ИДЭлмОтбораСкладЗдесь = «»;

ИДНастройкиПериодЗдесь = НастройкиЗдесь. ПараметрыДанных. Элементы. Найти(«»). ИдентификаторПользовательскойНастройки;

ОтчетОбъект = ДанныеФормыВЗначение(ОтчетХ, Тип(«»)); //Для компоновки результата

АдресДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиХ, ИДФормы);             //тоже «недокументированная фишка», Запоминаем расшифровку (с ИД формы). Это необходимо, чтобы у отчета расшифровки в свою очередь тоже была расшифровка, но уже стандартная, ИДФормы — нужен, чтобы эта стандартная расшифровка сработала не один раз, а до тех пор пока существует указанная форма.

Структура(«», РезультатХ, АдресДанныеРасшифровки);         //Возвращаем результат и Адрес расшифровки, чтобы отчет-расшифровку тоже можно было расшифровать, но уже стандартной расшифровкой. Обратим внимание на то, что на клиенте извлечение из временного хранилища НЕ ПРОИЗВОДИТСЯ, система сама извлечет Данные Расшифровки, по мере необходимости.

ФормаДТСР. Элементы. Результат. ОтображениеСостояния. Видимость = Ложь;  //Избавление от надписи. » Отчет не сформирован, бла, бла, бла»

Оцените статью
ФСС Help
Добавить комментарий