Реализация расшифровки в Системе Компоновки Данных

Публикация № 18961

Разработка - Практика программирования

Продолжая свой цикл заметок про СКД, сегодня я хотел бы поподробнее остановиться на расшифровке.

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

 

1. Ограничение доступных действий;

2. Добавление в меню своего произвольного действия;

3. Добавление в меню различных действий, в зависимости от ячейки, для которой выполняется расшифровка.

 

Вся работа с расшифровкой, выполняется в событии ОбработкаРасшифровки. Что бы получить доступ к этому событию, необходимо сначала сгенерировать основную форму отчета. Затем ПолеТабличногоДокумента > Свойства > События.

 

Итак, задача №1. Постановка: Необходимо доступные действия для пользователя ограничить только: открытием элемента, упорядочиванием и оформлением.

Решение:

 

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

            Перем ВыполненноеДействие;

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

            ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

            ДоступныеДействия=Новый Массив;      // заполняем доступные действия, если параметр не указан, то будут доступны все действия

            ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);

            ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);

            ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);

            Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия);

            Если Настройки<>Неопределено Тогда    // требуется сформировать отчет с новыми настройками

                        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);         // загружаем настройки

                        ЭлементыФормы.Результат.Очистить();                                                 // очищаем поле табличного документа

                        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);            // выводим результат

            КонецЕсли;

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

 

Задача №2. Постановка: Необходимо добавить в меню свое действие, открывающее основную форму элемента, содержащегося в ячейке, для которой выполняется расшифровка.

Решение:

 

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

            Перем ВыполненноеДействие;

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

            ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

            ДополнительныеДействия=Новый СписокЗначений;

            ДополнительныеДействия.Добавить("Действие1","Дополнительное действие 1");  // добавляем свое действие

            Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,,ДополнительныеДействия);

            Если Настройки<>Неопределено Тогда

                        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

                        ЭлементыФормы.Результат.Очистить();

                        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);

            Иначе

                        Если ВыполненноеДействие="Действие1" Тогда

                                   ВыполнитьДействие1(Расшифровка);       // процедура выполняемая при выборе пункта меню "Дополнительное действие 1"

                        КонецЕсли;

            КонецЕсли;

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

 

В процедуре ВыполнитьДействие1(Расшифровка) получаем ПараметрРасшифровки для выбранной ячейки и открывает основную форму:

 

Процедура ВыполнитьДействие1(Расшифровка)

            Ссылка=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;

            Ссылка.ПолучитьФорму().Открыть();

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

 

Задача №3. Постановка: Необходимо в зависимости от колонки, для которой выполняется расшифровка, добавлять свои действия: для «Поле1» - «Действие1», для «Поле2» - «Действие2».

Решение:

 

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

            Перем ВыполненноеДействие;

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

            ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));

            ДополнительныеДействия=Новый СписокЗначений;

            // Проверяем для какого поля выполняется расшифровка

            Если ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле="Поле1" Тогда

                        ДополнительныеДействия.Добавить("Действие1","Дополнительное действие 1");

            ИначеЕсли ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле="Поле2" Тогда

                        ДополнительныеДействия.Добавить("Действие2","Дополнительное действие 2");

            КонецЕсли;

            Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,,ДополнительныеДействия);

            Если Настройки<>Неопределено Тогда

                        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

                        ЭлементыФормы.Результат.Очистить();

                        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);

            Иначе

                        Если ВыполненноеДействие="Действие1" Тогда

                                   ВыполнитьДействие1(Расшифровка);

                        ИначеЕсли ВыполненноеДействие="Действие2" Тогда

                                   ВыполнитьДействие2(Расшифровка);

                        КонецЕсли;

            КонецЕсли;

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

 

