Как "перемотать" динамический список в начало при открытии? (или некоторые нюансы получения данных динамического списка)

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

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

Управляемые формы СКД программная работа с СКД Схема запроса Юзабилити

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

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

К счастью, это поведение можно исправить. Для этого "всего лишь" нужно получить реальный исполняемый запрос ДС, выполнить его и установить текущий элемент списка. Положение усложняется тем, что у ДС есть несколько видов поиска, которые недоступны через его настройки. К счастью, фирма 1C осознала эту недоработку и в "зазеркалье" некоторое время назад была опубликована статья, которая рассказывает о костыле, который был придуман специально для этого: https://wonderland.v8.1c.ru/blog/poluchenie-dannykh-dinamicheskogo-spiska/

Итак, пытаемся применить полученные знания и "копипастим код" из статьи, допустим в ПриОткрытии формы списка:

ИсполняемаяСхема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
ИсполняемыеНастройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных()
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки);
   
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных();
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
   
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Элементы.Список.ТекущаяСтрока = Результат[0].Ссылка;

Запускаем и...

... видим, что 1C не сильно запаривается в составлении тестовых примеров. Копаемся в синтакс-помощнике, видим, что у метода Выполнить компоновщика макета есть параметр, который отвечает за "тип макета". Оставим это, ИМХО, усложнение, на совести разработчиков платформы, испоравляем строку на

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

Запускаем и...

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

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

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

Запускаем, и... Если у вас список спозиционировался на первой строке, то вам не просто повезло, а очень повезло. Смотрим реальный запрос с помощью

Сообщить(МакетКомпоновки.НаборыДанных[0].Запрос)

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

Ну что ж. Нужно править текст запроса. Заодно можно оптимизировать запрос, выбрав "первые 1". Тут на ум приходит объект "СхемаЗапроса", про который также писали в зазеркалье: https://wonderland.v8.1c.ru/blog/upravlyaemyy-konstruktor-zaprosa-i-obektnaya-model-skhemy-zaprosa/

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

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

Опять запускаем, и...

Не волнуйтесь, мы уже в конце пути, осталось совсем немного :))

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

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

Запускаем и... бинго! Тут должен быть скриншот, но я вам его не покажу. В общем, для ДС с основной таблицей документов - работает, испытайте некоторое чувство удовлетворения от того, что заставили 1C делать то, что вам надо, самостоятельно.

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

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

ЗЫ: А теперь выкинте весь код и внимательно посмотрите палитру свойств, там есть подозрительный пункт:

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. MiniMuk 10 03.11.16 05:39 Сейчас в теме

