"Улучшение" поиска в динамических списках в 8.3.5

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

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

полнотекстовый индекс поиск по динамическому списку

Наверняка многие из вас читали публикацию 1С о доработке поиска в динамических списках - http://v8.1c.ru/o7/201401ls/index.htm.
В первом приближении кажется, что все отлично и пользователи теперь смогут работать еще более эффективно.
Но на практике ситуация очень далека от идеальной и имеет важные особенности.
Функциональность нового поиска основана на двух механизмах:
- полнотекстовый поиск (работает очень быстро и требует минимум вычислительных ресурсов);
- поиск средствами СУБД (в общем случае длительность поиска и затраты вычислительных ресурсов пропорциональны объему информации в таблице).

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

Если же полнотекстовый поиск включен в информационной базе, а индекс не обновлен совсем или частично (из моей практики 95% информационных баз Заказчиков), то пользователь при поиске получит либо недостоверный, либо пустой результат поиска.

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

А существует ли вообще "актуальный полнотекстовый индекс"? Зависит от числа пользователей, интенсивности изменения информации в базе и частоты запуска обновления индекса. Обычно обновление индекса запускают раз в 60 секунд. Хорошо, если объектов было изменено не много, и процедура успела обработать все изменения за эти 60 секунд. А если сделали перепроведение группы документов, или массовую перезапись справочника? В этом случае никто не может гарантировать время, через которое поиск по индексу снова даст достоверные данные.
В принципе, это не особо критично, кроме нескольких ситуаций. Частый вариант работы пользователей - установить в списке отбор по какому-то значению, например "Контрагенту", ввести новый или скопировать существующий документ и записать. Со старым поиском новый документ моментально был виден в списке. Теперь пользователь его увидит только через N секунд в лучшем случае, где N скорее ближе к 50-60 секундам, нежели к 2-3.
Если не заметить, что нового документа нет и по отобранным результатам предоставить информацию кому-либо, то она будет заведомо недостоверной.

Это было в случае нормальной работы с информационной базой. А что будет в специфических ситуациях? Приведу пару примеров.
1) В рабочей базе полнотекстовый индекс включен и часто обновляется. Пользователь просит развернуть ему копию рабочей базы, что по ней заняться анализом данных.
Восстанавливаем бэкап и даем доступ. Вот только полнотекстовый поиск работать не будет, т.к. индекс хранится не в СУБД, а в отдельных файлах (и в файловом, и в клиент-серверном варианте). Индекса нет в dt-файле.
т.е. чтобы пользователь смог использовать поиск по спискам - надо выключить полнотекстовый индекс в этой базе. Правда пользователь будет слегка удивлен тому, что поиск будет выполняться гораздо дольше. Либо перестроить индекс по всей базе.
 
2) (Актуально для более менее больших баз). В рабочей базе полнотекстовый индекс включен и часто обновляется. Наступает конец месяца и начинается закрытие периода. Начинаем массово грузить и перепроводить документы. Для снижения нагрузки на систему блокируем выполнение регламентных заданий, соответственно, и обновление индекс останавливается. Пользователи будут, мягко говоря, в недоумении - чего же в списках нет новых или измененных документов. Единственный выход - отключить полнотекстовый поиск для информационной базы, и, соответственно, получить еще большую нагрузку на оборудование за счет тяжелого поиска по всем реквизитам.

Таким образом, как мне кажется, операция по обновлению индекса станет еще одной головной болью администраторов информационных баз.
Система, ранее гарантировавшая 100% достоверность и актуальность информации в любой момент, сейчас превращается скорее в справочную систему, в которой нельзя быть полностью уверенным.
А пользователи получают еще один повод для упрека ИТ-шников - "ваша система неправильно работает".

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Aleksey.Bochkov 3383 23.07.14 06:15 Сейчас в теме
Коллеги, буду благодарен за ваше мнение и опыт.
Возможно, это поможет убедить Фирму 1С реализовать механизм качественнее.
3. ander_ 23.07.14 07:26 Сейчас в теме
(1) что-то я сильно в этом сомневаюсь (что что-то поможет убедить фирму 1с) :) Уверен, что делали они это осознанно, взвешивая все плюсы и минусы.
4. vandalsvq 1159 23.07.14 07:48 Сейчас в теме
(3) ander_, а вот я не уверен что 1С делает все "взвешивая + и -", Такси и его изменение в будущем тому доказательство (самый яркий пример - Масштаб - компактный, обычный).