Как видите, ничего сложного здесь нет! :)

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. coder1cv8 3496 05.02.09 09:40 Сейчас в теме
Спасибо за плюсы и комментарии! :)
гвость; talalaevviaferrata; PokerFace; maxunov95; ilya4; Kinestetik; hornet_X; Teut_Vlad; tatoshka0403; Eldjer; dr.Uid; +11 Ответить
2. Ish_2 05.02.09 18:11 Сейчас в теме
В отчете , где присутствуют группировки по строкам и по колонкам , у большинства пользователей вызывает затруднение вопрос :
"Как найти поля всех родителей выбранной ячейки по строкам и по столбцам ?".
Например для того ,чтобы построить отбор для подчиненного отчета.
Было бы полезно , если бы Вы в следующей статье раскрыли бы этот вопрос.
alek-sand-er; KAV2; sergey_in; +3 Ответить
3. kadr 51 12.04.09 22:11 Сейчас в теме
>> 2
Применительно к примеру примерно так
Массив = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()
Массив[0] - родитель по горизонтали
Массив[1] - родитель по вертикали

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

Теперь в настройках только отборы
Группировки подобным образом получить не удалось :(
4. coder1cv8 3496 13.04.09 08:30 Сейчас в теме
(3) Ну это легко! )
Код
СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
КомпоновщикНастроек1=Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек1.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);
Настройки=КомпоновщикНастроек1.Настройки;
Показать полностью
5. coder1cv8 3496 13.04.09 08:32 Сейчас в теме
+(4) Ну что с отображением кода творится?! Хоть тегами не пользуйся! :((
7. kadr 51 13.04.09 10:24 Сейчас в теме
(4)
не так то все и легко ;)

Код
   СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
   КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);
   Настройки=КомпоновщикНастроек.Настройки;
   
   ФормаНастройки = ПолучитьФорму("ФормаНастройки");
   ФормаНастройки.Открыть();
Показать полностью


Отбор загружается, группировок нет.
ФормаНастройки - стандартная форма настройки СКД.
Основная схема компоновки данных отчета не указана. При указании основной СКД отчета группировки остаются от основной СКД, а отбор от загружаемой

(6) Организовать рекурсивную процедуру обхода родителей
8. coder1cv8 3496 13.04.09 11:28 Сейчас в теме
(7) "КомпоновщикНастроек" - это расширение формы отчета, не надо так переменную называть! ;)
9. coder1cv8 3496 13.04.09 11:31 Сейчас в теме
+(8) В том смысле, что завидите отдельный компоновщик, как у меня в примере и всё будет работать...
10. kadr 51 13.04.09 13:08 Сейчас в теме
С учетом (8)
Выставил макет СКД отчета "СтоимостнаяОценкаСклада"

Код
   СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
   КомпоновщикНастроек1=Новый КомпоновщикНастроекКомпоновкиДанных();   
   КомпоновщикНастроек1.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);   
      
   Сообщить(КомпоновщикНастроек1.Настройки.ДоступныеПоляВыбора.Элементы.Количество());  // результат 0
   Сообщить(КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы.Количество()); // результат 11

Показать полностью


В созданном нами компоновщике доступных полей выбора - 0
В в расширении формы отчета доступных полей выбора - 11

Доступные поля выбора не загружаются с настройками??
11. coder1cv8 3496 13.04.09 13:27 Сейчас в теме
(10) Хм... Ну вот выдрал пример из своего отчета, где по расшифровке выводятся движения по товару/складу с помощью вложенной схемы:

Процедура ДвиженияПоТовару(Номенклатура,Склад)
ТабДок=Новый ТабличныйДокумент;

СКД_Расшифровка=СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных[0].Схема;
КомпоновщикНастроек_Расшифровка=Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек_Расшифровка.ЗагрузитьНастройки(СКД_Расшифровка.НастройкиПоУмолчанию);
Настройки=КомпоновщикНастроек_Расшифровка.Настройки;
// Установим параметры
Параметры=Настройки.ПараметрыДанных.Элементы;

ПараметрНоменклатура=Параметры.Найти("Номенклатура");
ПараметрНоменклатура.Значение=Номенклатура;
ПараметрНоменклатура.Использование=Истина;

ПараметрСклад=Параметры.Найти("Склад");
ПараметрСклад.Значение=Склад;
ПараметрСклад.Использование=Истина;

КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных=КомпоновщикМакета.Выполнить(СКД_Расшифровка,Настройки);
ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

ТабДок.ТолькоПросмотр=Истина;
ТабДок.ОтображатьСетку=Ложь;
ТабДок.ОтображатьЗаголовки=Ложь;
ТабДок.ФиксацияСверху=1;
ТабДок.Показать("Движения по товару <"+Номенклатура+">");
КонецПроцедуры

