Нестандартная расшифровка СКД или расшифровка одного отчета СКД при помощи другого отчета СКД с выбором варианта настроек (в управляемых формах, методика + пример для УТ11)

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

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

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

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

За основу отчета для расшифровки взят [УТ11] Дебиторка fifo по долгам контрагентов (СКД, управляемый интерфейс), к которому добавлена актуальная возможность расшифровки через стандартный отчет УТ11 "РасчетыСПартнерами". 

Сама методика работает в любой конфигурации на управляемых формах, но пример привожу для УТ11. Отчет интересен не только как реализация методики гибкой расшифровки, но и как удобное подспорье, для пользователя непосредственно при использовании.

Анимированная gif картинка показывает то, что увидит пользователь при попытке расшифровки по элементу "Партнер", предварительно построенного начального отчета:

Принцип работы

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

Реализация:

  1. Прежде всего, чтобы иметь возможность запрограммировать расшифровку нам понадобится форма расшифровываемого отчета, например ФормаОтчета, её необходимо добавить (элементы формы система добавит сама).

  2. Для элемента формы «Результат» в событии «ОбработкаРасшифровки» нужно добавить процедуру, например: «РезультатОбработкаРасшифровки»

  3. В модуле этой формы (ФормаОтчета) нужно наполнить процедуру РезультатОбработкаРасшифровки содержимым:

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

   
ЭтоГруппа = Ложь;
//Заполняем массив отрабатывемых типов 
   
МассивРасшифровываемых = Новый Массив();
   
МассивРасшифровываемых.Добавить("Партнер");
   
МассивРасшифровываемых.Добавить("Контрагент");
   
МассивРасшифровываемых.Добавить("Организация");

//Получаем значение, по которому произвели двойной щелчек
   
РасшифровываемоеЗначение = ПолучитьРасшифровкуНаСервере(Расшифровка, МассивРасшифровываемых, ЭтоГруппа); //Партнер, Контрагент или Организация.

   
Если РасшифровываемоеЗначение = Неопределено Тогда Возврат; КонецЕсли;
   
СтандартнаяОбработка = Ложь;


//Создание и заполнени объекта ОбработкаРасшифровкиКомпоновкиДанных (подробности в Хелпе)

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

   
ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет;
   
ПараметрВыполненногоДействия = Неопределено;
   
ДоступныеДействия = Новый Массив;
   
ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   
//ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Отфильтровать);
    //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);
    //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Расшифровать);
    //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Сгруппировать);
    //ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);
   
ДополнительныеПунктыМеню = Новый СписокЗначений;
   
ОбщаяСтрока = "Показать расчеты с отбором " + """" + Строка(ТипЗнч(РасшифровываемоеЗначение)) + " = " + РасшифровываемоеЗначение + """";
   
ДополнительныеПунктыМеню.Добавить( 1, ОбщаяСтрока + " за месяц");
   
ДополнительныеПунктыМеню.Добавить( 3, ОбщаяСтрока + " за 3 месяца");
   
ДополнительныеПунктыМеню.Добавить( 6, ОбщаяСтрока + " за пол года");
   
ДополнительныеПунктыМеню.Добавить(12, ОбщаяСтрока + " за год");


//Выдаем меню расшифровки, считываем реакцию пользователя
   
ОбработкаРасшифровки.ВыбратьДействие(Расшифровка, ВыполненноеДействие, ПараметрВыполненногоДействия, ДоступныеДействия, ДополнительныеПунктыМеню);

    Если
ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Нет Тогда
    ИначеЕсли
ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда

//Имитация стандартного действия
       
ОткрытьЗначение(ПараметрВыполненногоДействия);
    ИначеЕсли
ТипЗнч(ВыполненноеДействие) = Тип("Число") Тогда // Тут требуется наша расшифровка

       
ФормаР = ПолучитьФорму("Отчет.РасчетыСПартнерами.Форма", , , РасшифровываемоеЗначение); //Форма Расшифровки.

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


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

       
ДатаКонца = ПолучитьЗначениеПераметраКомпоновщикаНастроек(ЭтаФорма.Отчет.КомпоновщикНастроек, "ДатаКонца");
       
ПериодОтчета = Новый СтандартныйПериод(ДобавитьМесяц(ДатаКонца, - ВыполненноеДействие), ДатаКонца);
       
УстановитьЗначениеПераметраКомпоновщикаНастроек(КомпоновщикНастроекР, "Период", ПериодОтчета);

