Управляемые формы. Итоги в динамических списках

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

Разработка - Обработки - Универсальные обработки

управляемая форма динамический список итоги

82
Многие задаются вопросами расчета итогов динамических списков в управляемых формах. Здесь мы не будем претендовать на академичность, оставим споры, что мол это не нужно, что это все равно что считать бородатых мужиков на движущемся эскалаторе, что это дополнительная нагрузка. Все это понимают, Кто не понимает - поймет на практике. Поэтому основываемся на... "снегопад, снегопад, если женщина просит..." или "..а мня плевать - мне очень хочется.." Я попытался решить практические проблемы при расчете и выводе итогов. В приложении примеры расчета итогов в иерархическом справочнике и журнале документов.

Рассмотрим на примере неких колонок Поступило и Списано в динамическом списке

1. Размещаем реквизиты итогов

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

2. Отлавливаем изменения на клиенте

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

Пока нерешенной проблемой остается изменение поиска. Стоит заметить, что если поиск выполняется средствами СУБД (не через индекс полнотекстового поиска), то настройки компоновки содержат отбор, соответствующий поиску. Поэтому, если использоватья явный вызов расчета на сервере, то итоги будут рассчитаны с учетом поиска. Но вот отследить на клиенте когда нужно вызвать сервер при поиске пока у меня не получилось.

Добавляем на форме строковый реквизит НастройкаСписка, который и будет нашим флагом. Запускаем обработчик ожидания и следим за изменениями. Если что-то поменялось - обращаемся на сервер за расчетом итогов

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	НастройкиСписка = "...";//при первом вызове посчитаем
	ПодключитьОбработчикОжидания("ПроверкаИзменения",1);
КонецПроцедуры

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

3. Расчитываем реквизиты итогов на сервере

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

Вот пример для журнала банковских выписок:

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

зы:

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

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

ну и для справочника можно добавить вот это:

&НаКлиенте
Процедура ДинамическийСписокПриСменеТекущегоРодителя(Элемент)
	НастройкиСписка = "..."; //сбросили - расчитаем на сервере на след шаге обработчика ожидания
КонецПроцедуры

К статье приложил пару файлов.

82

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

Наименование Файл Версия Размер
Обработка для 1С:Бугалтерия 3.0. Остатки номенклатуры. Иерархический список и итогом.
.epf 8,99Kb
15.12.16
4
.epf 8,99Kb 4 Скачать
Расширение для 1С:Бугалтерия 3.0. Итоги в журнале банковских выписок
.cfe 41,26Kb
15.12.16
8
.cfe 41,26Kb 8 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Lukich66 82 21.12.16 08:37 Сейчас в теме
из текста "Тут нужно сказать спасибо разработчикам ..."- года 2 назад в длинные новогоднии каникулы
"развлекся" нечто подобным (итогами в журнале документов учета путевых листов- бац оперативно посмотреть в отборе циферки гсм,РВ и т.п.), когда столкнулся с непреодолимыми на моем уровне проблемами- то б/удовольствия стал смотреть на УФ и ДС. Вот почему некоторый создатель не желает совершенствовать свой -же продукт?
2. argut 84 21.12.16 13:25 Сейчас в теме
Совершенствуют потихоньку :) Поиск более менее нормальный вот не так давно запилили и экспериментируют с ним. Может и события появятся.
3. Dementor 584 21.12.16 16:56 Сейчас в теме
оставим споры, что мол это не нужно


Управляемые формы - это просто песня и легкость разработки. Вот у меня клиент пару месяцев назад в УТ10 в журнале заказов заказал нумерацию списка - что бы сбоку были порядковые номера. При этом при смене периода журнала, при наложении фильтров, при смене сортировок, что бы эта нумерация пересчитывалась и была актуальной: нашел по поиску нужный документ и видишь, что он 15345, а вверх и вниз идет уменьшение и увеличение счетчика. Для УФ это было бы легко, но тут обычная форма. Пытался я его отговорить, но ему нужно, а иначе он работать не может.... Пришлось сделать, даже не тормозило при прокрутке :)