(1) спасибо за статью, невнимательно читал описание как работает поиск. На досуге надо подумать стоит ли его оставлять во вновь разрабатываемых решениях, до момента пока обычные пользователи не замучают 1С :)
2. Bronislav 23.07.14 06:53 Сейчас в теме
На днях тоже пробовал этот поиск. Результаты немного удивили.
Тут еще самое веселье, что если зайти в типовые конфигурации и посмотреть расписание регл задания по обновлению поиска, увидим интервал в 10 секунд.
А если зайти на итс и посмотреть "систему стандартов и методик разработки...", то видим:

Настройка расписания регламентных заданий:
• ни в каких случаях не следует задавать периодичность выполнения регламентных заданий меньше одной минуты;

Может конечно в новом итс это дело исправили, но все равно забавно.
RegrZ; B2B; BigB; RomanRomans; +4 Ответить
5. lustin 23.07.14 08:19 Сейчас в теме
(0)

А существует ли вообще "актуальный полнотекстовый индекс"?


Немного не тот вопрос задаёте. В статье описано то, что в 1С нет функциональности которая называется "real time full text search". Если бы вопрос был задан как "А существует ли полнотекстовый поиск в реальном времени ?". Я бы в ответ на него не задумываясь дал ссылку на ElasticSearch.

То что изображено на картинке "в Зазеркалье", в том же "Эластичном поиске" ;-) называется
Поиск предложений (вольный перевод)

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

Итак, давайте анализировать от обратного, как в школе в математике:

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

Я не зря дал вам ссылку на инструмент из Web разработки и BigData - там эта задача стоит достаточно остро - в связи с тем что браузеров (а рабочее место пользователя сайта - это именно его браузер), много и вероятность выдачи неактуальной информации достаточно велика, в связи с этим, там эта задача решена с помощью 2 инструментов:
Обновления по расписанию http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-update-settings.html
и порционного обновления документов в индексе по событию
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/partial-updates.html

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

Но вместе с тем - вернемся к основному посылу. Нужен поиск в режиме реального времени ? Вопрос - зачем и кому ? Если кому-то нужно что-либо знать в режиме реального времени, то за это отвечает не аналитический инструмент поиска и анализа текстов документов, коим и является "полнотекстовый поиск", а некий инструмент "оповещения о событиях". Де факто мы хотим, чтобы группа пользователей работающая с одними сущностями наблюдала в режиме реального времени происходящие события у друг-друга. Как только у нас возникает словосочетание "коммуникация по событиям", то задача явно уходит в плоскость интеграции. И опять я приведу пример из мира Web - там близко к нашей задаче стоит модель разработки Comet
Аналогия в данном случае - это "Чат над документами" ;-)

То есть - мы с вами потихоньку проходим к следующему. Если объединить концепцию поиска в режиме реального времени и событийную модель, то для указанной задачи (если не использовать сторонние инструменты) проблема не во времени регламентного задания, а в двух вещах:

1. инициатором события обновления индекса должен быть инициатор события с сущностью приводящий к его неактуальности.
то есть необходим псевдокод типа:
Процедура ОбработкаКоманды()
  ВыполнитьЧтоТо()
  ЗапуститьЧастичноеОбновлениеИндексаВФоновомЗадании()
КонецПроцедуры


2. и самое главное это управление порциями полнотекстового поиска, то есть если происходит много частичных обновление небольшого количество документов - на данный момент порция вроде как 10000 документов и это константа.
то есть в идеале код процедуры ЗапуститьЧастичноеОбновлениеИндексаВФоновомЗадании выглядит так:
МенеджерПолнотекстовогоПоиска.ОбновитьИндекс(Ложь,Истина,1);

Для тех кто решил запустить это код, знают что третьего параметра там нет. А очень хочется.

Ну и напоследок - уж очень длинный комментарий получился скажу еще 2 вещи.

1. для любителей поэкспериментировать с производительностью и посмотреть на полнотекстовый поиск -посмотрите на скорость ваших физический разделов на сервере 1С, где находятся служебные файлы поиска.
2. а также выполните следующий код:
Для сч = 1 по 50 Цикл
 ВыполнитьФоново("МенеджерПолнотекстовогоПоиска.ОбновитьИндекс(Ложь,Истина)");
КонецЦикла
МенеджерПолнотекстовогоПоиска.ОбновитьИндекс(Истина,Ложь)