//Формируем и выводим отчета-расшифровку
       
СтруктураВозврата = ОбработатьРасшифровкуНаСервере(ФормаР.Отчет, "ОтчетОбъект.РасчетыСПартнерами", ФормаР.Результат, ФормаР.ДанныеРасшифровки, ФормаР.УникальныйИдентификатор);
       
ФормаР.Результат = СтруктураВозврата.Результат;
       
ФормаР.ДанныеРасшифровки = СтруктураВозврата.ДанныеРасшифровки;
       
ФормаР.Элементы.Результат.ОтображениеСостояния.Видимость = Ложь;  //Избавление от надписи. Отчет не сформирован
       
ФормаР.Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;
       
ФормаР.Открыть();

    КонецЕсли;
КонецПроцедуры

 

Серверная процедура ПолучитьРасшифровкуНаСервере, вызываемая из РезультатОбработкаРасшифровки - получает значение расшифровки (конкретную ссылку на элемент справочника, список типов которых переданы в параметрах), а также возвращает признак группы ЭтоГруппа:

&НаСервере
Функция ПолучитьРасшифровкуНаСервере(Расшифровка, МассивИменРасшифровки, ЭтоГруппа = Ложь)
   
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
   
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
    Для Каждого
ИмяРасшифровки Из МассивИменРасшифровки Цикл
       
ПолеНоменклатура = Поля.Найти(ИмяРасшифровки);
        Если Не
ПолеНоменклатура = Неопределено Тогда Прервать; КонецЕсли;
    КонецЦикла;

    Если
ПолеНоменклатура = Неопределено Тогда
        Возврат Неопределено;
    Иначе
       
ЭтоГруппа = ПолеНоменклатура.Значение.ЭтоГруппа;
        Возврат
ПолеНоменклатура.Значение;
    КонецЕсли;
КонецФункции


Клиентская процедура УстановитьЗначениеОтбораКомпоновщикаНастроек вызываемая из РезультатОбработкаРасшифровки (и из УстановитьЗначениеОтбораКомпоновщикаНастроекПоОбразцу) - устанавливает параметры отбора Компоновщика настроек отчета расшифровки, сначала пытается произвести установку пользовательских настроек отбора:

&НаКлиенте
Процедура УстановитьЗначениеОтбораКомпоновщикаНастроек(КомпоновщикНастроекР, ИмяОтбора, Значение, ВидСравнения, Использование = Истина)
   
ПолеЭлементаОтбора = КомпоновщикНастроекР.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти(ИмяОтбора).Поле;

   
ИДЭлмОтбора = "";
    Для Каждого
Элемент Из КомпоновщикНастроекР.Настройки.Отбор.Элементы Цикл
        Если
Элемент.ЛевоеЗначение = ПолеЭлементаОтбора Тогда ИДЭлмОтбора = Элемент.ИдентификаторПользовательскойНастройки; Прервать; КонецЕсли;
    КонецЦикла;

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

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

   
ЭлементОтбора.ПравоеЗначение = Значение;
   
ЭлементОтбора.Использование = Использование;
   
ЭлементОтбора.ВидСравнения = ВидСравнения;
КонецПроцедуры

 

Клиентская процедура УстановитьЗначениеОтбораКомпоновщикаНастроекПоОбразцу вызываемая из РезультатОбработкаРасшифровки - устанавливает параметры отбора Компоновщика настроек отчета расшифровки извлекая их из текущего (расшифровываемого) отчета:

&НаКлиенте
Процедура УстановитьЗначениеОтбораКомпоновщикаНастроекПоОбразцу(КомпоновщикНастроек, КомпоновщикНастроекР, ИмяОтбора)

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

   
УстановитьЗначениеОтбораКомпоновщикаНастроек(КомпоновщикНастроекР, ИмяОтбора, ЭлементОтбора.ПравоеЗначение, ЭлементОтбора.ВидСравнения, ЭлементОтбора.Использование);
КонецПроцедуры

 

Клиентская функция  ПолучитьЗначениеПераметраКомпоновщикаНастроек и процедура УстановитьЗначениеПераметраКомпоновщикаНастроек вызываемые из РезультатОбработкаРасшифровки - устанавливают и получают значения параметров из компоновшика настроек СКД:

&НаКлиенте
Функция ПолучитьЗначениеПераметраКомпоновщикаНастроек(КомпоновщикНастроек, ИмяПараметра)
   