Кстати, использование данных для вывода значения в подвале - правильное решение. Если пробовать менять текст в свойстве ТекстПодвала, то это будет приводить к пересозданию формы и лишнему серверному вызову.
4. EvgeniuXP 21.12.16 23:57 Сейчас в теме
(3) дополнение к последнему абзацу: а если на форме еще есть горизонтальные и вертикальные сплитеры - то они будут сбрасываться на первоначальное положение в форме - что опять же будет не удобно пользователю.
6. Yashazz 2844 06.02.17 18:54 Сейчас в теме
(3) "Управляемые формы - это просто песня и легкость разработки"? Это вы или иронизируете, или грустно шутите, наверное. Всерьёз такое сказануть вряд ли можно.
7. Dementor 584 06.02.17 22:48 Сейчас в теме
(6) Вы совершенно верно все подметили - это была грустная шутка для тех, кто в теме.
С одной стороны некоторые вещи стали проще чем были в обычных формах (те же гибкие ДинамическиеСписки вместо дубовых объектов СправочникСписок и ДокументСписок), но с другой - многое бесит. Невозможность управлять самопоявляющимися отступами на форме, недоступность изменения свойств заголовков элементов, слетающие условные оформления на сложных списках и так далее...
5. Yashazz 2844 06.02.17 18:49 Сейчас в теме
Мдя. Не понял причин ажиотажа. Задача тривиальная, решение так себе, ресурсоёмкое и не очень-то универсальное.

За пассажи вроде получения результата в таблицу значений и потом итог по колонке вообще сразу минусовать хочется. Автор, видимо, не в курсе, что умеет СКД в части агрегирования данных и вообще итогов. И уж точно автор не представляет, что будет с сеансовыми данными при солидной выборке. Так что - учить матчасть.

Ну и ещё: во-первых, и без всяких ПолучитьИсполняемуюСхемуКомпоновкиДанных() можно обойтись, хотя и неудобнее; во-вторых, очень любопытно, что будет с таким подходом, если юзер возьмётся всяко группировать динамический список (потому и "отбор по текущему родителю" может быть бессмысленным), и в третьих, такие вещи делаются архитектурно иначе. Если клиенту нужны итоги, надо организовать их подачу отдельной механикой, а не лепить экселеобразный итог по колонке, простихосспади.

Впрочем, это хорошая публикация. Чем больше их будет, тем больше нам потом заработка на оптимизации отчаянно тормозящей системы)))
8. argut 84 07.02.17 07:01 Сейчас в теме
(5)
Автор, видимо, не в курсе, что умеет СКД в части агрегирования данных и вообще итогов.

Ну так тут СКД и формирует таблицу из одной строки уже сагрегированную.

(5)
И уж точно автор не представляет, что будет с сеансовыми данными при солидной выборке.

Для этого и обсуждаем чтобы люди, которые опытнее могли помочь менее опытным.
9. Yashazz 2844 07.02.17 10:35 Сейчас в теме
(8) Одну сагрегированную? Ну это наивные надежды, что, грохнув группировки, мы добьёмся от СКД нужного результата. Это ж надо нормальную пустую группировку создать, авто-поле, все дела. СКД понимает, только когда ей всё жёстко "в лоб" указано.
10. Leits 1 20.09.18 09:51 Сейчас в теме
Спасибо, пригодилось! Интересно, на данный момент более простого способа разработчики не изобрели?
11. bob_ 44 07.11.18 11:18 Сейчас в теме
Спасибо, но заработало только после следующих изменений:

// этот кусок
        Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
	//заполняем реквизиты итогов подвала
	ИтогиПоступилоПодвал 	= Результат.Итог("Поступление");
	ИтогиСписаноПодвал 		= Результат.Итог("Списание");
// --------------------

// заменил этим:
        ДанныеТЗ = Новый ТаблицаЗначений;
	ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
	
	Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
	Для каждого СтрокаТЗ Из ДанныеТЗ Цикл
		ИтогиПоступилоПодвал =  СтрокаТЗ.Поступление;
		ИтогиСписаноПодвал = СтрокаТЗ.Списание;
	КонецЦикла;	
// --------------
Показать

до изменений Результат это табличныйдокумент, для него итог не работает.
12. Andruykha 168 18.09.19 05:29 Сейчас в теме
Оставьте свое сообщение

См. также

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы) 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Универсальные функции

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    519    3    dm1try    0       

Фоновое задание с произвольной выборкой и произвольной обработкой 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки

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

1 стартмани

03.10.2019    1296    warden    3       

Универсальный шаблон многопоточной обработки (на примере проверки работы Web-сервисов) 8

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

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

