Подсчёт и отображение количества строк в динамическом списке

Публикация № 953025 28.11.18

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

Динамический список подсчет строк программное добавление кнопок

Зачастую пользователи хотят видеть, сколько же строк содержится в форме списка, например, товаров. Да ещё и с учётом отборов, полнотекстового или "обычного" поиска, чтобы это работало в многих формах списка конфигурации, да ещё и не тормозило.

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

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

Получение данных динамического списка

Отображать на форме счетчик решил кнопкой командной панели. Так универсальнее и занимает меньше места. Количество строк лучше считать по необходимости, т.е. когда пользователь нажимает кнопку. Но можно и при обновлении списка.

Чтобы было удобно обновлять конфигурацию и добавлять в другие формы списков, решил кнопку создавать программно. В стандартную процедуру ПриСозданииНаСервере добавляется вызов процедуры программного создания элементов и команды:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	этСозданиеЭлементов();

КонецПроцедуры

 

Процедура этСозданиеЭлементов()
    
    /////   РЕКВИЗИТЫ   //////////
	
    /////   КОМАНДЫ   //////////
	Команда = Команды.Добавить("этПосчитатьКоличествоВручную");
	Команда.Действие = "этПосчитатьКоличествоВСписке";
	//Команда.Картинка = БиблиотекаКартинок.Сумма; // можно добавить свою картинку
	//Команда.Отображение = ОтображениеКнопки.КартинкаИТекст; // и отобразить её с количеством строк

	
	/////   ЭЛЕМЕНТЫ   //////////
	НовыйЭлемент = Этаформа.Элементы.Вставить("этПосчитатьКоличествоВручную", Тип("КнопкаФормы"), Элементы.ФормаКоманднаяПанель,);
    НовыйЭлемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
	НовыйЭлемент.ИмяКоманды = "этПосчитатьКоличествоВручную";
	НовыйЭлемент.Заголовок = "?";
	НовыйЭлемент.Ширина = 3;
	
КонецПроцедуры

&НаКлиенте
Процедура этПосчитатьКоличествоВСписке()
	
	Элементы.Список.Обновить();
	этПосчитатьКоличествоВСпискеНаСервере();
	
КонецПроцедуры

Процедура подсчета подменяет в тексте запроса динамического списка выбираемые поля на Количество(*), выполняет запрос и отображает результат в заголовке кнопки:

&НаСервере
Процедура этПосчитатьКоличествоВСпискеНаСервере()
	
	Схема = Форма.Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
	Настройки = Форма.Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	Запрос = Новый Запрос;
	Запрос.Текст = МакетКомпоновки.НаборыДанных.НаборДанныхДинамическогоСписка.Запрос;
	
	ПозВыбратьНачало = СтрНайти(Запрос.Текст, "ВЫБРАТЬ ", НаправлениеПоиска.СКонца);
	Пока НЕ ПозВыбратьНачало = 1
		и НЕ Сред(Запрос.Текст, ПозВыбратьНачало - 1, 1) = Символы.ПС Цикл
		ПозВыбратьНачало = СтрНайти(Запрос.Текст, "ВЫБРАТЬ ", НаправлениеПоиска.СКонца, ПозВыбратьНачало - 1);
	КонецЦикла;
	ПозВыбратьКонец = СтрНайти(Запрос.Текст, Символы.ПС,, ПозВыбратьНачало);
	
	СтрокаВЫБРАТЬ = Лев(Запрос.Текст, ПозВыбратьКонец);
	СтрокаИз = Сред(Запрос.Текст, СтрНайти(Запрос.Текст, Символы.ПС + "ИЗ" + Символы.ПС,, ПозВыбратьКонец));
	
	Если СтрНайти(СтрокаИз, Символы.ПС + "СГРУППИРОВАТЬ") Тогда
		СтрокаИз = Лев(СтрокаИз, СтрНайти(СтрокаИз, Символы.ПС + "СГРУППИРОВАТЬ"));
	КонецЕсли;
	
	Запрос.Текст = СтрокаВЫБРАТЬ + "Количество(*) КАК Кол" + СтрокаИз;
	Если СтрНайти(Запрос.Текст, Символы.ПС + "УПОРЯДОЧИТЬ ПО",, ПозВыбратьКонец) Тогда
		Запрос.Текст = Лев(Запрос.Текст, СтрНайти(Запрос.Текст, Символы.ПС + "УПОРЯДОЧИТЬ ПО",, ПозВыбратьКонец));
	КонецЕсли;
	
	Для Каждого парам из МакетКомпоновки.ЗначенияПараметров Цикл
		Запрос.УстановитьПараметр(парам.Имя, парам.Значение);
	КонецЦикла;
	
	Попытка
		Результат = Запрос.Выполнить();
	Исключение
		ЗаписьЖурналаРегистрации("КоличествоВСписке в Списке " + Форма.ИмяФормы, УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
	КонецПопытки;
	
	Выборка = Результат.Выбрать();
	Выборка.Следующий();
	Форма.Элементы.этПосчитатьКоличествоВручную.Заголовок = " (" + Выборка.Кол + ")";

КонецПроцедуры

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

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

Наименование Файл Версия Размер
Подсчёт и отображение количества строк в динамическом списке:

.cf 79,96Kb
45
.cf 79,96Kb 45 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lefthander 28.11.18 15:48 Сейчас в теме
(0)Проще всего вывести список и там уже будет количество строк с учетом отборов. в самом списке это не имеет смысла
3. sano 58 28.11.18 16:18 Сейчас в теме
(1),(2) Да, так сначала делал сам и рекомендовал пользователям. Но потом попробовал посчитать количество строк в списке на несколько тысяч записей. Провёл эксперимент. Список из 130 тысяч выводим в список только Код и ждём 10 сек. Моим способом - 1 сек. Теперь считаем количество нажатий на различные кнопки: 6 против 1. Мои пользователи довольны маленькой кнопочкой в командной панели.
Никого не принуждаю, "Вывести список..." - пожалуйста. Хотите попробовать внедрить к себе этот функционал - даже скачивать не нужно, копируйте код в форму списка, пользуйтесь, получайте удовольствие. Надоело - можно удалить :)
soft_wind; +1 Ответить
2. Xershi 1386 28.11.18 15:51 Сейчас в теме
Добавлю еще что есть такая замечательная кнопка вывести список. Вот там и будет ваш номер!
Разработчики сознательно не выводили номер строки, т.к. это основа тормозов!
4. sano 58 28.11.18 16:22 Сейчас в теме
(2) Именно поэтому процедура подсчета вызывается по кнопке и считает только тогда, когда это необходимо пользователю. В 1 клик.
5. Xershi 1386 28.11.18 16:34 Сейчас в теме
(4) согласен что если это нужно это удобно, но это доработка. А потом на кой черт знать количество, что пользователь таким методом анализирует, мне кажется нужно логику пользователю поменять.
6. sano 58 28.11.18 16:56 Сейчас в теме
(5) Например, количество невыполненных задач с множеством отборов или специфически отобранных товаров. Фантазия пользователя безгранична. Да и в самописных конфигурациях использую, потому что удобно. Пример из самописной: считаю, сколько элементов на данный момент загружено в справочник в то время, когда работает фоновый загрузчик.
CratosX; gorvin; +2 Ответить
7. Xershi 1386 28.11.18 17:06 Сейчас в теме
(6) такую задачу нужно отчетами решать. Это же статистика. Это как использовать справочник вместо документа, можно но не нужно=))
8. sano 58 28.11.18 17:16 Сейчас в теме
(7)ага, пользователи так замучали меня своими одноразовыми отчетами, что решил предоставить им возможность быстрого подсчета. Просьбы как рукой сняло. На отчеты жаловались, что долго настраивать отборы по второму кругу (в списке-то уже настроили один раз)
9. Xershi 1386 28.11.18 17:27 Сейчас в теме
(8) похоже еще не научили пользователей использовать сохранение настроек в отчетах)))
10. sano 58 28.11.18 17:40 Сейчас в теме
(9)пользователи образованные, всё умеют. И время ценят.
Думаю, каждый сам решит, использовать функционал или нет.
CratosX; GoR1313; +2 Ответить
12. Ndochp 103 29.11.18 18:19 Сейчас в теме
(2)Каждый дин список выполняется в режиме "Упорядочить" + "Первые" + "Где номер строки > ХХХХ" иначе просто невозможно отработать стрелку вниз/пейдждаун в конце списка. Так что, все выведенные строки уже посчитаны, вы лукавите.

Рассказывать, что дополнительный запрос на общее количество строк не может быть оптимизирован так, чтобы не напрягать ни пользователей ни сервер - тоже лукавство. Но чуть меньшее.
13. Xershi 1386 29.11.18 18:30 Сейчас в теме
(12) если речь про план запроса, то это совсем другое.
Я написал про без доработок, а вы пилить решили.
15. Ndochp 103 30.11.18 09:25 Сейчас в теме
(13)Вот это "Разработчики сознательно не выводили номер строки, т.к. это основа тормозов! " - ИМХО не правда, так как строки уже проиндексированы и посчитаны. Или вы не про разработчиков платформы, а про разработчиков типовых?
11. yarsort 140 29.11.18 17:32 Сейчас в теме
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументыЗаказыПокупателя);
Выборка = Построитель.Результат.Выгрузить();
		
