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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

зы:

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

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

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

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

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

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

Наименование Файл Версия Размер
Обработка для 1С:Бугалтерия 3.0. Остатки номенклатуры. Иерархический список и итогом.

.epf 8,99Kb
4
.epf 8,99Kb 4 Скачать
Расширение для 1С:Бугалтерия 3.0. Итоги в журнале банковских выписок

.cfe 41,26Kb
8
.cfe 41,26Kb 8 Скачать

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

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


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

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

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

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

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

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

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

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

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

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

до изменений Результат это табличныйдокумент, для него итог не работает.
12. Andruykha 175 18.09.19 05:29 Сейчас в теме
13. OksDallas 22 04.12.19 06:48 Сейчас в теме
Для ФормыСписка справочника заменила вот этот эпизод
Для Каждого ЭлементПользНастроек Из	Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
		//тут отборы и сортировка - отловим их
		НастройкиСпискаТек = НастройкиСпискаТек + СокрЛП(ЭлементПользНастроек) + СокрЛП(Элементы.Список.Период.ДатаНачала) + СокрЛП(Элементы.Список.Период.ДатаОкончания);
	КонецЦикла;


на вот такой:
     Для Каждого Эл Из Список.Отбор.Элементы Цикл
	     НастройкиСпискаТек = НастройкиСпискаТек + СокрЛП(Эл.ЛевоеЗначение) + СокрЛп(Эл.ВидСравнения) +   СокрЛП(Эл.ПравоеЗначение) + СокрЛП(Эл.Использование);
	КонецЦикла;


Почему-то в Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы было пусто после настройки списка - установки отбора. Может потому-что не запоминала настройки? (надо проверить)

А теперь вот какой вопрос: Если не выполнять отбор в настройке списка, а использовать "Поиск" то в отборах ничего не меняется, и где можно увидеть, что менялось значение для поиска?
14. Dzenn 517 12.01.21 11:19 Сейчас в теме
статья в стиле "а давайте отпилим троллейбусу рога и сделаем из него прекрасный автобус"
15. user1162192 24.03.21 16:37 Сейчас в теме
&НаСервере
Процедура Получить_ТЗ_Из_ДинамическогоСписка()
 
	Схема = Элементы.ЧекиККМ.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
	Настройки = Элементы.ЧекиККМ.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
 
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	
	ТЗ = Новый ТаблицаЗначений;
	ПроцессорВывода.УстановитьОбъект(ТЗ); 
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	//Возврат ТЗ;
	
	нал1 = 0;
	карта1 = 0;
	общ1 = 0;
	сдач1 = 0;
	
	Для Каждого Строка Из ТЗ Цикл
       нал1 = нал1+?(Строка.ПолученоНаличными = null,0,Строка.ПолученоНаличными);
	   карта1 = карта1+?(Строка.ПолученоКарта = null,0,Строка.ПолученоКарта);
	   общ1 = общ1+?(Строка.СуммаДокумента = null,0,Строка.СуммаДокумента);
		//общ1 = общ1+?(Строка.СуммаДокумента = null,0,Строка.СуммаДокумента);
		сдач1 = сдач1+?(Строка.Сдача = null,0,Строка.сдача);

      
    КонецЦикла;
нал = Строка(нал1);
карт = Строка(карта1);
общ = Строка(общ1);
сдач = Строка(сдач1);

 
КонецПроцедуры
Показать


я так сделал. И повесил события на отборы.
16. user1475334 04.04.21 18:43 Сейчас в теме
Спасибо большое автор и все кто написал.
задача решена
Оставьте свое сообщение

См. также

Групповая обработка справочников и документов (Управляемая форма) v 3.6 (+English version) Промо

Обработка документов Универсальные обработки Обработка справочников v8::УФ v8::СКД Розница УНФ ДО БП3.0 УТ11 Абонемент ($m)

Старая добрая обработина "Групповая обработка справочников и документов", теперь на Управляемом приложении. Работает на платформе версии не ниже 8.2.16! Работает в интерфейсе "Такси"

5 стартмани

01.06.2013    126460    4928    kser87    350    

Размещение ссылки на внешний отчет или обработку на панели раздела подсистемы

Рабочее место Менеджеры внешних отчетов Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