3 стартмани

17.09.2019    760    3    1C_Casual    4       

Картинки конфигурации 26

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

Иногда перед разработчиками 1С встает вопрос: есть ли подходящая общая картинка в конфигурации или нужно рисовать свою иконку для кнопки? А какие вообще картинки есть в конфигурации и какие у большинства из них размеры? Поиск подходящей картинки через Конфигуратор, мне показался не совсем удобным, поэтому и появился отчет по общим картинкам конфигурации. Отчет универсальный должен работать в любой конфигурации и на обычных и на управляемых формах. Важно: версия платформы 1С должна быть 8.3.14 или выше.

1 стартмани

10.09.2019    1644    10    rusmil    6       

Еще один способ программной модификации управляемых форм 11

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

Пример программной модификации управляемой формы для случая когда вызов метода СобытияФорм.ПриСозданииНаСервере разработчиком конфигурации не предусмотрен.

1 стартмани

03.09.2019    1104    infosoft-v    15       

Универсальная форма объектов (для УФ) 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки

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

1 стартмани

29.08.2019    1136    2    Ihty    0       

Индикатор на управляемой форме 23

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

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

1 стартмани

18.08.2019    3342    6    aximo    28       

Обновление данных в ячейках таблицы формы на управляемых формах 9

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

На очередном проекте решал задачу по расчету значений колонок в табличных полях формы. Задача казалась достаточно простой. Однако возникла необходимость работать не только с реквизитами формы типа «ТаблицаЗначений», но и с типом «ДеревоЗначений». Релиз платформы 8.3.13.1644

1 стартмани

15.08.2019    942    BraunAlex    2       

Удобный выбор из таблицы/дерева в УФ 61

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

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    2875    4    Yashazz    18       

Отбор на управляемой форме из списка значений 41

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

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

1 стартмани

09.08.2019    4186    4    nagaitseff    6       

Изменяющееся контекстное меню в 1С 8.3 44

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

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

1 стартмани

06.08.2019    4225    1    signum2009    14       

Загрузка дополнительных реквизитов и сведений 6

Инструменты и обработки no Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Россия Абонемент ($m) Обработка документов Универсальные обработки Обработка справочников

Обработка по загрузке произвольных значений в произвольные дополнительные реквизиты и сведения объектов системы с возможностью настраиваемого поиска объектов для загрузки. (Управляемые формы)

2 стартмани

17.07.2019    1056    7    navic    0       

Редактирование объектов и движений документов 4

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Обработка документов Универсальные обработки Обработка справочников

Редактирование реквизитов и табличных частей объектов (справочники, документы, пвх, планы счетов, пвр, бизнес-процессы, задачи) и движений документов (управляемая форма)

1 стартмани

17.07.2019    1045    14    anreko    5       

Markdown-editor в 1С (с сохранением в HTML) 43

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

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

1 стартмани

04.07.2019    2669    12    riposte    3       

Разбор маркировки табачной продукции 6

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Windows Оптовая торговля Розничная торговля Абонемент ($m) Универсальные обработки

Вытаскиваем максимум информации из маркировки сигарет. Максимум включает: признак групповой упаковки, GTIN, код идентификации упаковки, МРЦ, признак тестовой маркировки.

3 стартмани

02.07.2019    1458    2    philya    3       

Модификация управляемых форм 6

Инструменты и обработки Программист Конфигурация (md, cf) v8::УФ Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

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

1 стартмани

29.06.2019    1744    vadim1980    2       

Чат (мессенджер) для управляемых форм 1С 8.3 (Расширение) 13

Инструменты и обработки no Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Представляю вам чат для управляемых форм платформы 8.3. Давно сталкивался с тем, что просят открыть какой-нибудь документ или справочник, тебе скидывают его номер или название, а ты потом ищешь его по базе. Вам это знакомо? Тогда этот чат для вас. Подробности ниже.

4 стартмани

27.06.2019    3430    6    Isa816    20       

Обработка-редактор HTML 33

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

Редактор HTML для управляемого интерфейса 8.3.

1 стартмани

10.06.2019    3217    26    ValeriVP    6       

Работа с файлами (обычная и управляемая форма) 83

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!

1 стартмани

10.06.2019    5563    43    Xershi    40       

Псевдозакладки в управляемой форме 7

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

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