СуммаДокумента = Выборка.Итог("СуммаДокумента");
КоличествоДокументов = Выборка.Количество();
Henistaromin; +1 Ответить
14. sano 58 29.11.18 20:45 Сейчас в теме
16. yarsort 140 30.11.18 09:39 Сейчас в теме
// Где "ДокументыЗаказыПокупателя" - динамический список на форме.

Я такой схемой получения данных на обычных формах пользуюсь. Может и на управляемые можно перенести этот метод.
17. sano 58 30.11.18 13:14 Сейчас в теме
(16) Тут вижу 3 проблемы:
1. тормоза, т.к. Выгрузить()
2. не учитываются отборы и поиски
3. не универсально
Но тут и задача другая, считаете Сумму. С такими требованиями в своей практике пока не сталкивался
В запросе динамического списка можно заменить "Количество(*) КАК Кол" на сумму по конкретной колонке. Суммировать запросом будет быстрее, чем выгружать и использовать Итог. Попробуйте преобразовать мой метод.
18. igor-pn 72 04.07.19 14:33 Сейчас в теме
Спасибо, можно немножко убыстрить еще , использовать метод количество для выборки, и проверять пустую выборку тоже. Тогда не нужно редактировать текст запроса.

 
        Результат = Запрос.Выполнить();
	
	Выборка = Результат.Выбрать();
	
	КоличествоЗаписей =  Выборка.Количество() 
19. SlavaKron 04.07.19 15:09 Сейчас в теме
(18) Но ведь тогда будут считываться все данные полей (пусть и на стороне sql). Хотя, ваш способ универсальнее.
20. sano 58 04.07.19 21:30 Сейчас в теме
(18) Пробовал этот вариант в самом начале. SlavaKron прав. В результате в выборке получите столько записей, сколько в динамическом списке. В моём методе выбирается лишь одна запись с количеством строк. Можно даже не проводить эксперимент, чтобы понять, какой код отработает быстрее ;)
21. igor-pn 72 05.07.19 18:37 Сейчас в теме
(20) Вы правы, не внимательно посмотрел, Спасибо!
22. qazaz2 16 19.07.19 12:25 Сейчас в теме
Автору спасибо, отличная идея, использовал правда для другой цели.

Понятно что каждый данную задачу решит по-своему (каждый др***т как он хочет).

Крутизна ИМХО в том что бы в понять как устроен мир (1С это как раз мир, не нами придуманный. но данный нам)) и использовать это понимание для решения своих задач. Мне и в голову не приходило изнасиловать запрос макета компоновки)
23. acanta 14.02.20 12:51 Сейчас в теме
И почему запрос динамического списка не может быть использован для получения итогов..
24. lefthander 14.02.20 12:53 Сейчас в теме
(23)Птому что для этого есть запросы не динамического списка. Динамический список придуман для отбора и вывода чем проще запрос тем быстрее список отработает
25. gorshkov.an 10.07.20 18:20 Сейчас в теме
Если запрос с группировками, то неправильно посчитает. Да, запрос с группировками в динамическом списке плохо, но бывает.
Можно обернуть запрос списка запросом количества, но придётся РАЗРЕШЕННЫЕ на верхний уровень выносить.
26. e-9 58 16.09.21 13:28 Сейчас в теме
Вот что значит копипастить код из инетов....Стоило юзеру сделать сортировку по колонке - хана всему)
Все-таки Выборка.Количество(), без изменения текста запроса, как в (18) - надежнее
27. sano 58 16.09.21 21:12 Сейчас в теме
(26) надёжнее, спору нет, но контраргументы приведены.
Кстати, недавно столкнулся с проблемой, что в новых версиях платформы можно использовать временные таблицы в запросах динамических списков. Вышеприведенный алгоритм неправильно срабатывает. Но я уже переписал его на новый лад в своей конфе, осталось оформить и скорректировать статью.
Тогда можно будет снова копипастить ;)
Student1C; +1 Ответить
28. Student1C 57 22.10.21 16:30 Сейчас в теме
(27) ну скинь хотя бы для читающих комментарии )
29. sano 58 28.10.21 12:23 Сейчас в теме
(28) По просьбам трудящихся!
Кстати, старая процедура исправно работала, пока я вдруг не добавил в запрос динамического списка временную таблицу. Думаю, таких извращенцев не много.
Ну, и заодно добавил демо конфу, чтобы можно было пощупать.
Student1C; +1 Ответить
31. user635629_exter 35 07.04.22 10:17 Сейчас в теме
(29) Добрый день. Я периодически делаю ВТ в запросе динсписка - когда остатки надо собрать, например, сначала предвыборка для фильтра остатков, потом остатки, а потом остатки с левым соединением к основной таблице, ну и учесть, что отборы динсписка применяются к первой таблице запроса - где-то читал, что это так, поэтому в последнем запросе надо еще с первого запроса фильтр применить.
30. user635629_exter 35 07.04.22 10:06 Сейчас в теме
Добрый день.
{Задача.бпсЗадача.Форма.ФормаСписка.Форма(37,57)}: Переменная не определена (НаправлениеПоиска)
ПозВыбратьНачало = СтрНайти(Запрос.Текст, "ВЫБРАТЬ ", <<?>>НаправлениеПоиска.СКонца); (Проверка: Сервер)
Хотя в синтакс-помощнике написано, что доступно на сервере "НаправлениеПоиска".
Куда копать не пойму. УПП1,3 Платформа 8,3,20,1674