вот так всё работает, 100%
Kinestetik; JIeoIIoJIbD; graforlow; romku; +4 Ответить
51. romku 10 18.08.16 16:57 Сейчас в теме
(11) спасибо за пример. Очень помогло.
6. Ish_2 1061 13.04.09 10:13 Сейчас в теме
(3) Ответ безусловно верный . Если бы вопрос был о родителях при одноуровневой группировке. Если речь идет ПОЛЯХ ВСЕХ родителей ,то

1.Предполагаются многоуровневые группировки неизвестного уровня.
2.Значения массива , полученного методом НайтиРодителей() могут иметь различные типы и на определенных уровнях могут не иметь полей (неприменим метод ПолучитьПоля()).

Таким образом , предполагается процедура.
Я предположил , что это не частный (узкий) вопрос , и его можно рассмотреть в задаче № 4.

12. kadr 51 13.04.09 15:25 Сейчас в теме
строка кода

СКД_Расшифровка=СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных[0].Схема;

предполагает, что у Вас заполнена основная СКД для отчета и Вы используете расширение ОтчетОбъект.СхемаКомпоновкиДанных.

Посмотрите как отработает тот же код если очистить основную СКД отчета и загрузить макет в коде

СхемаКомпоновкиДанных1 = ПолучитьМакет(ИмяВашегоМакетаСКД)
СКД_Расшифровка=СхемаКомпоновкиДанных1.ВложенныеСхемыКомпоновкиДанных[0].Схема;
13. coder1cv8 3496 13.04.09 17:19 Сейчас в теме
(12) Насколько я понимаю, между схемой полученной из макета и вложенной схемой, не должно быть принципиальных отличий...
15. kadr 51 13.04.09 20:25 Сейчас в теме
(13) также обратил внимание, что при заполненном свойству основная СКД отчета все работает нормально, а при программной обработке остается только отбор и выбранные поля
14. coder1cv8 3496 13.04.09 17:22 Сейчас в теме
Вообще, есть в СКД некоторые глюки... В частности, заметил, что может "отваливаться" как сама схема, так и форма настроек. В таком случае помогает только пересоздание отчета.
16. kadr 51 23.04.09 10:04 Сейчас в теме
Вот где собака порылась!!!
перед загрузкой настроек во вновь созданный КомпоновщикНастроек его надо инициализировать

	СхемаКомпоновкиДанных = ПолучитьМакет(ИмяМакета);	
	_КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;	
	ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных);
	_КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);
	_КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

Kinestetik; reneyr; СергейКа; coder1cv8; +4 Ответить
17. coder1cv8 3496 23.04.09 11:55 Сейчас в теме
18. СергейКа 687 23.04.09 12:02 Сейчас в теме
Как раз появилась задача с изменением стандартной расшифровки СКД :) Только хотел разбираться.
19. artbear 1302 23.04.09 12:09 Сейчас в теме
А кто-нибудь смотрел реализацию универсальных отчетов и шаблонов для них на базе СКД в последних версиях БП и ЗУП ?
Сделано очень красиво и удобно для пользователя.
Очень легко портируется в другие конфигурации.

Я где-то минут за 20 перенес универсальный отчет + шаблон + все необходимое в самописную конфу для 8.1
20. coder1cv8 3496 23.04.09 14:32 Сейчас в теме
(19) Да, молодцы. Обратил внимание на реализацию формы настроек, штатная - очень уж мудреная для пользователя. Да и запросы в ЗУП, которые были на несколько страниц, на порядок легче читать стало!...
21. СергейКа 687 23.04.09 16:51 Сейчас в теме
3 пример некорректен. По крайней мере у меня получается : если выбирается действие из произвольного списка, то ОбработкаРасшифровки.Выполнить() возвращает "Непределено"... Т.е. уже не заходит в условие вывода отчета...
22. coder1cv8 3496 23.04.09 17:57 Сейчас в теме
(21) В примере, дополнительное действие - это не изменение настроек и (или) вывод отчета, а какое-то другое действие не связанное с выводом, например открытие какой-либо формы, обработки.
Так что всё корректно, опять же в пределах примера )
23. СергейКа 687 23.04.09 19:50 Сейчас в теме
(22) Точно :) Я чё-то строчку "Иначе" пропустил :)
24. artbear 1302 18.05.09 13:41 Сейчас в теме
Кто-нибудь знает ответ на еще один подводный или надводный камень в СКД?
http://infostart.ru/forum/forum14/topic9440/messages/
25. katzo 16.06.09 17:09 Сейчас в теме
Люди, спасите! Ну никак не могу настроить отбор вложенной схемы, чтобы детализировать общий отчет... У меня процедурка, которая данные для отбора выглядит так:

