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

29.03.21

Разработка - Работа с интерфейсом

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

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

Наименование Файл Версия Размер
Дружелюбный интерфейс итогов в диалоге табличных частей, для Управляемых форм.:
.7z 50,14Kb
6
.7z 50,14Kb 6 Скачать

 

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

 

Кусочек кода помещаемый в процедуру на форме "ПриСозданииНаСервере":


	#Область Обработка_Итогов
	
	//Инициализируем кнопки по Итогам                 Товары
	пПараметрыИтогов = Новый Структура;
	пПараметрыИтогов.Вставить("ИмяЭлемента", "Товары");                            //Имя элемента, как он объявлен на форме.
	пПараметрыИтогов.Вставить("ИмяГруппыПанели", Неопределено);                    //Имя группы Панели, куда будут добавлены кнопки, если не задано, то кнопки просто добавятся
	
	//Добавим исключения
	МассивКолонокИсключений = Новый Массив;
	МассивКолонокИсключений.Добавить("Коэффициент");
	МассивКолонокИсключений.Добавить("Цена");
	пПараметрыИтогов.Вставить("МассивКолонокИсключений", МассивКолонокИсключений); //Массив строк, Можно Неопределено.
	
	//Добавим индивидуальные
	СоотвФормулКолонок = Новый Соответствие;
	СоотвФормулКолонок.Вставить("Объект.Товары.НомерСтроки", "Счетчик");
	пПараметрыИтогов.Вставить("СоотвФормулКолонок", СоотвФормулКолонок);		   //Можно неопределено.
	//
	пПараметрыИтогов.Вставить("ПропуститьЗаполненныйПодвал", Ложь);				   //Булево, можно неопределено...
	пПараметрыИтогов.Вставить("ИспользоватьТиповойПодвал", Истина);				   //Булево, можно неопределено...
	пПараметрыИтогов.Вставить("ЗаголовокКнопки", "");							   //Строка, можно пустую, можно Неопределено, необязателен
	//
	СОГ_ИнтерфейсВызовСервера.ИнициализироватьИтоговыеПоляТаблиц(ЭтаФорма, пПараметрыИтогов);
	
	#КонецОбласти
	

Данный кусочек кода помещается в процедуру на форме "ПриСозданииНаСервере" и вызывается один раз.

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

 
 Описание передаваемых параметров в процедуру "ИнициализироватьИтоговыеПоляТаблиц"

 

 Также на форме необходимо добавить две процедуры для обработки нажатия кнопок: "СОГ_ОбработатьИтогиТаблицы" и "СОГ_ОбработатьИтогиТаблицыНаСервере".

  • Процедура "СОГ_ОбработатьИтогиТаблицы" для обработки кнопок.
  • Мене не удалось в общих модулях эстетично передать с клиентского модуля на серверный, форму. Так что пришлось добавить на форму "СОГ_ОбработатьИтогиТаблицыНаСервере", в которой происходит подмена данных подвала на "наши" итоги и обратно на те, что были прописаны в конфигураторе.
#Область Обработка_Итогов

//Обработка на сервере
&НаСервере
Процедура СОГ_ОбработатьИтогиТаблицыНаСервере(ПараметрыСервера) 
	
	СОГ_ИнтерфейсВызовСервера.ОбработатьИтогиТаблицы(ЭтаФорма, ПараметрыСервера);
	
КонецПроцедуры

//Обработчик событий, по нажатию кнопки...
&НаКлиенте
Процедура СОГ_ОбработатьИтогиТаблицы(Команда) 
	Перем стрПараметровСервера;
	
	стрПараметровСервера = Неопределено;
	СОГ_ИнтерфейсКлиент.ОбработатьИтогиТаблицы(ЭтаФорма, Команда, стрПараметровСервера);
	Если стрПараметровСервера <> Неопределено Тогда 
		СОГ_ОбработатьИтогиТаблицыНаСервере(стрПараметровСервера);
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

 

 
 Общий модуль "СОГ_ИнтерфейсВызовСервера"

 

 
 Общий модуль "СОГ_ИнтерфейсКлиент"

 

 
 Пример работы

 

Тестирование

Тестирование проводилось на продукте 1С.