Расширение предназначено для помещения внешних отчетов и обработок на панель раздела (для управляемого приложения).

1 стартмани

01.04.2021    1453    1    schthaxe    0    

Формирование макета коллекции изображений

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

Динамическое создание библиотеки картинок с примером ее использования на обычных и управляемых формах.

2 стартмани

22.03.2021    2510    0    Neti    7    

Перетаскивание файлов в поле HTML (JavaScript)

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

Может возникнуть необходимость добавлять файлы в систему под управлением 1С:Предприятие через достаточно распространенный и удобный механизм - перетаскивание (Drag & Drop). В данной публикации этот механизм реализован через поле HTML, с небольшим усовершенствованием на Java Script.

1 стартмани

04.03.2021    1453    3    Andreyyy    11    

Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо

Универсальные обработки v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.

5 стартмани

06.09.2013    64403    275    kser87    51    

Обрезалка для картинок

Универсальные обработки v8 v8::УФ Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Когда нужно загрузить в базу 1С изображения (товаров, например), приходится делать хоть минимальную подготовку изображений (обрезать, перевести в другой формат). Данная разработка позволяет обрезать изображение выделив прямоугольную область мышкой, пересохранить изображение в другом формате (BMP, PNG, GIF, JPEG, TIFF).

2 стартмани

27.02.2021    1346    1    Amel2010    2    

Форма выбора по произвольному запросу в управляемых формах

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

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

1 стартмани

16.02.2021    1646    0    blockcode    1    

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

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

Когда необходимо быстро просмотреть объекты типа "Общая картинка" в конфигурации: в случае, если картинок почти 1500, и просматривать каждую в конфигураторе неудобно. Да и просто для любой конфигурации с любым количеством объектов "Общая картинка". Вывод в форму или табличный документ вертикально или "плиткой".

2 стартмани

23.09.2020    2513    2    zhuravlev_as    13    

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

Универсальные обработки Прочие инструменты разработчика v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

04.07.2019    10386    18    riposte    6    

Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах

Прочие инструменты разработчика Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    6340    10    ivanov660    12    

Автоматическое построение формы внешней обработки по данным реквизитов, табличных частей и экспортных методов*

Работа с интерфейсом Универсальные функции v8::УФ Абонемент ($m)

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

1 стартмани

07.08.2020    2913    0    TSSV    0    

Интерфейс программиста

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

4 стартмани

15.07.2020    3331    1    mkalimulin    0    

Навигатор по конфигурации базы 1С 8.3 Промо

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

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.81 от 09.04.2021

3 стартмани

28.10.2018    40671    369    ROL32    72    

Проверка применения упаковок единиц измерения

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

Обработка предназначена для проверки применения упаковок единиц измерения в произвольных объектах (Табличные части справочников и документов). Обработка работает в любых базах данных 1С, которые используют библиотеку стандартных подсистем не ниже версии 2.2. Обработка проверяет следующие ошибки: 1. Поля "Количество" и "Количество упаковок" не равны нулю. 2. Проверка формулы: "Количество" = "Количество упаковок" * "Коэффициент упаковки" (проверка применения упаковки). Причины возникновения таких ошибок могут быть различны: исправлена базовая единица номенклатуры или коэффициент упаковки, по которой уже есть созданные документы; загрузка данных без проверки. Работа обработки проверялась на системах ERP 2.4.6 - 2.4.11, УТ 11.4.9.

1 стартмани

25.06.2020    3504    0    arr    2    

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

23.06.2020    9105    113    Lem0n    1    

Формирование штрихкода приложением Zint

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

Обработка, формирующая 145 типов штрих кодов с помощью приложения "Zint". Работает без установки дополнительного софта и регистрации библиотек.

2 стартмани

22.06.2020    2999    7    MarkoSokolov    0    

Корректировка остатков регистров бухгалтерии (обычные и управляемые формы) Промо

Свертка базы Универсальные обработки Закрытие периода Чистка базы v8::БУ v8::УФ 1cv8.cf БУ НУ Абонемент ($m)