&НаКлиенте
Функция ПолучитьРекурсивноСтруктуруОтбора(ТекущееПоле, СтруктураОтбора = Неопределено)
Если СтруктураОтбора = Неопределено Тогда
СтруктураОтбора = Новый Структура;
КонецЕсли;

Для каждого ТекЭл Из ТекущееПоле.ПолучитьПоля() Цикл
СтруктураОтбора.Вставить(ТекЭл.Поле, ТекЭл.Значение);
КонецЦикла;

Для каждого ТекЭл Из ТекущееПоле.ПолучитьРодителей() Цикл
Если ТипЗнч(ТекЭл) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
ПолучитьРекурсивноСтруктуруОтбора(ТекЭл, СтруктураОтбора);
ИначеЕсли ТипЗнч(ТекЭл) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") Тогда
Сообщить("Группировка: " + ТекЭл.Группировка);
Иначе
Сообщить("Неизвестный элемент: " + ТекЭл);
КонецЕсли;
КонецЦикла;

Возврат СтруктураОтбора;
КонецФункции // ПолучитьРекурсивноСтруктуруОтбора()




Вызывается она так:

ТекущееПоле = ДанныеРасшифровки.Элементы[Расшифровка];
СтруктураОтбора = ПолучитьРекурсивноСтруктуруОтбора(ТекущееПоле);