+ еще настроить список -> сортировка плохие варианты?
dimisa; rpgshnik; CyberCerber; +3 Ответить
2. Fragster 1040 03.11.16 09:20 Сейчас в теме
(1) MiniMuk, да, так можно, но на самом деле статья не про то :)
3. alxarz 32 03.11.16 11:16 Сейчас в теме
(2) а читая анонс можно подумать что именно про это :)
rpgshnik; CyberCerber; +2 Ответить
5. Fragster 1040 03.11.16 16:17 Сейчас в теме
(3) alxarz, статья про то, что в 1с есть много разных прикольных возможностей, но сложный путь не всегда верный.
8. Fragster 1040 04.11.16 11:37 Сейчас в теме
(3) alxarz, дополнил заголовок статьи
4. MiniMuk 10 03.11.16 11:31 Сейчас в теме
(2) за ссылку отдельное спасибо.
6. Fragster 1040 03.11.16 16:56 Сейчас в теме
(4) кстати, в зазеркалье подписаться на рассылку новых статей можно
7. BigBoss 2 04.11.16 06:07 Сейчас в теме
Я начиная читая статью, подумал что автор не знает про тот пункт в палитре свойств. Статья интересная
9. Fragster 1040 04.11.16 14:14 Сейчас в теме
10. Fragster 1040 04.11.16 16:39 Сейчас в теме
11. Danil.Potapov 466 05.11.16 23:41 Сейчас в теме
вот интересно, 1с рассказывает про постоянное тестирование, и т. д., но как только сделаешь шаг в сторону напарываешься минимум на пару ошибок или особенностей платформы. До сих пор не могу понять как они разрабатывали интерфейс тонкого клиента, если все настройки динамического списка в настройках, а вот изменить вывод списка полей в список настраивается через изменить форму, при этом группировка полей все равно в настройках.
12. Fragster 1040 07.11.16 10:46 Сейчас в теме
(11) Danil.Potapov, раздражает, что не всё, что делает пользователь доступно программно (даже состояние, не говоря уж о самих действиях), и не на все действия есть события. Например весьма пригодилось бы событие на изменение пользовательских настроек ДС. Или подписка на изменение определенного типа данных (например для ДС без основной таблицы). И оповещение об изменении данных с сервера для всех клиентов (реактивность).
Те же Список.КомпоновщикНастроек.ПолучитьНастройки() не содержат то, что пользователь отобрал через "найти".
13. Danil.Potapov 466 07.11.16 15:06 Сейчас в теме
(12) да, точно, сколько лет прошло а воз и ныне там.
14. starik-2005 2266 07.11.16 15:12 Сейчас в теме
Это только с ДС с основной таблицей? А как быть с ДС произвольным? Есть там возможность спозиционироваться на чем-нибудь, отличном от начала или окончания?
15. Fragster 1040 07.11.16 15:42 Сейчас в теме
(14) starik-2005, там текущая строка похожа на порядковый номер строки в результате компоновки. т.е. для позиционирования на произвольной строке нужно получить позицию в полной выборке. Ну а для первой - 1, для последней - количество(*)
16. Yashazz 3638 07.11.16 20:53 Сейчас в теме
Сначала было собрался ругаться, что автор не знает азы, но, к счастью, это оказался такой грамотный стёб. Зачёт) Вещи, в целом, очевидные, но полезные.
Вообще, не зря эту хрень прозвали "демонический список". Постоянно сюрпризы))
17. Dementor 753 09.11.16 16:11 Сейчас в теме
Статья интересна в плане "у меня есть какой-то код - давайте заставим его работать".

У Вас немного неправильное восприятие сайта Зазеркалья. Это НЕ документация по платформе. Это анонсы функциональности, которые разработчики сейчас у себя внутри тестируют и планируют когда-то включить в рабочие сборки платформ. То, что параметров не хватает, или указаны лишние, или у функций могут оказаться совсем другие названия - это нормальные рабочие моменты. Поэтому, каждый раз на форуме, когда кто-то выдает подобные вашим претензии к примерам, то им вежливо объясняют, что их путь должен последовать на its.1c.ru . Раз даже до смешного дошло - один разработчик жаловался на неработающую фичу, про которую он прочитал в Зазеркалье, но которую на тот момент еще даже в тестовую сборку не включили :)
18. Fragster 1040 09.11.16 19:31 Сейчас в теме
(17) Dementor, к сожалению, поиск по its.1c.ru фраз "ПолучитьИсполняемуюСхемуКомпоновкиДанных" или "Получить Исполняемую Схему Компоновки Данных" не приводит к ни к какому результату. Равно как и нет информации про отсутствие сортировки в "реальном" запросе СКД или про "ДополнительноеПолеПорядка".
19. Dementor 753 12.11.16 17:27 Сейчас в теме
(18) Fragster, странно. Почему же у меня получилось? http://its.1c.ru/db/v839doc#bookmark:dev:TI000001476
Кстати, ошибка не у разработчиков с неправильным примером, а у вас. Тип генератора макета по-умолчанию установлен в значение для вывода в табличный документ. И в примере происходит вывод как раз в табличный документ! Чуть ниже ссылка для желающих вывести данные в таблицу значений - http://its.1c.ru/db/v839doc#bookmark:dev:TI000000626 и там уже правильно переопределен генератор макета.

О Зазеркалье повторюсь - это не документация и даже не блог разработчиков конфигураций. Это просто анонсы, что бы иметь представление о том, что будет реализовано в ближайших релизах. К примеру, я сегодня полистал красивые новые диаграммы - молодцы, но когда новый функционал будет в платформе, то я буду готов, что настройки назовут немного по другому, что-то не сделают всего обещанного или что-то возможно удивят и добавят нового, не описанного в этой свежей статье.
20. Fragster 1040 12.11.16 17:48 Сейчас в теме
(19) Dementor, повторюсь, увидев анонс в зазеркалье, я взял пример кода из него. И там именно вывод в коллекцию значений. То, что на ИТС ты смог найти документацию - поздравляю. Но по почему-то по названию ключевых функций оно не ищется. За ссылку, конечно, спасибо (кстати, пример там уже с табличным документом, в отличии от зазеркалья).