с наблюдением за счетчиками Windows
b00ker; suepifanov; Blagin; rusmil; NeviD; CyberCerber; sevushka; isn; mickey.1cx; Labotamy; jorikfon; xoisim; burni4; Варвар; Cereus; JIeHIH; ojiojiowka; fzt; BigB; It-developer; AlexandrIII; RegrZ; Sol; monkbest; MSensey; Templ; Uncore; puzakov; timm00; Tedman; pt_olga; Redokov; Дмитрий74Чел; Dementor; vandalsvq; RomanRomans; zhenyat; awa; theshadowco; support; Evil Beaver; tormozit; Adeptus; help1Ckr; Bronislav; Aleksey.Bochkov; borda4ev; +47 Ответить
6. borda4ev 23.07.14 09:01 Сейчас в теме
(5) lustin, Тот момент, когда комментарий, лучше статьи)))
rrunover; CyberCerber; chmv; jorikfon; JIeHIH; +5 Ответить
7. lustin 23.07.14 09:32 Сейчас в теме
(6) iTony73, я постарался статью дополнить. Алексей задал вполне правильный вопрос - в той же Управлении торговлей, эта проблема стоит достаточно остро.

Ну буду вам советовать, а просто скажу - что в режиме конкурентного поиска информации, на одном из проектов динамические списки поиска "смотрели" не в УТ напрямую, а во внешний ODBC источник и в ElasticSearch рядом с этим источником. Находя необходимую ссылку объекта - уже она передавалась в качестве объекта формы внутри кода 1С.
Но нас там спасло, что были хорошие python разработчики рядом с 1С-специалистами.
Отдельная веселая история как мы делали быструю и почти-синхронную реплику 1С данных, но это уже в интеграцию уходит.

8. vandalsvq 1159 23.07.14 12:16 Сейчас в теме
(7) lustin, почитал про ElasticSearch, очень интересно и познавательно. А можно подробнее чуток про связку? Можно в личном порядке ;)
10. lustin 23.07.14 14:05 Сейчас в теме
(8) vandalsvq, ты когда демо пришлешь ;-) Можно и в личном.
25. lustin 18.08.14 02:00 Сейчас в теме
(8) vandalsvq, Если до Инфостарта потерпишь покажу тебе на примере на локальной машине.
27. vandalsvq 1159 08.11.14 20:56 Сейчас в теме
(25) lustin, на Ивенте маленько поспрашивал, счас сам копать начинаю почуток. Может быть выложу готовый инструмент для 1С, если конечно он получиться. А то ведь как оно бывает. Руки крюки - только голова молодец :)))))))

(26) lustin, статью посмотрел, ну да, это не совсем то что мне надо, но тоже полезно. Добавил в заметки, когда будут руки честаться эластиком плотно тогда думаю любая статья пригодится. А уж твои тем более.
26. lustin 19.10.14 00:10 Сейчас в теме
(8) vandalsvq, попробовал начать описывать подход к ElasticSearch. Тебе не очень понравится - там пока много намеков на Hive, Hadoop и ElasticSearch. Обещаю на Infostart Event рассказать чуть подробней. А пока накидываю ссылки и заметки для будущей статьи http://xdd.silverbulleters.org/t/bigdata-logmanager-dlya-1s/62
28. Lapitskiy 983 04.01.16 05:05 Сейчас в теме
(5) lustin, ... тот момент, когда IT специалист, вместо решения проблемы, объясняет, что заказчик просто тупой.
9. AlX0id 23.07.14 13:16 Сейчас в теме
Ну улучшение-то может и без кавычек.. Только вот область применения его резко сужена за счет требований актуальности полнотекстового поиска - то да.
На мой взгляд, так как улучшение в первую очередь интерфейсное, нежели структурное - можно было бы и спросить программистов - нужно ли использовать к данному списку полнотекстовый поиск или нет. Или хотя бы - нужен ли он уберактуальный или позапрошлогодний сойдет.. Все лучше, нежели пользователю выдавать сообщения о том, что его индекс полнотекстового поиска неактуален, видите ли - на мой взгляд большей подставы для штатных программеров трудно придумать..
11. Yashazz 3419 23.07.14 16:35 Сейчас в теме
Нерегулируемость и неуправляемость полнотекстового поиска, насколько я понял из статьи и комментариев, остались на уровне 8.1, так?
12. MarSeN 975 23.07.14 16:51 Сейчас в теме
Не сочтите за рекламу: для УФ (не интерфейс такси) пользуйте быстрый поиск из Universal Extensions - http://infostart.ru/public/266022/.
никаких индексов не требуется.
Для режима такси надо доработать
13. Yashazz 3419 23.07.14 18:05 Сейчас в теме
(12) Тогда уж лучше такое: http://infostart.ru/public/254906/, опять же, за рекламу не считать ))) Достаточно просто, легко портируемо и совершенно бесплатно)
15. MarSeN 975 23.07.14 21:21 Сейчас в теме
(13) Yashazz,
Не увидел там быстрого поиска
16. Yashazz 3419 24.07.14 00:37 Сейчас в теме
(15) MarSeN, там не быстрый поиск, там отбор по ячейке)