В итоге значения полей (строк и колонок) получаю спокойно, а из группировок не могу никак вытащить ни название группировки (мне нужно именно получить путь к данным, а не ничего не значащее "ГруппировкаN"), ни значения, которые потом надо установить в отбор во вложенной схеме... Может я что не так делаю? Я только-только начал программить под СКД, 100 грамм не помогли, а тяжелые наркотики я не хочу употреблять, чтобы в этом разобраться:(
26. jerer 03.08.09 13:31 Сейчас в теме
Привет! Прикольная функция, тоже думал об этом вопросе, мне кажется так должно работать. Не пробовал на сложных группировках, скажи если проверишь и что не так.
Функция ПолучитьРекурсивноСтруктуруОтбора(ТекущееПоле, СтруктураОтбора = Неопределено)
	Если СтруктураОтбора = Неопределено Тогда
		СтруктураОтбора = Новый Структура;
	КонецЕсли; 
	
	Если ТипЗнч(ТекущееПоле) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
		Для Каждого ТекЭл Из ТекущееПоле.ПолучитьПоля() Цикл
			СтруктураОтбора.Вставить(ТекЭл.Поле, ТекЭл.Значение);
		КонецЦикла;
	КонецЕсли;
	
	Для Каждого ТекЭл Из ТекущееПоле.ПолучитьРодителей() Цикл
		ПолучитьРекурсивноСтруктуруОтбора(ТекЭл, СтруктураОтбора);
	КонецЦикла; 
	
	Возврат СтруктураОтбора;
КонецФункции 

Показать

27. jerer 03.08.09 13:33 Сейчас в теме
Правда, тут два раза одни и те же значения добавляются, "Вставить" помогает, но типа не оптимально.
28. e.kogan 1862 15.09.09 16:26 Сейчас в теме
Вопрос автору: есть ли способ получить путь к данным поля, выбранного для расшифровки?
31. coder1cv8 3496 16.09.09 15:30 Сейчас в теме
(28) Не совсем понятен вопрос... По-моему "ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле" - это и есть путь к данным, т.е. имя поля в компоновке.
32. e.kogan 1862 16.09.09 16:43 Сейчас в теме
(31) Нет-нет, не имя того поля, ПО которому я щёлкнула, а имя того поля, которое я выбрала для расшифровки текущего!
Т.е. "Расшифровать", и нужно то поле, которое было выбрано в диалоге "Выбор поля"!
29. primat 2557 16.09.09 12:29 Сейчас в теме
Привет! Подскажите, пожалуйста. Формирую отчет в СКД программно, и расшифровка совсем не работает. То есть привязанная к табличному полю функция на действие "Обработки расшифровки" просто не срабатывает.

Вот так формирую отчет:
ЭлементыФормы.Результат.Очистить();

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

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

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

При инициации процессора компоновки данных можно задать переменную, в которую "будут выводиться результаты компоновки данных" (это по синтакс-помощнику). Я написал - Расшифровка, не работает.

А что там надо написать, какую переменную создать, чтобы расшифровка срабатывала, кто-нибудь знает?
30. primat 2557 16.09.09 12:43 Сейчас в теме
Нашел ответ. Надо было добавить третий параметр ДанныеРасшифровки в КомпоновщикМакета.Выполнить() и в ПроцессорКомпоновкиДанных.Инициализировать(). После этого можно менять расшифровку как угодно.
dima_home; +1 Ответить
52. dima_home 124 21.12.16 08:42 Сейчас в теме
(30)
Нашел ответ

Тоже весь интернет перерыл... везде не полные данные.
СПАСИБО.
33. e.kogan 1862 16.09.09 16:47 Сейчас в теме
32 + Или хотя бы по какому принципу формируется список полей в диалоге "Выбор поля", чтобы это сымитировать...
34. e.kogan 1862 22.09.09 13:39 Сейчас в теме
32+
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

СтандартнаяОбработка=Ложь;
ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
текПоле=ДанныеРасшифровки.Элементы[Расшифровка]; //здесь вылетает
//тут ещё много кода
КонецПроцедуры


При повторном щелчке по исходной таблице (после выполнения расшифровки) процедура вылетает на указанной строке с ошибкой:

{Форма.ФормаОтчета(178)}: Значение, соответствующее ключу, не задано
текПоле=ДанныеРасшифровки.Элементы[Расшифровка];

В отладчике значение переменной Расшифровка в обоих случаях одинаково, а вот ДанныеРасшифровки - разные, хотя клик по одному и тому же полю в одной и той же ячейке. Чем бороть?
35. e.kogan 1862 22.09.09 13:52 Сейчас в теме
(34) Сама нашла, у меня ДанныеРасшифровки менялись (неявно) в дальнейшем коде.
36. IgorXml 16.11.09 12:30 Сейчас в теме
Мой код для СКД расшифровка на 8.2. Может сгодиться кому :D :
&НаСервере
Функция ПолучитьURLСхемы()
    ОсновнаяСхемаКомпоновкиДанных=Отчеты.ПоПредметам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных);
    Возврат URLСхемы;
КонецФункции

&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   СтандартнаяОбработка=Ложь;
   URLСхемы=ПолучитьURLСхемы();
   ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
   Обработка=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,ИсточникДоступныхНастроек);
   Результат=Неопределено;
   Параметр=Неопределено;
   ДоступныеДействия = Новый Массив;
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   Обработка.ВыбратьДействие(Расшифровка,Результат,Параметр,ДоступныеДействия,);
   П =    Новый Структура("Ключ", Параметр);
   Форма = ПолучитьФорму("Справочник.Предметы.ФормаОбъекта", П);
   Форма.Открыть();
   ПриОткрытии(ложь);
КонецПроцедуры 
   
Показать
freeek; user1232315; Kinestetik; KAV2; sdv91; Евген86; VsHome; Brook; Spacer; aleksanderpushkin; FilatovRA; kimskiysanya; reneyr; DimaP; andmaslov; Поручик; pobedria; coder1cv8; +18 Ответить
50. jaroslav.h 11.07.16 13:18 Сейчас в теме
(36) Igor2010, привет, подскажи будь добре, у меня пустой результат после расшифровки выходит
http://www.forum.mista.ru/topic.php?id=776248
37. bela88 04.12.09 09:34 Сейчас в теме
А у меня следующая ситуация и разобраться в ней пока не получается.
Создаю отчет по результативности звонков. Пример выводимых данных в приклепленном файле.