Внешняя обработка, предназначенная для удобного исправления остатков по регистрам бухгалтерии (Хозрасчетный, Налоговый или любой другой) посредством автоматизации ввода корректировочного документа ("Операция", "Корректировка записей регистров"), приводящего регистр в нужное состояние остатков от текущего. Удобна для массовых правок остатков по бухгалтерскому и налоговому учету на какую-то дату (обычно перед реорганизацией учета, сверткой базы и т.п.)

2 стартмани

03.06.2017    36033    217    stvorl    28    

Динамический список объектов 1С (управляемые формы)

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

Отображение список любых объектов метаданных в форме обработки.

1 стартмани

21.06.2020    2822    1    Denr83    0    

Открыть форму внутри другой формы - наконец-то возможно!

Работа с интерфейсом v8::УФ Абонемент ($m)

Я давно мечтал о возможности открытия форм 1С внутри других форм, мне время от времени попадаются задачи, где это бы пригодилось. И вот в версии 8.3.16 наконец-то это можно реализовать! Конечно, это не совсем то, что я ожидал, но получилось все равно интересно. Давайте посмотрим.

1 стартмани

15.04.2020    17388    21    CyberCerber    56    

Пример поиска (отбора) по табличным частям документов в 1С (обычные и управляемые формы)

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

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

1 стартмани

03.04.2020    3522    3    Denr83    0    

Менеджер открытых форм Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

13.04.2017    23620    39    SeiOkami    19    

Универсальная форма списка документов в 1С (обычные и управляемые формы)

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

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

1 стартмани

01.04.2020    4230    13    Denr83    0    

Из чего складывается расхождение?

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

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

1 стартмани

31.03.2020    4210    4    wonderboy    6    

Поиск файлов из 1С. Разбираем и ориентируемся в хламе!

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

Поиск файлов из 1С. Разбираем и ориентируемся в хламе! Мини-органайзер файлов!

1 стартмани

17.03.2020    3710    4    GG_Dots    9    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    36656    161    tormozit    25    

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

Работа с интерфейсом v8 v8::УФ ЗУП3.x Россия Абонемент ($m)

Отображение итогов в подвале табличной части документа (управляемая форма) с учетом отбора. На примере документа Отражение зарплаты в бухучете из ЗУП 3.1 (расширение)

1 стартмани

09.03.2020    6766    1    evgeni-red    0    

Удобный редактор графических схем

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

29.02.2020    3635    12    hodytone    4    

Копирование настроек констант между ИБ (COM-соединение) (обычные и управляемые формы)

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

Обработка (универсальная) предназначена для просмотра и копирования значений констант между ИБ через COM-соединение.

1 стартмани

27.01.2020    3305    2    Denr83    0    

Редактор объектов информационной базы 8.3 Промо

Универсальные обработки Обмен через XML v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.53 от 22.02.2021

2 стартмани

23.01.2019    37648    423    ROL32    46    

Сохранение в каталог дополнительных обработок, отчетов, печатных форм и т.д.

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

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

1 стартмани

20.01.2020    3466    4    Margo462    1    

Редактор независимых регистров сведений 8.3

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

Универсальная внешняя обработка для редактирования независимых регистров сведений. Работа с отдельными записями и с наборами записей. Выгрузка отдельных записей, наборов и всего регистра в формате XML. Платформа 8.3, управляемые формы. Версия 1.011 от 29.04.2021.

2 стартмани

13.01.2020    8624    167    ROL32    8    

Удаленное администрирование (AmmyAdmin)

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

Разрабатывалась для "малоопытных пользователей", которым сложно понять/найти программу, которую их просят запустить. Данную обработку легко интегрировать в любую конфигурацию и вывести кнопку запуска в удобное место. Либо просто запустить через меню: Файл -> Открыть.

1 стартмани

09.01.2020    7805    5    impulse_1010    18    

Расширение: Темы для 1С 8.3 Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

Расширение позволяет сменить цвет оформления для интерфейса Такси.

1 стартмани

10.02.2019    20358    119    spec8s    19    

Индикация прогресса выполнения фонового задания на управляемой форме внешней обработки

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

Внешняя обработка с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП >= 2.3 без изменения конфигурации и встраивания обработки в "Дополнительные отчеты и обработки".

1 стартмани

27.12.2019    15838    29    1sig    14    

Многоуровневые списки выбора с оформлением элементов

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