ИДНастройки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра).ИдентификаторПользовательскойНастройки;
   
Коллекция = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Возврат
Коллекция.Найти(ИДНастройки).Значение;
КонецФункции

&НаКлиенте

Процедура УстановитьЗначениеПераметраКомпоновщикаНастроек(КомпоновщикНастроекР, ИмяПараметра, Значение)
   
ИДНастройкиПараметраР = КомпоновщикНастроекР.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра).ИдентификаторПользовательскойНастройки;
   
КоллекцияР = КомпоновщикНастроекР.ПользовательскиеНастройки.Элементы; //Пользовательские настройки
   
КоллекцияР.Найти(ИДНастройкиПараметраР).Значение = Значение;
КонецПроцедуры

 

Серверная процедура  ОбработатьРасшифровкуНаСервере, вызываемая из РезультатОбработкаРасшифровки - собственно создает (компонует) отчет для дальнейшего отображения на экране 

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

 

Коротко поясню что делается в основной процедуре  РезультатОбработкаРасшифровки: 

  1. Получаем Ссылку (одного из нужных типов), по которой пользователь произвел клик (вызов серверной функции "ПолучитьРасшифровкуНаСервере") 

  2. Формируем и наполняем содержимым объект ОбработкаРасшифровки

  3. Выводим на экран меню расшифровки и считываем выбор пользователя

  4. В зависимости от выбора пользователя либо вызываем стандартное действие, либо производим нестандартную расшифровку (//infostart.ru/public/151562/)

 

73

Скачать файлы

Наименование Файл Версия Размер
ДолгиКлиентов.erf
.erf 15,06Kb
10.12.12
259
.erf 15,06Kb 259 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Поручик 4329 11.12.12 12:02 Сейчас в теме
(0) Может оформите код нормально, с помощью раскраски кода http://infostart.ru/public/19856/? Цветомузыка по глазам бьёт.
2. mxm2 1141 11.12.12 17:00 Сейчас в теме
(1) Поручик, Спасибо за ссылку: Переделал, но не уверен что стало лучше.
3. Модератор раздела artbear 12.12.12 10:51 Сейчас в теме
Хорошо бы шрифт поменять. Текущий слишком плотный, буквы очень близко :(
4. mxm2 1141 12.12.12 18:06 Сейчас в теме
(3) artbear, уменьшил размер шрифта, теперь вроде "читабельно"
5. gn@mik 50 24.12.12 17:28 Сейчас в теме
Большое спасибо. Данный алгоритм помог мне создать отчет остатки товаров с расшифровкой по оборотам за период.
6. mxm2 1141 24.12.12 20:56 Сейчас в теме
(5) gn@mik, если в пределах стандартной (или почти стандартной) конфигурации - то смело выкладываете результат, и Вам польза и сообществу.
7. It-developer 20 02.04.13 12:13 Сейчас в теме
Спасибо. 3 часа *бъюсь уже с расшифровкой. Это статья тоже немного помогла
8. mxm2 1141 02.04.13 14:22 Сейчас в теме
(7) It-developer, возможно это вариант проще: http://infostart.ru/public/161994/
9. Serge_ASB 25.03.14 11:23 Сейчас в теме
а как-то можно сделать. чтобы расшифровка выдавалась в одной таблице с отчетом, как нижний уровень группировки, например?
Было б удобно:
например Документ Реализация, а к нему снизу табличная часть документа: наименование, количество, цена, сумма
Или
Документ Выписка, а к нему снизу документы Поручение входящее/исходящее - Контрагент, Сумма (приход/Расход)
11. alex_shkut 45 03.06.14 15:50 Сейчас в теме
(9)Думаю, что можно. Добавить программно вложенную схему с рашифровкой или сделать нужное количество предопределенных.
Перестроить программно структуру отчета с вставкой вложенной схемы на нужный уровень и переформировать полученный отчет.
Это только теория, я ее не проверял.
10. alex_shkut 45 03.06.14 15:44 Сейчас в теме
В файловом варианте все работало без проблем, пришлось изменить немного код:
Данные = ДанныеРасшифровкиОтчета; //было ПолучитьИзВременногоХранилища( тра-ля-ля
Поскольку никакого сервера не было в помине - все было "на клиенте" по умолчанию.
Теперь клиент-сервер.
Исходные: сервер терминалов Виндовс, толстый клиент. Сервер 1С и база Постгри на Линуксе.

Попытка исполнить отчет созданный на базе этой статьи привел к ошибке "Процедура с таким именем не определена ?ПолучитьРасшифровку"
Пытался понять, как все это подружить, и просто убрал директиву &НаСервере
Работает. Можно допилить под все варианты, но я пока этим заниматься не буду. Тонкий клиент мне еще не светит :)))
12. Razrab1c 41 07.01.15 21:28 Сейчас в теме
спасибо огромное, мне статья очень помогла!
13. Afandi 01.03.15 13:03 Сейчас в теме
Спасибо за публикацию, мне очень помогло... хотя я и переделал на 8.2 в режиме толстого клиента в файловой версии.
Все получилось кроме одной одного момента..