Возможно дело в том, что УПП не совсем УФ, но данная форма списка-УФ. Но даже если так, то "НаправлениеПоиска" не имеет отношения к УФ - это просто часть функции "СтрНайти". Мистика.
Прикрепленные файлы:
32. rst_filippov 56 17.04.22 22:07 Сейчас в теме
(30) режим совместимости у упп ниже, чем появилось Направления поиска, убери его, либо напиши аналог направления поиска с конца
33. user635629_exter 35 18.04.22 08:09 Сейчас в теме
(32) спасибо, понятно.
переписал форму на не УФ и в таблицу значений всё запихал - всё работает. не динсписок, ну и ладно.
34. 1v7 229 06.06.22 12:12 Сейчас в теме
&НаСервере
Процедура ПолучитьКоличествоСтрокВдинамическомСписке()

ТЗ_ДС = СписокВТЗ();
КолСтрокДС =ТЗ_ДС.Количество();
Сообщить("Количество строк динамического списка = "+КолСтрокДС);

КонецПроцедуры

&НаСервере
Функция СписокВТЗ()

//Получаем СКД с текстом запроса
СКД_запрос = Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();

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

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

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

ПроцессорВыводаРезультата = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ = ПроцессорВыводаРезультата.Вывести(ПроцессорКомпоновкиДанных);// Таблица значений

Возврат ТЗ;

КонецФункции
35. Serg2000mr 49 22.08.22 06:05 Сейчас в теме
Сделал так:

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

&НаКлиенте
Функция ПолучитьКоличествоСтрокДинамическогоСписка()
	
	КоличествоСтрокДинамическогоСписка = ВосстановитьЗначениеСервер("ДокументЗаказ.ФормаСписка", "КоличествоСтрокДинамическогоСписка");	
	
	Возврат КоличествоСтрокДинамическогоСписка; 

КонецПроцедуры

&НаСервереБезКонтекста
Функция ВосстановитьЗначениеСервер(КлючОбъекта, КлючНастроек = Неопределено) 
	
	Возврат ХранилищеСистемныхНастроек.Загрузить(КлючОбъекта, КлючНастроек);	
	
КонецФункции
Показать
36. Denic_01 40 24.08.22 11:01 Сейчас в теме
(35)
Сделал так:


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

Настройки.ДополнительныеСвойства.Вставить("КоличествоСтрок", Строки.Количество());
37. Serg2000mr 49 25.08.22 00:53 Сейчас в теме
Этот код не будет работать во процедурах &НаСервереБезКонтекста, но так тоже можно, да.
38. balhomes 6 04.05.23 23:30 Сейчас в теме
Это не работает если в тексте запроса списка есть объединение
39. sano 58 05.05.23 11:57 Сейчас в теме
(38) Приведите ошибку, пожалуйста, которую выдаёт и, по-возможности, текст запроса. Можно в личку. Попробовал на простом объединении - работает (без временных таблиц и прочего).
Оставьте свое сообщение

См. также

Подсистема 1С "Визуальные инструменты АФРОДИТА" (Панель показателей и виджетов)

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

Создайте свою панель показателей и виджетов в любой конфигурации 1С с помощью подсистемы 1С "Визуальные инструменты АФРОДИТА". Дашборды на начальном экране изменят ваш подход к интерфейсу и рабочему месту.

10800 руб.