Так что, умеет 8.3.5 обновить только полнотекстовый индекс по конкретному справочнику, например?
17. AlX0id 24.07.14 12:07 Сейчас в теме
(16) Yashazz,
МенеджерПолнотекстовогоПоиска (FullTextSearchManager)
ОбновитьИндекс (UpdateIndex)
Синтаксис:

ОбновитьИндекс(<РазрешитьСлияние>, <Порционное>)
Параметры:

<РазрешитьСлияние> (необязательный)

Тип: Булево.
Разрешает слияние индексов.
Если Истина, то выполняется слияние частичного и полного индексов.
Значение по умолчанию: Ложь.
<Порционное> (необязательный)

Тип: Булево.
Истина - обновление индексов будет осуществляться порциями. При каждом вызове метода выполняется порционное обновление индекса. Размер порции равен 10 тысяч объектов индексирования. При этом сначала в порцию выбираются объекты, не привязанные ко времени (например, справочники), затем, если порция еще не заполнена, выбираются объекты, привязанные ко времени (например, документы). Сначала выбираются новые объекты, а затем старые. При выборе анализируются все временные объекты, в том числе и регистры сведений с периодами (берется старшая дата периода), так, чтобы порция включала поровну объекты всех типов.
После индексирования данных одной порции процесс завершается.
Если Ложь, то индексирует все.
Значение по умолчанию: Ложь.
Описание:

Обновляет индекс полнотекстового поиска.
Показать

Из 8.3.5, собсн.
18. Yashazz 3419 24.07.14 14:17 Сейчас в теме
(17) ИТС и СП я читать умею, спасибо. Я спрашивал о несколько другом... Ну что ж, значит, нифига никакого прогресса за последние 5 лет.
19. AlX0id 24.07.14 15:09 Сейчас в теме
(18) Yashazz,
Про прогресс как раз-таки вопроса и не было ))
Ну да - нет его. Почему-то вот с ПТ у них приоритетнее бантики-рюшечки, нежели реальные проблемы, что делать..
14. EvgeniuXP 23.07.14 18:36 Сейчас в теме
даже если выключен поиск, данные ищутся не правильно :), на пустой базе с тремя-четыремя фильтрует нормально, а вот где данных около 40 000 - фильтр уже работает не правильно - почему? - не знаю.

Набираю "Цех № 1" - то отображает все строки начиная с "Цех №", т.е. там может и 1 и 2 и 3 быть. Если пишу "ЭМП-1" - отображает все строки "ЭМП-", там тоже может и 1 и 2 и 3 и т.д. - на маломо количестве строк работает хорошо, на большом - ужасно. Поэтому выкинул это поле ввода, и когда пользователь вводит - появится окно как делать поиск - вот оно отлично работает.
20. Sergey.Noskov 29.07.14 14:45 Сейчас в теме
Про задействование полнотекстового поиска в этом механизме не знал, спасибо.
>поиск средствами СУБД
Этот момент не раскрыт, тут то же может быть много сюрпризов т.к. поиск идет по Like
21. lustin 01.08.14 21:39 Сейчас в теме
(20) serno, А чего его раскрывать, если уж в свое время обсуждали или проходили, только делали мы это еще на 7.7 и MSSQL 2000

Ключевая ссылка http://www.1cpp.ru/forum/YaBB.pl?num=1216299078/0
По большому счету для 8.* это уже не так актуально в связи с тем что в 1С язык запросов "не пробрасываются" ключевые слова в TSQL например это CONTAINS() или FREETEXT(), в 1С++ можно было играться напрямую ;-)

Тут лучше подойдет ссылки на MSDN
http://msdn.microsoft.com/ru-ru/library/ms142571.aspx

У Oracle своя реализация, есть ли у них поддержка морфологии русского языка мне пока неизвестно, у MSSQL есть
http://docs.oracle.com/cd/B28359_01/text.111/b28303/ind.htm#i1006201