Во втором отчете, который был открыть передачей параметров расшифровки перестает работать расшифровка отрытого отчета (второго)

В отчете "А" путем добавления своих параметров расшифровки и обработки их в процедуре РезультатОбработкаРасшифровки открываю второй отчет "Б" через вызов:
ФормаР = Отчеты.Долговая.ПолучитьФорму("ФормаОтчета");

Но вот во втором отчете "Б" перестает открывается стандартное меню расшифровки.
Вместо него появляется меню с какими то цифрами.

Как это можно исправить?

14. chmv 07.04.15 17:42 Сейчас в теме
15. maloy-v 25.09.15 10:04 Сейчас в теме
Управляемые формы - это заворот мозгофф...
Видимо, я древний как мамонт, но тока дошли руки до этого дела.
Конечно, гениальный финт, с формированием отчёта без открытия формы!

Где-то на Мисте я подсмотрел такой вариант:

получили значение расшифровки и решили, что будем открывать другой отчёт:
...................
ПараметрыОтчета = Новый Структура("КлючВарианта","РасчетыСПартнерами");
ПараметрыОтчета.Вставить("СформироватьПриОткрытии",Истина);

ФормаОтчета = ПолучитьФорму("Отчет.РасчетыСПартнерами.Форма",ПараметрыОтчета);

НастройкиРасчеты = ФормаОтчета.Отчет.КомпоновщикНастроек.Настройки;
ПользНастройкиРасчеты = ФормаОтчета.Отчет.КомпоновщикНастроек.ПользовательскиеНастройки;
............................
бла бла бла..... устанавливаем пользовательские настройки компоновщика открываемого отчёта.
............................
ПараметрыОтчета.Вставить("ПользовательскиеНастройки",ПользНастройкиРасчеты);

ФормаОтчета.Открыть();

Вроде, работает, и можно не морочиться с ОтображениеСостояния.
Или я не замечаю каких-то косяков в таком подходе?
16. Ольга_tmp 57 29.05.16 04:12 Сейчас в теме
ФормаР = ПолучитьФорму("ВнешнийОтчет.МойОтчет.Форма", , , РасшифровываемоеЗначение);
ОтчетОбъект = ДанныеФормыВЗначение(ФормаР.Отчет, Тип(""ВнешнийОтчетОбъект.МойОтчет""))

во второй строке ошибка "Несоответствие типов (параметр номер '2')"

Работает такой вариант: ОтчетОбъект = ДанныеФормыВЗначение(ФормаР.Отчет, ТипЗнч(РеквизитФормыВЗначение("Отчет")));
17. kotlovD 61 05.09.17 08:33 Сейчас в теме
18. akim2040 13 22.05.18 07:58 Сейчас в теме
Может кто скинуть простой пример расшифровки для внешнего отчета. Когда расшифровывается одна вложенная схема другой? Соответственно для каждой схемы настроен свой вариант отчета.
Оставьте свое сообщение

См. также

Напоминалка о просроченной задолженности (долг клиента на форме расходной накладной) 2

Отчеты и формы Бухгалтер Пользователь Расширение (cfe) v8 v8::ОУ УТ11 УУ Абонемент ($m) Дебиторская и кредиторская задолженность Обработка документов

Данная разработка добавляет на форму документа "Реализация товаров и услуг" данные об общей и просроченной задолженности по данному клиенту.

2 стартмани

11.10.2019    424    2    simuljakr    0       

Организация функционала наценок по позициям либо сегментам номенклатуры в УТ 11.4 5

Статья Программист Документ XML v8::ОУ v8::УФ УТ11 Россия УУ Ценообразование, анализ цен Абонемент ($m) Практика программирования Разработка