И мне нужно по нажатию на ячейку с цифрой выводить следующую расшифровку: список событий, по которым был зарегистрирован такой результат. Если пишу
ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля().Найти("Мероприятие")
то значение мероприятия известно, когда выбранная ячейка находится в строчке "Семинар УТ", если же нажимаю на любую другую ячейку, привязку к данной группировке по семинару не могу найти.

Если кто-нибудь сталкивался с подобной ситуацией, подскажите:)
39. GreenFox 19.06.12 10:34 Сейчас в теме
(37) Поддерживаю - как расшифровку распространить на всю строку? Мне надо как то при клике на любое поле в строке получить значение в конкретной ячейке в этой строке.
41. PrinzOfMunchen 78 03.04.13 11:05 Сейчас в теме
(39) GreenFox, задаюсь тем же вопросом.
43. Eldjer 25.02.14 11:18 Сейчас в теме
(41) PrinzOfMunchen, уже почти день ковыряюсь над расшифровкой со всей строкой =\
38. kitt 325 22.07.10 02:26 Сейчас в теме
плюсую, надеюсь будет продожение. Хотел бы посмотреть разных примеров с расшифровкой с помощью вложенных схем
40. evn-zorin 23 11.09.12 13:43 Сейчас в теме
42. c1nil 14.11.13 16:00 Сейчас в теме
Отличная статья. Спасибо!
44. grand.pers 28.04.15 12:44 Сейчас в теме
Статья - именно то, что нужно. Но вот какая у меня проблема: при сохранении конфигурации системы выдает следующую ошибку:
{Отчет.ОСВ1.Форма.ФормаОтчета.Форма(15,49)}: Слишком много фактических параметров (СкомпоноватьРезультат)
СкомпоноватьРезультат(ЭлементыФормы.Результат,<<?>>ДанныеРасшифровки); // выводим результат (Проверка: Тонкий клиент)

Почему? И что нужно сделать, чтобы все работало?
user791777; freeze_9096; solaru; Vida; belas; sutkin; Evgenii_1980; +7 Ответить
45. minimaxpo 22.09.15 17:17 Сейчас в теме
Всем здравствуйте.
Такой вопрос: настроены две вложенные схемы к основной СКД (схемы идентичные основной, но добавлен параметр для отбора в виртуальной таблице) . Выводятся в отчет последовательно, как 3 отдельных отчета. Так вот как понять к какой СКД относится элемент расшифровки? Т.е., в зависимости от ячейки, расшифровку которой нужно получить, необходимо определить в какой СКД эта ячейка выведена.
46. sokir 2 30.09.15 17:48 Сейчас в теме
На упр формах никак не могу подобраться к ДанныеРасшифровки.
Пытаюсь получить через ПолучитьИзВременногоХранилища(ОтчетДанныеРасшифровки) - пишит "Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа".
На стороне сервера ПолучитьИзВременногоХранилища(ОтчетДанныеРасшифровки) работает, но надо на стороне клиента.
Хелп!
47. Spacer 306 11.12.15 18:04 Сейчас в теме
(46) sokir, Надо на стороне сервера вытаскивать все что нужно из данных расшифровки.
Помещать полученные данные скажем в фиксированный массив или в фиксированную структуру,
и возвращать на клиент.
48. m1_1976 13 09.06.16 16:01 Сейчас в теме
самая первая строка не работает

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(<<?>>СхемаКомпоновкиДанных)); (Проверка: Тонкий клиент)

почему, кто подскажет...
Я "на клиенте." Но и в примере "на клиенте"!
49. IgorXml 667 15.06.16 16:32 Сейчас в теме
Для обычных конф. где не подходит расшифровка из "Шаблона 1С" самое простое это:
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
//***Типовой кусок кода ***(	
	//ДопСписок = Новый СписокЗначений;
	//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
	//
	////ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);	
//***)	
	Попытка
		Ссылка=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
		Ссылка.ПолучитьФорму().Открыть();	
		СтандартнаяОбработка = Ложь;
	Исключение
		ДопСписок = Новый СписокЗначений;
		//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
		ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);
	КонецПопытки;	