20.03.2023    6768    6    17    

23

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

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

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

5000 руб.

16.01.2015    57945    39    53    

75

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

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

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

5000 руб.

14.01.2016    52020    15    21    

38

Редактор графов

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

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

1000 руб.

06.10.2020    7444    4    7    

6

Модель состояния для MVC

Работа с интерфейсом Идеи и тренды в разработке Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    1503    kalyaka    2    

16

Программный интерфейс для доработки форм

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

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    6725    AtamanovYS    19    

122

[mobile] Переносим HTML интерфейс на 1С

Работа с интерфейсом Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    13696    leobrn    82    

106

[Общий модуль] Динамическое формирование интерфейса

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

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

28.08.2020    30877    rpgshnik    88    

284

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

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

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

2400 руб.

29.06.2020    12920    15    4    

22

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

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

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

08.05.2020    179242    user5300    40    

290

Простой и красивый интерфейс

Работа с интерфейсом Мобильная разработка Мобильная платформа Бесплатно (free)

Разработчики мобильных приложений на платформе 1С сталкиваются с проблемой адаптации сгенерированного платформой интерфейса под удобство использования. О том, какие приемы помогут сделать интерфейс красивым и удобным, на конференции Infostart Event 2019 Inception рассказал руководитель отдела мобильной разработки компании «1С-Рарус» Никита Бакшеев.

30.01.2020    20903    Baksheev-Nikita    36    

109

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

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

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

13.01.2020    71875    aximo    23    

199

[СКД] Вывод картинки в результат любого отчета на СКД

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

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

09.12.2019    16135    John_d    18    

122

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

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

01.12.2019    30407    73    mszsuz    13    

161

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

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

Вносим изменения в типовые формы объектов (документы, справочники, журналы, обработки, общие формы). Не снимая с поддержки эти формы. Создаем программно элементы из общего модуля. Для примера рассмотрю добавление колонки "Скрепка" в форму списка документа. Если к документу привязан файл, то в списке в новой колонке должна отображаться "скрепка".

12.11.2019    21478    John_d    29    

125

"Живые" картинки со Snap.SVG

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    16582    blackhole321    7    

94

Создание асинхронных виджетов

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

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    16381    Infostart    19    

156

Формы. Трудности программной работы

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

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

06.10.2019    14735    Infostart    32    

116

Альтернативный способ добавления элементов и реквизитов на формы

Работа с интерфейсом Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

09.09.2019    26031    46    bmk74    9    

83

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

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

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

06.09.2019    207698    rpgshnik    87    

859

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

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

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

17.08.2019    56049    ids79    23    

224

[Механизм интерфейса] Свой флажок (чекбокс)

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

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

1 стартмани

09.08.2019    32037    29    rpgshnik    44    

171

Форма отчета СКД

Работа с интерфейсом Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Описание объекта ОбщиеФормы – ФормаОтчета.

01.08.2019    22389    vasilev2015    5    

89

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

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

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

04.06.2019    72519    Infostart    57    

333

Быстрый ввод неудобных символов

Работа с интерфейсом Бесплатно (free)

Использование Alt-кодов для ввода “[”, “]”, “”, “&”, “#”, “|”

15.04.2019    19981    pparshin    30    

97

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

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

13.02.2019    144536    74    spec8s    47    

256

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

Работа с интерфейсом Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

10.02.2019    33674    211    spec8s    29    

60

HTML в новой версии 8.3.14 на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX

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

Тестируем возможности HTML в новой версии 8.3.14 платформы на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX.

1 стартмани

29.01.2019    34647    Synoecium    46    

215

Подмена заголовка 1С

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

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

08.12.2018    12394    moolex    26    

26

Шпаргалка разработчика для работы с формами

Работа с интерфейсом Платформа 1С v8.3 Россия Абонемент ($m)

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

3 стартмани

31.10.2018    22009    95    ELAM    3    

30

Открывашка ячеек таблиц

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

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    29100    16    tormozit    39    

107

Прикладной пример переработки стандартной формы РМК - Розница

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

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

04.10.2018    25389    asdfgcom    88    

92

Визуализация событий на временной шкале средствами "Поле HTML документа"

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

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    36152    159    Plotks2017    27    

236

Продвинутое рисование в табличном документе (стрелок и не только)

Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    28061    28    WalterMort    31    

86

[Шпаргалка] Свой заголовок отчету на СКД с параметрами, картинками (без программирования)

Работа с интерфейсом Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

23.07.2018    102897    rpgshnik    73    

364

Работа с данными выбора

Работа с интерфейсом Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    96476    33    kalyaka    17    

74