В статье описан один из методов реализации задачи установки скидок/наценок в соответствии с заданным процентом по позициям/сегментам номенклатуры. Так-же продемонстрирован принцип создания произвольного запроса к ИБ в виде цен. Протестировано на релизе Управление торговлей, редакция 11.4.8.92.

1 стартмани

07.08.2019    890    cheiser1982    2       

Расчет сложных итогов СКД 87

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf ОС Абонемент ($m) Практика программирования Разработка

Малоизвестный прием для расчета итогов в отчетах на СКД.

1 стартмани

05.08.2019    4556    1    masterkio    7       

Многоуровневая нумерация в отчете СКД (программный вывод) 38

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Реализация многоуровневой нумерации при программном выводе отчета СКД основываясь на его структуре.

1 стартмани

01.07.2019    2558    6    lmnlmn    7       

Иерархическая нумерация в отчете СКД с помощью макета поля 23

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Представляю Вашему вниманию вариант решения задачи нумерации строк иерархического отчета на СКД.

1 стартмани

28.06.2019    2556    3    Isonic    14       

Проверка несуществующих полей в настройках СКД 7

Инструменты и обработки Программист Стажер Внешняя обработка (ert,epf) v8 v8::СКД ERP2 УТ11 КА2 Абонемент ($m) Практика программирования Разработка Работа с интерфейсом

Обработка находит все поля настроек СКД, которые утратили свою актуальность Подходит для УТ 11, ERP, КА 2.

1 стартмани

20.06.2019    1340    1    MuI_I_Ika    0       

Простые примеры сложных отчетов на СКД 246

Статья Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Подписи в отчете. Особенности соединения наборов: как соединить несоединяемое. Остатки на дату и обороты по месяцам в одном отчете. Курс валюты на каждую дату без группировок и соединений в запросе. Отчет с произвольными колонками и с произвольной последовательностью. "Неадекватный отчет".

1 стартмани

12.06.2019    11315    10    Hatson    22       

Картинки во внешней печатной форме (Шапка и табличная часть) 9

Статья Программист Внешняя обработка (ert,epf) v8::ОУ v8::УФ УТ11 Россия Абонемент ($m) Печатные формы документов Практика программирования Разработка

Способы вывести на печать картинку в шапке и в табличной части внешней печатной формы. Управление торговлей, редакция 11 (11.4.7.150).

1 стартмани

27.05.2019    1919    2    Povinger    1       

Поле "Отбор" в управляемой форме используя СКД 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8::УФ v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка Работа с интерфейсом

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

1 стартмани

17.05.2019    2214    2    artms    0       

Сравнительный отчет между периодами (БП 3.0) 3

Отчеты и формы Бизнес-аналитик Бухгалтер Архив с данными v8 v8::БУ v8::УФ v8::СКД БП3.0 БУ Дебиторская и кредиторская задолженность Оптовая торговля Абонемент ($m) Бухгалтерские

Сравнительный отчет между разными периодами по закупке и продаже, а также по расчетам с контрагентами. Для Бухгалтерии предприятия 3.0.

1 стартмани

16.05.2019    1574    3    Ant10    0       

Сверка остатков по счету 62.02 - 76.АВ 6

Отчеты и формы Бухгалтер Внешний отчет (ert,erf) v8::БУ v8::СКД БП3.0 Россия БУ Дебиторская и кредиторская задолженность Оптовая торговля НДС Абонемент ($m) Бухгалтерские Анализ учета

Сверка остатков по счету 62.02 - 76.АВ (авансы) на заданную дату. Обработок на эту тему полно, но не все отчеты реально отражают сверенное сальдо.

1 стартмани

16.04.2019    1869    17    pupkinSana    0       

Вывод вариантов СКД в таблицы на управляемой форме 25

Статья Программист Внешняя обработка (ert,epf) v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

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

05.04.2019    3779    artkor    1       

Как в СКД по щелчку на какой-либо ячейке в отчете получить значение другой ячейки 102

Статья Программист Стажер Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Задача: по щелчку на ячейке в определенной колонке в таблице отчета нужно получить значение ячейки из другой колонки в этой же строке и передать его в другой отчет (т.е. сделать расшифровку значения другим отчетом).

1 стартмани

27.03.2019    6380    10    ellavs    11       

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

Инструменты и обработки Программист Архив с данными v8 v8::СКД 1cv8.cf Россия Абонемент ($m) Инструментарий разработчика Практика программирования Разработка