Про PostgreSQL начинать лучше с http://www.sai.msu.su/~megera/postgres/talks/fts_pgsql_intro.html

Как мы все понимаем - реализация у каждого сервера СУБД ключевых слов и подходов разная.

Была в свое время гразно-хакерская идея у одних моих знакомых на Oracle - они делали патч подменяющий запросы с LIKE по определенной таблице и полю: но дальше идеи это не пошло - уж слишком большим "костылем" это оказалось: никто в здравом уме такое поддерживать не согласился. Я уже не говорю про лицензионное соглашение
22. lustin 01.08.14 21:44 Сейчас в теме
(21) lustin, да и дополню - единственное что на данный момент недо-исследовано, нельзя ли использовать ключевые слова для full text search во внешних источниках 1С.
23. Sergey.Noskov 04.08.14 17:43 Сейчас в теме
(21) lustin.
Алексей, спасибо за ссылки, но речь таки не про Full-Text Search, ибо он в данном случае не используется, а именно про запросы с конструкциями Like %строка% и как это "быстро" работает.
24. lustin 18.08.14 01:54 Сейчас в теме
(23) serno, ну так и я про тоже самое, только опосредовано.

Конструкции (пишу по памяти):

1. like 'test%' попадают в индекс и работают быстро
2. like '_____test%' работают быстро за счет точного количества символов впереди
3. like '%test' и like '%test%' - работают медленно и оптимизации не подлежат, совсем. То есть вообще.. И 1С тут не причем.
http://stackoverflow.com/a/5039845

Нет другого выхода как использовать ключевые слова CONTAINS() и FREETEXT(), в качестве замены конструкции ПОДОБНО %хрень%

Единственный возможный способ в 1С использовать полнотекстовый поиск на уровне СУБД - это.... внезапно внешний источник данных.
Но там опять не тревиально и на границе разумного и лицензионного соглашения.
Способ использовался еще на 7-ке.

1. для каждой таблицы создаются VIEW с нормальным наименование, причем обязательно с параметром WITH SCHEMABINDING - чтобы обновлять VIEW было проще после обновления метаданных
2. соответственно внешний источник прописывается уже к полученной VIEW, в тексте запроса к внешнему источнику указываются нужные нам ключевые слова CONTAINS и т.д

Но я этот способ даже не пробовал - это ... Уж слишком он выглядит костылем. Особенно когда узнаешь что полнотекстовый поиск на уровне СУБД зависит от словаря языка, и там оказывается очень не ожидаемые результаты можно получить.
29. hame1e00n 518 18.01.16 10:37 Сейчас в теме
Тоже наткнулся на проблемы с этим быстрым поиском, когда он работает в связке с полнотекстовым поиском.
Делал самописную конфу, за основу взял БСП. Полнотекстовый поиск включил.
Примерно через полгода этот быстрый поиск перестал нормально работать, хотя все регламентные задания работают и выполняются часто.
Как это выражается: результат поиска сейчас один, через час другой, завтра - третий.
Пользователи в непонятках.
Очистка и перезаполнение индекса не дали результата.
В итоге отключил полнотекстовый поиск, теперь быстрый поиск в списке работает нормально (правда чуть медленнее).
30. damiron 19.01.16 15:38 Сейчас в теме
Добрый день всем!
Вопрос: Целесообразно ли использовать ПП, скажем, для поиска дублей справочников? Платформа 8.3.6.2237.
Спасибо.
31. Aleksey.Bochkov 3383 21.01.16 10:53 Сейчас в теме
(30) damiron,
Полнотекстовый поиск дает чуть больше возможностей в поиске близких по смыслу дубликатов (морфология слов, различный порядок и т.д.). Наверное в этой части имеет смысл его использовать. Если говорить про полное совпадение (по ИНН, наименованию, коду и т.д.), то лучше делать обычными запросами, т.к. результат обычного запроса гарантирует 100% достоверность результата, а полнотекстовый поиск - нет.
klinval; info1i; +2 Ответить
32. Andry.Boris 58 16.03.17 00:11 Сейчас в теме
День добрый!



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