Я рассматриваю зазеркалье как сборник интересных особенностей платформы, с приблизительными примерами и указанием, когда оно (будет) реализовано. Не всегда хватает сил прочитать (и запомнить) v8update, да и самих примеров (с картинками :) ) он не содержит.

Про диаграммы - да, реализовано кое что, особенно порадовало условное оформление для СКД. Но сильно востребованные вещи типа логарифмической шкалы или двух шкал - не так и не реализованы, так что продолжим пользоваться полем HTML документа.
21. Fragster 1040 12.11.16 17:52 Сейчас в теме
(19) Dementor, я понял, как получилось найти информацию. Поиск по ИТС запоминает раздел. Из-за этого у меня результат оказался пуст, пока не переключишься в "разработка и администрирование".
22. Fragster 1040 17.01.17 13:26 Сейчас в теме
(19) предложил на партнерском вставлять ссылку на ИТС в статью в зазеркалье. Пока думают.
23. it@contlog.ru 30.07.18 20:51 Сейчас в теме
Или кривокод или что?
Смотрю СхемаЗапроса модифицирует запрос, но дальше нигде не используется?
Fragster; +1 Ответить
24. Fragster 1040 31.07.18 17:05 Сейчас в теме
(23) Согласен, пропустил установку запроса обратно в схему. Но глобально это ни на что не влияет :)
Даже на сообщаемые сведения про "дополнительное поле порядка"
Радует, что хоть кто-то внимательно это прочитал :)
25. Hatson 424 15.10.18 11:26 Сейчас в теме
26. acsent 1168 04.03.20 16:12 Сейчас в теме
а если не модифицировать запрос на выбрать первые 1, а в самой скда установить аналогичный параметр?
27. Fragster 1040 05.03.20 17:54 Сейчас в теме
(26) Разве есть в СКД аналогичный параметр?
29. Fragster 1040 17.03.20 11:41 Сейчас в теме
(28) не уверен, что оно работает не в постобработке
Оставьте свое сообщение

См. также

Недокументированное использование стандартных обработок из меню "Все функции". Промо

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    114925    ekaruk    130    

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

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

Очень много реквизитов (настроечные опции, параметры) у справочника или документа, и их все необходимо разместить на управляемую форму - лень! Хочется - добавил в метаданные и всё! В публикации отличное, простое и олдскульное решение с открытым кодом, научимся работать с ДанныеФормыДерево, ДеревомЗначений, сделаем быстрый поиск, создадим универсальный инструмент.

11.12.2020    713    SizovE    6    

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

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

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

30.11.2020    2705    SizovE    3    

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

Работа с интерфейсом Мобильная разработка v8 v8::Mobile 1cv8.cf Бесплатно (free)

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

02.11.2020    5765    leobrn    65    

Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя Промо

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей. Как сохранить ЦВЕТ

22.06.2015    24658    Tatitutu    12    

Цветовая схема конфигуратора в стиле OneScript

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Цветовая схема конфигуратора 1С максимально приближенная к стандартной цветовой схеме OneScript в VS Code.

01.10.2020    993    DmitrySinichnikov    3    

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

Работа с интерфейсом v8 v8::УФ Россия Бесплатно (free)

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020    3249    kalyaka    5    

Переопределение представления ссылочного значения

Практика программирования Работа с интерфейсом v8 Бесплатно (free)

Переопределение представления ссылочного значения

17.09.2020    3282    sam441    15    

Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

16.09.2012    35919    Aleksey.Bochkov    29    

Медленно формируются отчеты в БП 3, способ исправления

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

При формировании любых отчетов, но в особенности оборотно-сальдовой ведомости в бухгалтерии 3, очень долго формировался отчет, ПОЯВЛЯЛСЯ ЖЕЛТЫЙ КОТ, разумеется у бухгалтера невроз, да и у меня тоже. Что только ни делал: тестирование и исправление с пересчетом итогов, настройка SQL, отключение фоновых заданий, обновление платформы и конфигурации, а толку нет, регламентные операции по скулю тоже сделал. И что же сделал, а вот что:

21.07.2020    2286    VID1234    8    

Регистр сведений как дополнение объекта

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

19.05.2020    3321    Infector    14    

Хранение и редактирование дополнительных параметров в регламентированном отчете. Для начинающих. Промо

Работа с интерфейсом v8 БП2.0 УПП1 БУ Бесплатно (free)

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

22.01.2014    20798    KapasMordorov    4    

Перенос инструкций из word во встроенную справку 1С с сохранением картинок и форматирования

Практика программирования Работа с интерфейсом v8 Бесплатно (free)

Делюсь простым и удобным способом переноса справки/инструкций из ворда (и не только) во встроенную справку 1С с сохранением картинок и форматирования.

22.04.2020    4894    77dream77    21    

Звездный рейтинг *****

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

Ранее я представил подсистему «Управление состоянием». К подсистеме был проявлен интерес, однако в рамках одной статьи аспекты её использования были представлены недостаточно полно. Более подробное рассмотрение использования подсистемы я планирую продолжить через публикацию отдельных учебные примеров. Это первая статья из цикла таких примеров.

06.04.2020    1554    kalyaka    3    

Функциональные опции. Управление доступным функционалом для пользователей

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

Как управлять доступным функционалом в привязке к пользователям программы.

24.03.2020    1486    Evilgrym    2    

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

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

В табличных документах 1С 8 имеется отличная возможность использования группировок, но управление уровнями группировок через контекстное меню не очень удобное. В своих отчетах для управления уровнями группировок я использую маленькие кнопочки на поле табличного документа - это намного удобнее и быстрее, чем через контекстное меню.

09.04.2011    46683    mtv:)    74    

Форма выбора для реквизита с составным типом данных

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

Возник вопрос: как открыть форму выбора для реквизита, имеющего составной тип данных, да еще и отображаемый в виде надписи?

11.03.2020    3311    rule_2    2    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

18.02.2020    5502    randomus    20    

[Шпаргалка] Свой диалог выбора типа значения (элемента)

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

18.02.2020    4267    rpgshnik    6    

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

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

27.07.2012    32383    milkers    10    

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

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.01.2020    20974    aximo    14    

Добавление собственного поля и состояния в настройки доступности по состоянию в 1С:Документооборот

Практика программирования Работа с интерфейсом v8 ДО Бесплатно (free)

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

30.12.2019    5326    pavelpribytkin96    2    

Визуальный индикатор состояния документа

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

24.12.2019    2284    user752307    10    

Рабочее место кассира для touch-screen и программируемой клавиатуры продавца в «1С: Розница» Промо

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

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

29.11.2012    47442    aavolkoff    50    

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

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

09.12.2019    10230    John_d    16    

Лайфхаки 1С. Настройка списков (Часть 3)

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

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

03.12.2019    16137    VachKirp    14    

В новой платформе пропала кнопка "Печать". Имитируем БСП

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

"Приятным" сюрпризом для многих пользователей 1С стало то, что при обновлении платформы (начиная с 8.3.15) полностью поменялся интерфейс. Можно долго спорить о целесообразности этого новшества, но самым главным минусом стало то, что пропали стандартные кнопки на панели инструментов. Разработчики предполагают повсеместное использование БСП, но что делать тем, кто давно и успешно использует самописные конфигурации, в которых формирование печатной формы происходит по ТабДок.Показать(), и не желает их "утяжелять"? Добавим общую форму с нужными нам кнопками.

03.12.2019    9532    Vlan    44    

Бухгалтерия предприятия 3.0 интерфейс, аналогичный 1С:Бухгалтерии 7.7; Промо

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

Бухгалтерия предприятия, редакция 3.0, версия 3.0.14. Добавлена возможность использовать интерфейс, аналогичный 1С:Бухгалтерии 7.7;

20.09.2012    37527    dour-dead    18    

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

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

12.11.2019    12676    John_d    24    

Локализация интерфейсов конфигураций. Практика и инструментарий 1Ci

Работа с интерфейсом Локализация решений v8 Бесплатно (free)