1 стартмани

05.06.2019    1768    5    tusv    30       

Индикатор выполнения длительных операций на сервере 1С 8.3 (управляемые формы) 6

Инструменты и обработки Программист Архив с данными v8::УФ Россия Windows Абонемент ($m) Практика программирования Разработка Работа с интерфейсом

Индикатор выполнения (отображение прогресса) длительных операций в тонком клиенте 1С:Предприятия 8.3, когда полностью весь код исполняется на сервере, а клиент просто ждёт завершения. Используются внешние средства (либо командное окно Windows, либо приложение Java).

1 стартмани

03.06.2019    6544    D.B.Sokolov    20       

Программное создание контекстного меню по списку данных 5

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

Учебный пример программного создания контекстного меню в табличной части (динамическом списке) по списку данных.

1 стартмани

03.06.2019    1753    3    vasilev2015    0       

Конвертация Excel файла в MXL 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Загрузка и выгрузка в Excel

Простейший конвертор файлов Excel в MXL. Когда заказали отчет, а лень его рисовать. Поддерживает xls и xlsx. Те, кому лень писать, можете скачать ниже:

1 стартмани

21.05.2019    2058    7    ogidni    9       

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

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

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

1 стартмани

17.05.2019    2195    2    artms    0       

Редактирование и просмотр JSON в интерфейсе 1С (через поле HTML документа) 7

Инструменты и обработки Программист Стажер Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Работа с интерфейсом

Позволяет открыть любой текст JSON в поле HTML Документа в удобном для редактирования виде, и получить результаты редактирования. Обработка является оберткой над сайтом http://jsoneditoronline.org, для работы обработки требуется доступ к интернету на клиенте.

1 стартмани

16.05.2019    1750    4    VVi3ard    0       

Копирование элементов управляемых форм 6

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

Всем тем, кто создавал элементы управляемых форм программно - посвящается...

1 стартмани

16.05.2019    1882    5    ValeriVP    0       

Табличная часть из дополнительных реквизитов с обработкой событий в расширении 6

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

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

1 стартмани

13.05.2019    2632    1    mvxyz    7       

Калькулятор для управляемых форм. 1С 8.3 5

Инструменты и обработки Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Калькулятор для 1С 8.3 управляемой формы. Работает на всех конфигурациях. В обработку входят все функции стандартного калькулятора.

1 стартмани

13.05.2019    1879    1    Nefilimus    4       

Быстрый запрос 41

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

Можно ли дать пользователю "удочку", а не "рыбу"? До сих пор ответ на этот вопрос был отрицательным. Всякий инструмент, который мог бы делать с базой данных все или почти все (или хотя бы многое), отвергался пользователями, как слишком сложный. Вспомните тот же SQL, который изначально разрабатывался именно как пользовательский инструмент. "Быстрый запрос" - это попытка устранить сложность, но сохранить при этом универсальность.

1 стартмани

29.04.2019    5372    15    mkalimulin    28       

Электронная таблица в 1С средствами табличного документа 65

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки

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

1 стартмани

23.04.2019    5368    43    user706545_kseg1971    36       

Группировка по виду документа в "Задачи мне" (расширение для 1С:Документооборот) 10

Инструменты и обработки Программист Пользователь Расширение (cfe) v8::УФ v8::Запросы v8::Бизнес-процессы ДО УУ Документооборот и делопроизводство Абонемент ($m) Обработка документов Работа с интерфейсом

Расширение для 1С:Документооборот (2.1), позволяющее сгруппировать все задачи из списка "Задачи мне" по виду документа (служебные записки, приказы и т.д.).

3 стартмани

16.04.2019    2350    12    zannv    13       

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

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

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

05.04.2019    3755    artkor    1       

Просмотр и сравнение реквизитов объектов (УФ и Обычная) + Генерация программного кода 1С для заполнения нового объекта 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Инструментарий разработчика

Обработка показывает все реквизиты объектов (Справочников или Документов), в том числе скрытые. Позволяет сравнить реквизиты 2-х или нескольких объектов. Формирует программный код 1С для быстрого заполнения новых объектов.

1 стартмани

05.04.2019    1807    17    S_Mit    15       

Универсальная печатная форма "Анализ объекта" + шаблон подключаемой обработки для 1С на управляемых формах 12

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