Разрабатывалась на 1С:Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.5.407), поэтому использует типовой отчет Состояние штатного расписания, но технология работает для любой конфигурации. Пример внешней обработки с вызовом типового отчета на СКД "Состояние штатного расписания" и передачей ему настроек, изменения имен колонок после выполнения на имена указанные в "Пользовательских полях" или "заголовках" и вывода результата в таблицу значений.

1 стартмани

21.03.2019    1957    5    pavel_pss    0       

Календарь взаиморасчетов (Анализ задолженности покупателей и поставщиков по дням / месяцам). УПП 3

Отчеты и формы Бизнес-аналитик Бухгалтер Внешний отчет (ert,erf) v8 v8::СКД УПП1 Россия УУ Windows Дебиторская и кредиторская задолженность Абонемент ($m) Управленческие

Календарь взаиморасчетов (Анализ задолженности покупателей и поставщиков по дням / месяцам). УПП 1.3 актуальный релиз 117. В данном отчете показывается информация о взаиморасчетах с контрагентами в виде календарного плана. Вы можете анализировать сроки поступления или расходования денежных средств в разрезе дней, либо месяцев. Т.е. осуществляется контроль, как своих оплат, так и следить за задолженностью покупателей с отсрочкой платежа. Добавлены всевозможное группировки, условия и отборы по реквизитам, измерения и ресурсам регистра Взаиморасчеты. Отчет написан в СКД, настройками можно вертеть как угодно.

1 стартмани

19.03.2019    1645    10    machnef    0       

Легкий "тюнинг" УТ 10.3 6

Статья Программист Архив с данными v8 v8::ОУ УТ10 Россия УУ Абонемент ($m) Практика программирования Разработка

Вариант программной реализации изменения форм типовых объектов для конфигурации Управление торговлей 10.3.

1 стартмани

15.03.2019    2040    pm74    6       

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

Статья Программист Внешняя обработка (ert,epf) v8 v8::Mobile v8::СКД 1cv8.cf Россия Android Абонемент ($m) Практика программирования Разработка

СКД в мобильном приложении и меню действий на основе данных расшифровки (отчет, совместимый с мобильной платформой 8.3.13.45).

1 стартмани

12.03.2019    2070    2    majoram    0       

Анализ задолженности покупателей и поставщиков 2

Отчеты и формы Бизнес-аналитик Внешний отчет (ert,erf) v8 v8::СКД УПП1 Россия УУ Дебиторская и кредиторская задолженность Абонемент ($m) Управленческие

Основная суть отчета: отобразить взаиморасчеты Контрагента в разрезе группировок Периода (День, Неделя, Месяц, Год) с указанием Срока оплат, сумм Начального долга, Оплаты, Отгрузки, Конечного долга. Т.е. осуществляет контроль Контрагентов с отсрочкой платежа. Добавлены всевозможное группировки, условия и отборы по реквизитам, измерения и ресурсам регистра Взаиморасчеты. Отчет написан в СКД, настройками можно вертеть как угодно.

1 стартмани

28.02.2019    1399    2    machnef    2       

Корректировка долга для УТ 10.3 2

Отчеты и формы Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ УТ11 БУ УУ Дебиторская и кредиторская задолженность Абонемент ($m) Печатные формы документов

Внешняя печатная форма: Корректировка долга для УТ 10.3 к документу Корректировка долга.

1 стартмани

26.02.2019    2085    prime9    0       

Внешние печатные формы Актов (УТ 11.4) 3

Отчеты и формы Бухгалтер Архив с данными v8 v8::ОУ v8::УФ УТ11 БУ Дебиторская и кредиторская задолженность Производство готовой продукции (работ, услуг) Учет ТМЦ Абонемент ($m) Печатные формы документов

Внешние печатные формы различных Актов (13 шт.) для конфигурации Управление торговлей 11.4 Все формы - с авторегистрацией в соответствующем документе.

1 стартмани

24.02.2019    2297    6    Ant10    0       

Справка по акту инвентаризации ИНВ-17 2

Отчеты и формы Бухгалтер Внешний отчет (ert,erf) v8::БУ v8::СКД БП3.0 Россия БУ Дебиторская и кредиторская задолженность Абонемент ($m) Справки Бухгалтерские

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

2 стартмани

15.02.2019    2186    6    homer_    4       