1С:Предприятие 8.3 (8.3.15.1830)
Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.80.40) 

 

 
 Описание архива "РасширениеИтогиПоОтбору.7z"

  

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

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4453    9    4    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    2956    4    0    

19

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61797    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54403    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16698    21    4    

35
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 14.09.20 12:03
Сообщение было скрыто модератором.
...
2. AnryMc 849 12.04.21 17:18 Сейчас в теме
&НаКлиенте
Процедура ОбновитьИтоги()

    ДанныеТаб = Отчет.ТаблицаФормы1;
	Сумма1 = 0;
	Если Элементы.ТаблицаФормы1.ВыделенныеСтроки.Количество() > 1 тогда
		Для каждого с из Элементы.ТаблицаФормы1.ВыделенныеСтроки цикл
			стр = ДанныеТаб.НайтиПоИдентификатору(с);
			Сумма1 = Сумма1 + стр.СуммаЗатрат;
		КонецЦикла;
	Иначе
		Для каждого стр из ДанныеТаб цикл
			Если Элементы.ТаблицаФормы1.ПроверитьСтроку(стр.ПолучитьИдентификатор()) тогда
				 Сумма1 = Сумма1 + стр.СуммаЗатрат;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	Элементы.ТаблицаФормы1.ПодчиненныеЭлементы.ТаблицаФормы1СуммаЗатрат.ТекстПодвала = Формат(Сумма1,"ЧДЦ=2");
КонецПроцедуры
Показать


ТаблицаФормы (FormTable)
ПроверитьСтроку (CheckRow)
Синтаксис:
ПроверитьСтроку(<Строка>)
Параметры:
<Строка> (обязательный)
Тип: Произвольный.
Строка таблицы. Тип параметра зависит от типа редактируемого значения.
Возвращаемое значение:
Тип: Булево.
Описание:
Проверяет, соответствует ли строка, установленному в таблице отбору.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Показать


З.Ы. "Что тут думать! Трясти надо!" ©
3. DrZombi 286 13.04.21 12:05 Сейчас в теме
(2) Не нравится, не ешь...
Это статья Архив, пример рабочий. Записки же надо, где то хранить...

А там смотришь, и другие чего к себе подметят :)
4. AnryMc 849 14.04.21 08:40 Сейчас в теме
5. DrZombi 286 14.04.21 10:02 Сейчас в теме
(4) Вы случаем не путаете Итоги, и просто пометку с быстрым отбором?
Это как сравнивать воду в озере и воду в стакане (она там и там мокрая)

С ваших слов - "Зачем она в озере, если есть в стакане" :)

...Дружище, спасибо за ваше замечательное замечание, что кусочки кода в разных статьях повторяются, я учту на будущее это замечание...
7. AnryMc 849 15.04.21 10:37 Сейчас в теме
(5)
...Дружище, спасибо за ваше замечательное замечание, что кусочки кода в разных статьях повторяются, я учту на будущее это замечание..


Прошу обратить внимание что используется одинаковые методы но КОД РАЗНЫЙ. и соответствует заявленому в публикации...
Количество процедур и строк кода на порядок меньше...
Нет передачи данных между сервером и клиентом...

Код есть - можете попробовать - если не работает тогда и возмущайтесь, что я "гоню"...
6. DrZombi 286 14.04.21 10:06 Сейчас в теме
(4)
Так Вы уже продублировали в: Дружелюбный интерфейс пометки и отмены пометки в диалоге табличных полей, для управляемых форм.


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

...Спасибо что не обвинили меня в плагиате использования русского алфавита... :)
8. DrZombi 286 15.04.21 20:39 Сейчас в теме
(7) Пройди мимо, я не обижусь :)
,..Ваше мнение важно нам...
9. DrZombi 286 15.04.21 20:40 Сейчас в теме
(7) Мужик, я не хочу смотреть на твой код. Просто мне побоку как и что там у тебя. Даже не уговаривай. :)
10. DrZombi 286 15.04.21 20:46 Сейчас в теме
(7) Сынок, что ты несешь? Там два общих модуля, "Серверный" и "Клиентский"
Все остальное копирастишь в свою форму и наслаждаешься трудом мысли чужой головы, не думая, что и как :)

...Не стесняйся, возьми мой код и назови своим, я не жаден, дарю, Брат...
Оставьте свое сообщение