С уважением, Андрей
33. Xershi 1020 16.03.17 01:04 Сейчас в теме
(32) может дело в языке? Одна буква набрана на русском, а другие на белорусском или украинском?
34. Andry.Boris 58 16.03.17 02:15 Сейчас в теме
(33) нет не в этом, раскладку проверял...
текст просто не отображается...
35. Xershi 1020 16.03.17 16:27 Сейчас в теме
(34) меняли наименование вручную?
Обновление индекса у вас работает?
36. kuzev 40 16.03.17 16:36 Сейчас в теме
(32) Хм... буквально вчера столкнулся с такой же проблемой. Случаем, свойство "ТолькоПросмотр" у таблицы не Истина?
Andry.Boris; +1 Ответить
37. Andry.Boris 58 16.03.17 18:25 Сейчас в теме
(36) Спасибо Евгений!
Именно так если стоит у таблицы "ТолькоПросмотр" признак Истина то наблюдается такая картина! Проверил! Если убрать все ок!

Вопрос решен!
38. kar911 11.07.18 09:53 Сейчас в теме
А эта ошибка с поиском ещё актуальна для новых платформ? что необходимо обновлять индексы каждую минуту
Оставьте свое сообщение

См. также

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

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

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

19.06.2015    111960    ekaruk    127    

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

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

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

22.09.2020    2092    kalyaka    5    

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

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

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

17.09.2020    1810    sam441    15    

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

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

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

22.06.2015    24417    Tatitutu    12    

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

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

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

21.07.2020    1749    VID1234    8    

Полнотекстовый поиск в 1С. №1 Грабли в динамических списках

Поиск данных v8 1cv8.cf Бесплатно (free)

Полнотекстовый поиск в 1С и все что с этим связано. Часть №1: особенности работы в динамических списках.

18.07.2020    4699    YPermitin    18    

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

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

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

19.05.2020    2434    Infector    14    

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

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

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

16.09.2012    35622    Aleksey.Bochkov    29    

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

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

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

22.04.2020    4448    77dream77    21    

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

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

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

06.04.2020    1365    kalyaka    3    

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

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

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

24.03.2020    1310    Evilgrym    2    

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

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

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

22.01.2014    20555    KapasMordorov    4    

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

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

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

11.03.2020    2096    rule_2    2    

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

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

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

18.02.2020    4775    randomus    18    

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

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

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

18.02.2020    3488    rpgshnik    6    

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

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

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

09.04.2011    46161    mtv:)    74    

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

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

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

13.01.2020    14446    aximo    14    

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

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

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

30.12.2019    4434    pavelpribytkin96    2    

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

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

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

24.12.2019    2043    user752307    10    

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

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

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

27.07.2012    32165    milkers    10    

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

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

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

09.12.2019    8908    John_d    16    

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

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

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

03.12.2019    12109    VachKirp    14    

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

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

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

03.12.2019    8884    Vlan    43    

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

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

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

29.11.2012    46486    aavolkoff    50    

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

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

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

12.11.2019    10745    John_d    24    

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

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

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

05.11.2019    5071    user1069006    1    

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

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

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

31.10.2019    8781    slozhenikin_com    27    

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

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

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

20.09.2012    37211    dour-dead    18    

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

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

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

24.10.2019    9298    VachKirp    7    

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

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

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

16.10.2019    12922    YPermitin    19    

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

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

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

06.10.2019    11755    YPermitin    31    

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

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

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

27.05.2012    46660    1cUserAndrew    25    

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

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

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

02.10.2019    12430    VachKirp    10    

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

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

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

25.09.2019    7498    Sergey_Borisovi4    3    

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

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

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

06.09.2019    49123    rpgshnik    63    

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

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

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

26.10.2011    29844    1cspecialist    33    

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

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

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

26.08.2019    9873    rpgshnik    36    

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

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

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

14.08.2019    11801    nagaitseff    15    

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

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

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

07.08.2019    11051    IvanAT1981    15    

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

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

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

20.01.2011    32120    practik1c    19    

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

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

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

29.07.2019    10768    dsdred    9    

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

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

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

09.07.2019    26022    ids79    2    

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

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

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

04.06.2019    41174    YPermitin    52    

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

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

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

14.05.2019    19512    Viktor_Ermakov    8    

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

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

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

24.04.2019    13085    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    7141    Константин С.    1    

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы)

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

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

25.03.2019    13331    ellavs    9    

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

Работа с интерфейсом Зарплата Зарплата v8 ERP2 ЗУП3.x Россия БУ Бесплатно (free)

Как вывести дополнительные реквизиты на форму списка справочника Графики работы сотрудников Подходит для ERP, ЗУП v. 3.0; 3.1

24.02.2019    9648    EVP_EVP    7