Акт сверки с факсимиле. УТ 11 2

Отчеты и формы Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ v8::УФ УТ11 Россия БУ УУ Windows Дебиторская и кредиторская задолженность Абонемент ($m) Печатные формы документов

Акст сверки с факсимиле тестировался на платформе 8.3.13.1513, релиз Управление торговлей, редакция 11 (11.4.6.207)

1 стартмани

14.02.2019    2024    11    zemskov    0       

Раскрашенный log-файл без HTML и СМС (используем Форматированный документ в личных целях) 3

Статья Программист Внешняя обработка (ert,epf) v8::ОУ УТ11 КА2 Россия УУ Оптовая торговля Абонемент ($m) Практика программирования Разработка

Иногда пользователям отдается на откуп загрузка каких то данных, результат загрузки которых желательно раскрасить если и не всеми цветами радуги, то хотя бы светофором. Один из вариантов – это использовать Форматированную строку. Следите за руками:

1 стартмани

08.02.2019    2046    1    kembrik    2       

Сквозной рейтинг по иерархии в отчете на СКД 6

Статья Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Разработка

Сквозная нумерация (рейтинг) по группам и элементам справочника в отчете СКД согласно убыванию количества/суммы и т.д.

1 стартмани

07.02.2019    2538    MaxxiMiliSan    2       

Акт сверки расчетов с контрагентом (Форма документа для конфигурации Управление Торговлей 11) 3

Отчеты и формы Бухгалтер Расширение (cfe) v8 v8::ОУ УТ11 Россия УУ Дебиторская и кредиторская задолженность Абонемент ($m) Обработка документов

Данное расширение позволяет просматривать построчную расшифровку задолженности по документам ( по аналогии с Бухгалтерией Предприятия 3.0) в форме документа.

3 стартмани

07.02.2019    1614    2    ITComfort    2       

Особенность встроенной функции Представление() в СКД [поход на грабли] 9

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Адаптация типовых решений

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

1 стартмани

15.01.2019    4049    Dementor    5       

Задолженность покупателей по срокам долга для "1С:Бухгалтерии 3.0" 5

Отчеты и формы Бизнес-аналитик Бухгалтер Внешний отчет (ert,erf) v8 v8::БУ v8::СКД БП3.0 Россия БУ Дебиторская и кредиторская задолженность Абонемент ($m) Бухгалтерские

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

1 стартмани

13.01.2019    6053    49    accounting_cons    12       

Модуль, реализующий хранение настроек отчетов СКД в типовом регистре "Сохраненные настройки" 5

Инструменты и обработки Программист Архив с данными v8 v8::СКД КА1 БП2.0 ЗУП2.5 УТ10 БП1.6 Абонемент ($m) Практика программирования

Модуль, обеспечивающий хранение настроек отчетов на СКД в типовом регистре "Сохраненные настройки", присутствующем в конфигурациях УПП 1.2, 1.3, УТ 10.3, БП 2.0 и т.д.

1 стартмани

12.01.2019    2882    lunjio    0       

Задача 1.13. 1С: Специалист по платформе 8.3 3

Отчеты и формы Программист Архив с данными v8 v8::ОУ Абонемент ($m) Практика программирования Решение задач на 1С:Специалист

Вариант решения задачи 1.13 с комментарием основных моментов (тестировалось на релизе 8.3.9.2170).

1 стартмани

05.01.2019    4625    user913680    8       

Отладка сложных отчетов на СКД 137

Отчеты и формы Программист Расширение (cfe) v8 v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

Расширение для отладки сложных отчетов на СКД (в т.ч. для собираемых программно "на лету") и быстрого перехода к отладке таких отчетов в консоли запросов и отчетов на СКД.

1 стартмани

28.12.2018    13175    53    maxx    42       

Шаблон кросс-таблицы с иерархией на СКД 12

Отчеты и формы Программист Внешний отчет (ert,erf) v8::БУ v8::СКД БП3.0 Россия Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

22.12.2018    3965    5    wizard.ilmir02    2       

Внешние печатные формы к документу "Сверка взаиморасчетов" для УТ 11.4.6.166 1

Отчеты и формы Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ УТ11 Россия БУ УУ Windows Дебиторская и кредиторская задолженность Абонемент ($m) Печатные формы документов

Внешние печатные форма "Акт сверки взаимных расчетов" и "Акт сверки взаимных расчетов (с задолженностью по данным контрагента)" для конфигурации УТ 11.4.6.166