Данная статья - попытка решить один маленький кусочек большой проблемы платформы 1С, а именно - бедные и невыразительные пользовательские интерфейсы. Поскольку 1С в режиме управляемого приложения позволяет задействовать веб-клиент, то хочется реализовывать интерфейсы как у взрослых веб-приложений - красивые, дружелюбные для пользователя и, желательно, с положительным UX. Возможно, кто-то со мной не согласится и скажет, что учетные системы должны быть строгие и линейные. Но мы все знаем, что 1С - это уже не только про бухгалтерию. Небольшое отступление для разработчиков, работающих с типовыми конфигурациями. Я не знаю, использует ли фирма 1С что-то похожее в своих разработках. Если да, то данная статья навряд ли будет вам полезна.

1 стартмани

17.12.2019    11008    2    azhilichev    5    

Распознавание сканов паспортов

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

Распознавание сканов паспортов с использованием API Гугла для распознавания текста сканов и API DaData для некоторых дополнительных функций. На выходе получается список формализованных полей (серия, номер, дата выдачи, код и наименование подразделения, выдавшего паспорт, ФИО владельца и его дата рождения). Паспорт распознается независимо от наличия машино-читаемой строки, однако при её наличии вероятность ошибок распознавания резко снижается

10 стартмани

07.12.2019    7726    8    Torin99    44    

Обнуление остатков регистров бухгалтерии и накопления Промо

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    30502    401    morozov.sv    54    

[Взрыв шаблона!] Новый способ программной настройки условного оформления

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

01.12.2019    15864    46    mszsuz    12    

Изменение значений констант в 1С (обычные и управляемые формы)

Универсальные обработки v8 v8::УФ Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x 1С:CRM Россия Абонемент ($m)

Простая и полезная обработка для установки значений констант в 1С (обычное и управляемое приложение).

1 стартмани

01.12.2019    5946    20    Denr83    0    

Универсальная обработка (УФ) для работы с журналом регистрации в формате SQLite через ODBC

Универсальные обработки Журнал регистрации v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

27.11.2019    5346    10    Spartacus    6    

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

Обработка документов Универсальные обработки Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

15.10.2018    41363    146    json    44    

Панель сообщений - расширенные сообщения пользователю

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2019    4946    2    Timic    0    

Карта метаданных 1С для редактора yED, для любых конфигураций

Структура метаданных Работа с интерфейсом v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка "Карта метаданных 1С для редактора yED". Для отображения метаданных любых конфигураций

1 стартмани

28.10.2019    8864    17    ManyakRus    9    

План состояние склада

Работа с интерфейсом v8::УФ Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Отчет для анализа ячеек склада (1С:WMS Логистика. Управление складом) Проверялась и тестировалась на 1С:WMS Логистика. Управление складом, ред. 4.5.1.2

1 стартмани

23.10.2019    5176    5    yasar92    0    

Универсальная обработка "Изменение записей регистров сведений и накопления" (8X) Промо

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

Обработка для Добавления/удаления/изменения записей в любых регистрах сведений (подчиненных и не подчиненных регистраторам) и накопления. Для Платформ 8.1, 8.2, 8.3

2 стартмани

24.05.2015    76739    1766    Erofeevgv    77    

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

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

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

1 стартмани

11.10.2019    21805    110    dm1try    0    

Маршрутная матрица (логистика)

Универсальные обработки Расчетные механизмы v8 v8::УФ 1cv8.cf Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

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

1 стартмани

11.10.2019    7678    8    user-sergey    12    

Корректировка остатков регистров накопления (обычные и управляемые формы) Промо

Закрытие периода Свертка базы Чистка базы Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

14.01.2012    84214    1725    stvorl    76    

Быстрый просмотр табличной части "Товары" без открытия формы документа

Работа с интерфейсом v8 v8::ОУ v8::УФ УТ11 УУ Абонемент ($m)

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

2 стартмани

08.10.2019    5327    9    simuljakr    6    

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

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

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

1 стартмани

03.10.2019    5813    2    warden    5    

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

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

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

3 стартмани

17.09.2019    5850    4    1C_Casual    5    

Управление информационной базой на кластере (управляемые формы): просмотр сеансов, отключение сеансов, блокировка / разблокировка подключений

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

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

1 стартмани

11.09.2019    5209    11    Spartacus    0