Универсальная печатная форма для всех программ на управляемых формах. Результат печати содержит все реквизиты и табличные части всех документов и справочников (имя + синоним + значение реквизита или поля табличной части), показывает уникальный идентификатор (УИД/GUID) объекта и дату создания (даже справочника) на основании УИД. Отказоустойчивость кода обработки позволяет ей открываться как в типовых, так и в самописных программах (большинство обычных внешние печатных форм этого не могут). Кроме интерактивного открытия есть возможность подключения к конфигурации. После добавления появится команда печати почти во всех документах и справочниках. Автоматически определяет среду подключения и выбирает доступный вариант вывода: общая форма печати или же отображение табличного документа в новой форме. Все реквизиты любого объекта получает запросом, а не перебором строк, что ускоряет выполнение команды.

1 стартмани

05.04.2019    6169    20    Aleksandr55555    2       

Разбивка отчета на страницы с выводом шапки на каждой странице 6

Инструменты и обработки Бухгалтер Пользователь Расширение (cfe) v8 v8::УФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m) Универсальные обработки

Реализовано в виде расширения для ЗУП 3.1. В принципе, можно использовать в в любой базе 1С.

1 стартмани

04.04.2019    2014    3    kwazi    0       

"Все функции" с возможностью поиска по первым символам 10

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

Быстрый поиск по первым буквам имени объекта, возможность фильтрации списка по подстроке.

1 стартмани

21.03.2019    1755    5    m0528    2       

Форма выбора периода как в Такси УФ JS 17

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

Однажды мне пришла задача: "Ограничить выбор периода интерактивно". Но, как оказалось, типовая форма выбора периода не позволяет ограничивать и учитывать запреты (или, может, я этого не знаю?). Так вот раз, два и готово.

1 стартмани

21.03.2019    2913    4    Xapac    2       

Снятие блокировки элементов управляемой формы для редактирования 21

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Внешняя обработка + код с одной функций разблокировки элементов управляемой формы владельца для редактирования в любых конфигурациях с использованием БСП. Тестировалось на платформе 8.3.10.2667 и выше

1 стартмани

21.03.2019    1887    1    independ    6       

Табло (управляемые формы) НаКлиенте и НаСервере 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки

Внешняя обработка, аналог Табло "обычного" приложения (или толстого клиента).

1 стартмани

18.03.2019    1720    3    user-z99999    0       

Печать брошюры средствами Acrobat Reader для конфигураций на БСП 4

Инструменты и обработки Программист Бухгалтер Пользователь Расширение (cfe) v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки

Данное расширение позволяет производить печать табличного документа средствами Adobe Reader нажатием одной кнопки. Т.е. это автоматизация процесса: сохранить в pdf - открыть расположение файла - открыть pdf - нажать печать. Будет полезна тем, кому часто приходится печатать брошюры(прайсы, личные карточки сотрудников(А3), и т.д.)

3 стартмани

11.03.2019    1390    1    EVKash    7       

Обработка для выгрузки и загрузки данных XML 8.3. С отбором, предпросмотром данных и сохранением настроек 10

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Универсальные обработки Обмен через XML

Обработка Выгрузки и загрузки данных XML 8.3 на управляемых формах. Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью. (Описание взято с ИТС)

1 стартмани

07.03.2019    3871    56    Gmix    1       

Отображение больничных и прогулов цветом в табеле учета рабочего времени. ЗУП 3.1 4

Отчеты и формы Бухгалтер Расширение (cfe) v8::СПР v8::УФ ЗУП3.x Россия БУ Учет рабочего времени Абонемент ($m) Обработка документов Работа с интерфейсом

Добавляет в табличную часть документа Табель учета рабочего времени условное оформление. Подсвечивает в табеле дни разными цветами, в зависимости от вида часов.

1 стартмани

01.03.2019    1889    10    macrosina    1       

Восстановление открытых окон прошлого сеанса работы 9

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ БП3.0 Windows Абонемент ($m) Работа с интерфейсом

По завершении работы в 1С хочу с утра продолжать работать с теми же окнами, если остались задачи на утро.

1 стартмани

01.03.2019    1933    2    pupkinSana    0       

Программное добавление элементов на управляемую форму 31

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

Пример добавления Команд, Полей ввода, Групп, Страниц, Реквизитов, Обработчиков событий.

1 стартмани

13.02.2019    8182    12    spec8s    11