1 стартмани

18.12.2018    2735    10    DarkPinch222    0       

Отчет по задолженности по документам (УТ 11.4) 3

Отчеты и формы Руководитель проекта Внешний отчет (ert,erf) v8 v8::ОУ УТ11 Россия УУ Windows Дебиторская и кредиторская задолженность Абонемент ($m) Управленческие

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

1 стартмани

10.12.2018    2853    14    DarkPinch222    2       

СКД. Сортировка 31

Статья Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

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

1 стартмани

03.12.2018    5186    5    slimper    20       

Валовая прибыль с данными о задолженности клиентов 8

Отчеты и формы Бизнес-аналитик Руководитель проекта Внешний отчет (ert,erf) v8 v8::ОУ УТ11 Оптовая торговля, дистрибуция, логистика Россия УУ Windows Дебиторская и кредиторская задолженность Оптовая торговля Абонемент ($m) Управленческие

Отчет по валовой прибыли с колонками задолженности и оплатами с возможностью группировки по номенклатуре для УТ 11. Выводятся данные по всем реализациям (независимо от того была оплата или нет в заданном периоде). Выводятся данные как по оптовым так и по розничным продажам. Можно делать отбор по типам документов. Можно просмотреть данные продаж с группировкой по номенклатуре.

2 стартмани

27.11.2018    2780    26    Работник    21       

Альтернативный пересчет упаковок товаров в типовых конфигурациях 7

Статья Программист Расширение (cfe) v8 v8::ОУ УТ11 КА2 Оптовая торговля, дистрибуция, логистика Россия УУ Оптовая торговля Учет ТМЦ Абонемент ($m) Практика программирования

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

1 стартмани

24.11.2018    5037    5    ifal    7       

Акт сверки взаиморасчетов и Акт сверки взаиморасчетов по данным контрагента для УТ 11.4 и КА 2.Х 1

Отчеты и формы Бухгалтер Внешняя обработка (ert,epf) v8 v8::ОУ УТ11 КА2 БУ УУ Дебиторская и кредиторская задолженность Абонемент ($m) Печатные формы документов

Внешние печатные формы Акта сверки взаиморасчетов и Акта сверки взаиморасчетов по данным контрагента для УТ 11.4 и 2.Х. С авторегистрацией для соответствующих документов. Для экономии Вашего времени на их разработку.

1 стартмани

23.11.2018    4541    10    program345    1       

Объединение нескольких печатных форм в один табличный документ 26

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Простое решение, как объединить табличные документы с различной шириной колонок в один и чтобы ничего не разъехалось.

1 стартмани

17.11.2018    6217    4    echo77    3       

Дебиторская и кредиторская задолженность с датой возникновения для БП 3.0 3

Отчеты и формы Бухгалтер Внешний отчет (ert,erf) v8 v8::БУ v8::СКД БП3.0 Россия БУ Windows Дебиторская и кредиторская задолженность Абонемент ($m) Бухгалтерские

Отчет выводит остатки по счетам 60.01, 60.02, 62.01, 62.02 с датой возникновения и кол-вом дней (разница между датой возникновения и датой отчета). Отчет можно сформировать в двух вариантах: 1) Полный - выводятся группировки: Счет, Контрагент, Договор, Детальные записи (Дата возн., Дней, Документ расчетов, Сумма) 2) По контрагентам - выводятся группировки: Счет, Контрагент, Детальные записи (Дата возн., Дней, Сумма)

1 стартмани

12.11.2018    1935    20    mikl79    1       

Передача набора данных типа Объект в отчет СКД 5

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

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

1 стартмани

12.11.2018    13713    4    evgen7938    3       

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

Отчеты и формы Программист Внешний отчет (ert,erf) v8::СКД 1cv8.cf Россия Абонемент ($m) Практика программирования

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

1 стартмани

08.11.2018    3745    6    budidich    0       

Группировка измерений в заголовках СКД 62

Статья Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования

Методика создания общей шапки над измерениями в таблице созданной при помощи СКД. Без всякого кода. Только штатными средствами.

1 стартмани

07.11.2018    9881    39    dusha0020    11       

И снова группировка столбцов в СКД 6

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::СКД УТ11 Россия Абонемент ($m) Практика программирования

В публикации описано создание отчета "Остатки по складам" с группировкой по строкам и столбцам.

1 стартмани

23.10.2018    5262    vasilievil    9