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

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

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

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

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

 

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 3510 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 53 12.04.09 22:11 Сейчас в теме
>> 2
Применительно к примеру примерно так
Массив = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()
Массив[0] - родитель по горизонтали
Массив[1] - родитель по вертикали

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

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

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


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

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

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

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


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

Доступные поля выбора не загружаются с настройками??
11. coder1cv8 3510 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 1072 13.04.09 10:13 Сейчас в теме
(3) Ответ безусловно верный . Если бы вопрос был о родителях при одноуровневой группировке. Если речь идет ПОЛЯХ ВСЕХ родителей ,то

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

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

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

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

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

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

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

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

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

Я где-то минут за 20 перенес универсальный отчет + шаблон + все необходимое в самописную конфу для 8.1
20. coder1cv8 3510 23.04.09 14:32 Сейчас в теме
(19) Да, молодцы. Обратил внимание на реализацию формы настроек, штатная - очень уж мудреная для пользователя. Да и запросы в ЗУП, которые были на несколько страниц, на порядок легче читать стало!...
21. СергейКа 686 23.04.09 16:51 Сейчас в теме
3 пример некорректен. По крайней мере у меня получается : если выбирается действие из произвольного списка, то ОбработкаРасшифровки.Выполнить() возвращает "Непределено"... Т.е. уже не заходит в условие вывода отчета...
22. coder1cv8 3510 23.04.09 17:57 Сейчас в теме
(21) В примере, дополнительное действие - это не изменение настроек и (или) вывод отчета, а какое-то другое действие не связанное с выводом, например открытие какой-либо формы, обработки.
Так что всё корректно, опять же в пределах примера )
23. СергейКа 686 23.04.09 19:50 Сейчас в теме
(22) Точно :) Я чё-то строчку "Иначе" пропустил :)
24. artbear 1374 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 1867 15.09.09 16:26 Сейчас в теме
Вопрос автору: есть ли способ получить путь к данным поля, выбранного для расшифровки?
31. coder1cv8 3510 16.09.09 15:30 Сейчас в теме
(28) Не совсем понятен вопрос... По-моему "ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле" - это и есть путь к данным, т.е. имя поля в компоновке.
32. e.kogan 1867 16.09.09 16:43 Сейчас в теме
(31) Нет-нет, не имя того поля, ПО которому я щёлкнула, а имя того поля, которое я выбрала для расшифровки текущего!
Т.е. "Расшифровать", и нужно то поле, которое было выбрано в диалоге "Выбор поля"!
29. primat 2704 16.09.09 12:29 Сейчас в теме
Привет! Подскажите, пожалуйста. Формирую отчет в СКД программно, и расшифровка совсем не работает. То есть привязанная к табличному полю функция на действие "Обработки расшифровки" просто не срабатывает.

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

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

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

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

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

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

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

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


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

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

В отладчике значение переменной Расшифровка в обоих случаях одинаково, а вот ДанныеРасшифровки - разные, хотя клик по одному и тому же полю в одной и той же ячейке. Чем бороть?
35. e.kogan 1867 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 80 03.04.13 11:05 Сейчас в теме
(39) GreenFox, задаюсь тем же вопросом.
43. Eldjer 25.02.14 11:18 Сейчас в теме
(41) PrinzOfMunchen, уже почти день ковыряюсь над расшифровкой со всей строкой =\
38. kitt 324 22.07.10 02:26 Сейчас в теме
плюсую, надеюсь будет продожение. Хотел бы посмотреть разных примеров с расшифровкой с помощью вложенных схем
40. evn-zorin 24 11.09.12 13:43 Сейчас в теме
42. c1nil 14.11.13 16:00 Сейчас в теме
Отличная статья. Спасибо!
44. grand.pers 28.04.15 12:44 Сейчас в теме
Статья - именно то, что нужно. Но вот какая у меня проблема: при сохранении конфигурации системы выдает следующую ошибку:
{Отчет.ОСВ1.Форма.ФормаОтчета.Форма(15,49)}: Слишком много фактических параметров (СкомпоноватьРезультат)
СкомпоноватьРезультат(ЭлементыФормы.Результат,<<?>>ДанныеРасшифровки); // выводим результат (Проверка: Тонкий клиент)

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

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

почему, кто подскажет...
Я "на клиенте." Но и в примере "на клиенте"!
49. IgorXml 683 15.06.16 16:32 Сейчас в теме
Для обычных конф. где не подходит расшифровка из "Шаблона 1С" самое простое это:
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
//***Типовой кусок кода ***(	
	//ДопСписок = Новый СписокЗначений;
	//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
	//
	////ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);	