В последнее время компания 1С International все увереннее заявляет о себе на международном рынке. Но для успешного продвижения в этом направлении необходима локализация интерфейсов конфигураций 1С. О том, как выглядит процесс перевода, какие инструменты для этого есть, где брать переводчиков и как проверять их работу, на конференции Infostart Event 2018 Education рассказал руководитель группы локализации компании 1Ci Сергей Поликарпов.

05.11.2019    5525    user1069006    1    

ELK. Время изумительных историй!

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

Всем привет! Сегодня хочу рассказать вам несколько полезных историй про то как нам помог Elastic search в связке с Kibana. Про сам Elastic рассказывать не буду, уже все давным давно описали и до меня. Все обычно говорят что это полезно, это классно. В то же время, очень мало кто рассказывает про практические ситуации: когда и как помог Elastic. Итак, начнем.

31.10.2019    9190    slozhenikin_com    27    

Выбор вариантов отчета в "Управление торговлей" ред. 11 Промо

Работа с интерфейсом Учет ТМЦ Учет ТМЦ v8 УТ10 Россия БУ Бесплатно (free)

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

27.05.2012    47456    1cUserAndrew    25    

Лайфхаки 1С (часть 2) Настройка работы интерфейса такси. Настройка и советы по работе

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Советы по настройке интерфейса Такси и особенности работы в этой среде.

24.10.2019    11956    VachKirp    10    

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

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

16.10.2019    13499    YPermitin    19    

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

Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

06.10.2019    12345    YPermitin    31    

Практика регулярных выражений в 1С или "парсим неудобные форматы" Промо

Практика программирования Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

В продолжение статьи Использование регулярных выражений (RegExp) в 1С8.х. Углубляемся в практику использования регулярных выражений в 1С. Основы работы с регулярными выражениями хорошо описаны в указанной публикации. А я попробую ответить на вопрос "почему именно регулярные выражения?" на примере конкретной рабочей задачи.

26.10.2011    30167    1cspecialist    33    

Лайфхаки 1С (часть 1). Настройки отчетов и печатных форм 1С

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

02.10.2019    13652    VachKirp    10    

Добавляем виджет "Задачи от меня" в Документооборот 2.1

Практика программирования Работа с интерфейсом v8 v8::Бизнес-процессы ДО Россия Бесплатно (free)

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    8313    Sergey_Borisovi4    3    

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

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

06.09.2019    67747    rpgshnik    68    

Допиливаем форму выбора серий номенклатуры для отображения остатков Промо

Практика программирования Работа с интерфейсом v8 КА1 УТ10 УПП1 Россия Бесплатно (free)

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

20.01.2011    32628    practik1c    19    

[Механизм интерфейса] Часы

Работа с интерфейсом Практика программирования v8 1cv8.cf Бесплатно (free)

Добавляем цифровые часы на форму, как бонус рассмотрим вариант и с аналоговыми.

26.08.2019    10401    rpgshnik    36    

Произвольная начальная страница через расширение (программно)

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Установка своей формы произвольному пользователю на начальную страницу.

14.08.2019    14875    nagaitseff    15    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    12122    IvanAT1981    17    

БСП: Дополнительные отчеты и обработки - одна обработка, несколько форм

Практика программирования Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как в одной дополнительной обработке разместить несколько форм с типом команды "ОткрытиеФормы"?

29.07.2019    11611    dsdred    9    

Пользовательские настройки системы компоновки данных

Практика программирования Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

09.07.2019    33602    ids79    3    

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

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

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

04.06.2019    46932    YPermitin    52    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free)

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

14.05.2019    22379    Viktor_Ermakov    8    

Свой макет оформления отчета

Работа с интерфейсом v8 v8::СКД Россия Бесплатно (free)

Пример создания и оформления и применения своего (пользовательского ) макета оформления для СКД.

24.04.2019    15721    olegpkc    5    

Универсальный отчет - "тонкая" настройка

Работа с интерфейсом v8 ERP2 БП3.0 УТ11 КА2 Бесплатно (free)

Как вывести реквизиты в отдельную колонку. Как получить больше настроек в 1С:ERP 2 (2.4.7.107) или 1С:КА2. (2.4.7.127) или БП 3.0 (3.0.67.74).

14.04.2019    9178    Константин С.    2