КонецПроцедуры
Показать
53. korchak 25.01.17 01:38 Сейчас в теме
А как ограничить вывод (показ) или удалить, на худой конец, некоторые доступные поля, которые есть в диалоге выбора поля при расшифровке ячейки?
Команда "Расшифровать...", вызываемая или двойным кликом по ячейке или через контекстное меню. В открывшейся форме диалога "Выбор поля" необходимо скрыть некоторые поля.
55. 7OH 32 02.08.17 17:57 Сейчас в теме
(53) Тоже ищу методы удаления ненужных пунктов контекстного меню.
Двойной клик стандартной обработкой убирается (и настраивается тоже).
А как изменить состав меню, которое вылетает по правой кнопке ?
Кто знает - направьте почитать.
54. AKV77 254 08.06.17 11:33 Сейчас в теме
56. sokir 2 23.12.17 14:30 Сейчас в теме
Расшифровка формируется в этом же окне.
Сделал так
ФормаРасш = ПолучитьФорму(, , новый УникальныйИдентификатор);
		ФормаРасш.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиРасш);         // загружаем настройки
		ФормаРасш.СкомпоноватьРезультат(ФормаРасш.ЭлементыФормы.Результат, ФормаРасш.ДанныеРасшифровки);     


Открывается новое окно и в нем расшифрованное вывелось, но сбиваются настройки первой (главной) формы.
Конечно можно через отч = отчеты.ххх.создать, но это может быть и внешняя.

Как правильнее всего отрыть расшифровку в новом окне?
И еще для расшифровки я хочу применить другой вариант (другая структура вывода). Как в этом случае быть?
57. user903133 14.03.18 15:24 Сейчас в теме
Добрый день
Прикрепленные файлы:
58. 7OH 32 14.03.18 18:47 Сейчас в теме
(57) ОбработкаРасшифровки
СтандартнаяОбработка = Ложь;
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет));

ОбработкаРасшифровки.Расшифровать(
а тут почитайте что туда передать
59. mrm1212 28 13.04.18 15:42 Сейчас в теме
Скажите, а при выполнении какого действия "Настройки" будут не равны "Неопределено"??? что-то не совсем пойму, почему-то у меня они всегда равны "Неопределено".
Оставьте свое сообщение

См. также

Звуковое управление в 1С 8.3 Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    2656    velemir    28    

Полезные примеры СКД, ч.1

Практика программирования v8::СКД Бесплатно (free)

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    4747    Neti    18    

Обзор полезных методов БСП 3.1.4

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

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

25.03.2021    10902    rayastar    45    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    12463    quazare    34    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    5107    comol    27    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    43022    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    32462    John_d    22    

СКД. Шаг 3. Используем макеты для оформления отчета

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.01.2020    23120    aximo    14    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

10.12.2016    38853    unichkin    74    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    24971    kuzyara    38    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    10204    Sibars    19    

Полезные процедуры и функции для программиста

Практика программирования Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    34228    HostHost    41    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    32599    tormozit    105    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    42527    Yashazz    50    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    26155    YPermitin    41    

СКД не только для отчетов

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

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

18.09.2019    20553    YPermitin    36    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    79718    tormozit    131    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    72547    rpgshnik    70    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    61045    ids79    55    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    34765    YPermitin    25    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    50614    tormozit    48    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    27548    YPermitin    81    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    37814    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    114296    ids79    67    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    47468    tormozit    74    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    46675    avalakh    26    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    81112    ids79    14    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    41248    ids79    27    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16609    m-rv    2    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    29224    YPermitin    14    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    20628    SeiOkami    50    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    62790    ids79    26    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    21209    m-rv    17    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    27730    dmurk    146    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    48503    YPermitin    53    

Регистры накопления. Структура хранения в базе данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    51744    YPermitin    30    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    32937    m-rv    22    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    38727    ellavs    127    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    29007    ellavs    90    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    35548    YPermitin    53    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    29002    itriot11    34    

Добавление отчетов в типовые конфигурации 1С

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8::УФ v8::СКД 1cv8.cf Бесплатно (free)

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

07.03.2019    65369    ids79    46    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    24896    Vladimir Litvinenko    28    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    48584    ids79    11    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    79059    Serginio    113    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    47154    ids79    81    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    40825    ids79    49    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    38554    ids79    40