//***)	
	Попытка
		Ссылка=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
		Ссылка.ПолучитьФорму().Открыть();	
		СтандартнаяОбработка = Ложь;
	Исключение
		ДопСписок = Новый СписокЗначений;
		//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
		ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);
	КонецПопытки;	
КонецПроцедуры
Показать
pvlunegov; +1 Ответить
53. korchak 25.01.17 01:38 Сейчас в теме
А как ограничить вывод (показ) или удалить, на худой конец, некоторые доступные поля, которые есть в диалоге выбора поля при расшифровке ячейки?
Команда "Расшифровать...", вызываемая или двойным кликом по ячейке или через контекстное меню. В открывшейся форме диалога "Выбор поля" необходимо скрыть некоторые поля.
55. 7OH 32 02.08.17 17:57 Сейчас в теме
(53) Тоже ищу методы удаления ненужных пунктов контекстного меню.
Двойной клик стандартной обработкой убирается (и настраивается тоже).
А как изменить состав меню, которое вылетает по правой кнопке ?
Кто знает - направьте почитать.
54. AKV77 255 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 27 13.04.18 15:42 Сейчас в теме
Скажите, а при выполнении какого действия "Настройки" будут не равны "Неопределено"??? что-то не совсем пойму, почему-то у меня они всегда равны "Неопределено".
Оставьте свое сообщение

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

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

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    3956    Eugen-S    21    

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

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

Еще несколько примеров решения задач в СКД.

06.04.2021    10098    Neti    8    

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

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

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

30.03.2021    12703    Neti    19    

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

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

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

25.03.2021    37524    rayastar    51    

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

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

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

27.01.2016    85122    Serginio    115    

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

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

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

16.03.2021    6911    velemir    31    

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

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

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

28.12.2020    8604    comol    31    

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

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

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

30.08.2020    19477    quazare    34    

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

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

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

10.12.2016    40879    unichkin    74    

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    73144    user5300    19    

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

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

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

27.01.2020    63226    ids79    26    

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

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

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

15.01.2020    42433    John_d    22    

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

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

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

15.10.2018    35828    tormozit    106    

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

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

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

13.01.2020    35800    aximo    17    

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

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

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

30.12.2019    34079    kuzyara    38    

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

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

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

07.10.2019    39146    HostHost    41    

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

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

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

20.09.2012    82617    tormozit    131    

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

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

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

01.10.2019    51881    Yashazz    56    

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

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

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

25.09.2019    32206    YPermitin    58    

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

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

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

18.09.2019    21719    YPermitin    36    

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

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

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

11.07.2007    54045    tormozit    51    

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

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

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

06.09.2019    98326    rpgshnik    75    

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

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

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

05.09.2019    75820    ids79    55    

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

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

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

05.09.2019    45443    YPermitin    25    

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

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

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

10.09.2017    50814    tormozit    74    

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

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

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

03.09.2019    29987    YPermitin    81    

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

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

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

17.08.2019    44458    ids79    22    

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

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

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

08.08.2019    147140    ids79    75    

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

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

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

25.04.2019    17898    m-rv    3    

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

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

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

02.08.2019    59179    avalakh    26    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    40668    json    17    

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

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

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

26.07.2019    102816    ids79    16    

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

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

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

16.04.2019    23158    m-rv    18    

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

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

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

17.07.2019    47650    ids79    27    

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

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

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

09.07.2019    33459    YPermitin    14    

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

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

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

04.07.2019    22373    SeiOkami    53    

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

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

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

01.06.2018    36529    m-rv    23    

Работа с настройками системы компоновки данных

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

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    82189    ids79    18    

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

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

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

25.06.2019    74703    ids79    28    

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

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

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

04.06.2019    55381    YPermitin    55    

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

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

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

05.12.2017    30683    itriot11    34    

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

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

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

16.05.2019    62271    YPermitin    31    

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

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

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

07.04.2019    42194    ellavs    131    

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

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

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

28.03.2019    31751    ellavs    90    

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

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

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

14.03.2019    40748    YPermitin    53    

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

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

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

07.03.2019    77040    ids79    49    

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

Практика программирования BDD/TDD-тестирование, Vanessa v8 Россия Бесплатно (free)

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

26.02.2019    28177    Vladimir Litvinenko    28    

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

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

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

03.02.2019    63784    ids79    11