Поиск по подстроке в таблице значений. По принципу "начинается с"

Публикация № 1418925 07.04.21

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

ТаблицаЗначений таблица поиск дихотомия

Часто сталкивался с задачей поиска по подстроке в таблице значений. Ну, например, в таблице нужно найти всех Петровых, или, например, все строки, в которых значение в Колонке Х начинается на "Бел". Вариантов для себя нашел всего 2. Первый - это перебор и сравнение со значением поиска, а второй - поместить во временную таблицу и через Подобно вытащить значения. Но все это было медленно, примерно на 130 000 поиск нужных значений занимал более 1,5 секунд (это перебором), а помещение во временную таблицу не всегда возможно и тоже более секунды. Тогда сделал сделал так, отсортировал таблицу по нужному мне столбцу и далее уже из этой таблицы выбирал нужные мне данные. И скорость возросла значительно, теперь то, что я ранее выбирал за 1,5 секунды, выбирается не более 10 милисекунд.

 

Часто сталкивался с задачей поиска по подстроке в таблице значений. Ну, например, в таблице нужно найти всех Петровых, или, например, все строки, в которых значение в Колонке Х начинается на "Бел". Вариантов для себя нашел всего 2. Первый - это перебор и сравнение со значением поиска, а второй - поместить во временную таблицу и через Подобно вытащить значения. Но все это было медленно, примерно на 130 000 поиск нужных значений занимал более 1,5 секунд (это перебором), а помещение во временную таблицу не всегда возможно и тоже более секунды. Тогда сделал сделал так, отсортировал таблицу по нужному мне столбцу и далее уже из этой таблицы выбирал нужные мне данные. И скорость возросла значительно, теперь то, что я ранее выбирал за 1,5 секунды, выбирается не более 10 милисекунд.

На этом абзаце мой писательский талант иссяк. Поэтому далее в телеграфном стиле.

 

Описание

Создано 2 функции.

ПоискДихотомияПоСортированнойТаблице - это основная функция, которая возвращает массив найденных строк, если ничего не найдено, то вернется пустой массив.

Параметры:

тТаблица - таблица значений, отсортированная по колонке поиска по возрастанию. 

КолонкаПоиска - Имя колонки, по которой собственно ищем, таблица тТаблица обязательно должна по ней быть отсортирована, иначе метод не работает.

ПоисковаяСтрока - строка, вхождение "слева" которой ищем в значениях колонки поиска

ТочныйПоиск - это признак того, что нужно искать одно конкретное значение. (Собственно аналог найтиСтроки, здесь он для универсальности, но вроде работает тоже побыстрее, правда я не проверял)

УчитыватьРегистр - признак того, что при сравнении значений необходимо учитывать регистр, т.е. если ищем "петр", то "Петров" не будет найден.

 

Функция ПолучитьЗначениеДляСравнения - модифицирует значение в очередной строке из Таблицы для того, чтобы его можно было сравнить с ПоисковойСтрокой.

Код функция здесь. Можно брать и вставлять в свои модули. 

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

    
    
    
    
КонецФункции

Функция ПолучитьЗначениеДляСравнения(СтрокаТаблицы,КолонкаПоиска,КоличествоСимволовПоиска,ТочноеСовпадение,УчитыватьРегистр)
    
    Если ТочноеСовпадение Тогда 
        Результат = ?(УчитыватьРегистр,СтрокаТаблицы[КолонкаПоиска],ВРег(СтрокаТаблицы[КолонкаПоиска]));
    иначе
        Результат = ?(УчитыватьРегистр,Лев(СтрокаТаблицы[КолонкаПоиска],КоличествоСимволовПоиска),Лев(ВРег(СтрокаТаблицы[КолонкаПоиска]),КоличествоСимволовПоиска));
    КонецЕсли;
    Возврат Результат;
    
КонецФункции

 

Как можно использовать

 

 Например, у нас есть таблица

ФИО Оклад
Иванов Иван Иванович 600
Петров Иван Иванович 300
петров Николай Петрович 700
сидоров Иван Иванович 400


Нам нужно выбрать всех Петровых.

Сначала мы сортируем таблицу по ФИО. Желательно этот метод применять таким образом, что таблица отсортирована один раз, а сам метод применяется много раз.

А далее

РезультатМассивСтрок = ПоискДихотомияПоСортированнойТаблице(таблицаСФИО,"ФИО","петров ",ложь,ложь);

В итоге в результатМассив попадут строки.

ФИО Оклад
Петров Иван Иванович 300
петров Николай Петрович 700

 

Я например этот метод использовал для автоподстановки в поле ввода. (таблица была более 130000 строк).

Послесловие

Коллеги, жду от Вас комментарии. А может, кто-то знает более быстрый метод, а я тут изобретаю велосипед.

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Activity 07.04.21 13:42 Сейчас в теме
Так в данном случае получается поиск не по подстроке, а именно по началу строки или точному соответствию значения и строки поиска, что расходится с понятием поиск по подстроке

Или я ошибаюсь?
2. MikeI 78 07.04.21 18:31 Сейчас в теме
(1)
Так в данном случае получается поиск не по подстроке, а именно по началу строки или точному соответствию значения и строки поиска, что расходится с понятием поиск по подстроке
.

Начало строки - это частный случай подстроки, поэтому я в заголовке и уточнил способ поиска, что бы не создавалось ложное ощущение что поиск происходит по любой подстроке
3. TMV 14 08.04.21 13:13 Сейчас в теме
Ну т.е. достаточно было отсортировать значения в колонке?
4. MikeI 78 08.04.21 14:06 Сейчас в теме
(3)Вы про пример? В статье таблица некорректно показана, она конечно должна быть отсортирована по колонке ФИО. Просто когда не 4 записи , а 100 000 эффект перед обычным перебором налицо.
5. Cyberhawk 133 10.04.21 20:35 Сейчас в теме
на 130 000 поиск нужных значений занимал более 1,5 секунд
В какой момент инициализируется такая ТЗ?
6. MikeI 78 11.04.21 13:30 Сейчас в теме
(5) Таблица инициализируется и сортируется один раз до начала многократного применения процедуры. Я например ее использовал для динамического формирования списка выбор в элементе
7. Cyberhawk 133 11.04.21 14:27 Сейчас в теме
(6) А что является источником данных для формирования ТЗ такого размера? Данные выбираются из какой-то таблицы БД?
8. MikeI 78 11.04.21 14:32 Сейчас в теме
(7) Сторонние данные. Например получение данных с какого-нибудь сайт. Когда значения нужны, а но не нужно записывать их в базу данных 1С. Для пример список Брендов на ОЗОНе.
9. Cyberhawk 133 11.04.21 14:49 Сейчас в теме
(8) А получение с сайта ста тысяч строк (полагаю, как минимум состоящих из пары "ИД - представление") быстро происходит?
Это делается ХТТП-запросом?
10. MikeI 78 11.04.21 14:53 Сейчас в теме
(9) Нет это не быстро. Но это уже данность, и получается один раз. А далее много много раз используется поиск значений полученной таблице. Например Http-запросом
11. Cyberhawk 133 11.04.21 14:58 Сейчас в теме
(10) А источник данных (сайт) не предоставляет возможность получать данные, удовлетворяющие отбору?
12. MikeI 78 11.04.21 15:03 Сейчас в теме
(11) Во-первых. Я привел для примера какие данные, могут. А так это может быть любая таблица значений , полученная любыми способами. А во вторых , получение данных сайта будет происходить дольше, если мы х ним обращаемся много раз, нежели чем при выборке максимального количества данных за один раз.
13. Cyberhawk 133 11.04.21 15:33 Сейчас в теме
(12)
это может быть любая таблица значений , полученная любыми способами
Интересовал конкретный сценарий, в котором пользователю может понадобиться ТЗ на 100+ тысяч строк.
получение данных сайта будет происходить дольше, если мы х ним обращаемся много раз, нежели чем при выборке максимального количества данных за один раз
А сколько в среднем операций поиска выполняет пользователь по такой большой ТЗ? И как реализовано удерживание ТЗ в памяти в течение времени жизни сеанса пользователя?
14. MikeI 78 11.04.21 15:58 Сейчас в теме
(13)
И как реализовано удерживание ТЗ в памяти в течение времени жизни сеанса пользователя?
средствами платформы.

Про сценарий - Например выбор бренда из списка более 130 тыс. с помощью ввода начальных символов бренда. Динамически формируется список выбора
15. pentanom 24 18.01.22 13:03 Сейчас в теме
А Петрович тоже попадает в выборку?
16. slicem 8 19.01.23 11:20 Сейчас в теме
Блин! Идея сравнивать строки на больше меньше - шикарная. Никогда бы не додумался. Спасибо.
17. user1656634 01.02.23 15:49 Сейчас в теме
Функции помогли решить важную задачу по поиску нужного значения в строке, СПАСИБО!

Только хотел уточнить действие строки
нИнд = Цел(К/2);


из за деления на 2 последнюю и нечетную строку функция не видит.
18. MikeI 78 04.02.23 19:23 Сейчас в теме
С граничными значениями действительно были проблемы. А вот с нечётной строкой, рано или поздно найдется значение когда останется 2 значения
Оставьте свое сообщение

См. также

Выполнение длительных операций в фоновых заданиях

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

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

19.01.2023    2037    programmer_2019    6    

26

Система контроля ведения учета [БСП]

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

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    5486    quazare    8    

101

Выгрузка данных в Excel с добавлением формул (нюансы формирования формул)

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

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

30.05.2022    3474    Zlohobbit    5    

19

Хитрости СКД. Часть 3

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

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

28.05.2022    6666    milkers    11    

87

Базовые принципы работы с регламентными заданиями подсистем БСП

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

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

22.05.2022    9329    quazare    24    

55

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

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

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

25.04.2022    10155    quazare    11    

130

Вывод табличных документов с разной ориентацией страниц в один pdf файл

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

Привожу код для вывода нескольких табличных документов c разной ориентацией страниц в один файл pdf.

06.04.2022    2701    sdjoker    5    

28

Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)

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

Мы все любим 1С, не так ли? Вот дает 1С прекрасный механизм возможности модификации макетов печатных форм в БСП. А из всех рекомендаций это получение макета и заполнение параметров областей. И вы спросите: "А что не так... ты печатные формы накодить не можешь без указаний сверху?". Да вот в том то и дело, что я могу все. А вот пользователям от такого механизма пользы 0, если из всех доступных изменений остаются только шрифты, да текст произвольный накинуть. А ведь можно больше, надо только соблюдать несколько правил при подготовке печатных форм...

07.03.2022    9846    vandalsvq    0    

56

Убираем параметры из отбора СКД

Универсальные функции СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Заметка о некоторых технических нюансах параметров данных и отборов СКД.

17.02.2022    5398    Yashazz    29    

31

Конвертируем печатную форму pdf в картинку (jpg, gif, png и прочие) на сервере

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

Была поставлена интересная задача конвертировать печатную форму в файл картинку. По условию задачи клиенту на почту нужно присылать только файл картинку (jpg, gif).

22.12.2021    6349    John_d    25    

46

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

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

12.11.2021    13566    acces969    95    

142

Простейший способ учета изменений управляемых форм объектов 1С

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

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

02.11.2021    2044    avalakh    13    

20

Функции для преобразования справочников и документов в соответствие и обратно

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

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

01.11.2021    1835    avalakh    5    

19

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми "i".

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

Какой пользователь не мечтал поменьше тыркать кнопкой? Особенно в малюсенькие +/- в "древесных" динамических списках. Если вас тоже озадачили, чтобы, при выборе узла дерева сами развернулись все его вложенные элементы , а при выборе другого узла - так же автоматом свернулась ранее развернутая ветка (причем эти узлы могут находится в разных "отношениях" друг с другом)... То вам - сюда.

08.10.2021    3846    e-9    13    

21

Из Word в табличный документ

Универсальные функции Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

Быстро и просто: текст, списки, таблицы. Готовый код

18.08.2021    4741    Yashazz    6    

64

Префиксация объектов - полезный типовой функционал БСП

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

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

21.06.2021    10882    quazare    4    

61

Своя функция &Вместо &ИзменениеИКонтроль

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

Как добавить контроль в расширения, если не доверяешь аннотации &ИзменениеИКонтроль.

06.06.2021    16541    AntonProgma    171    

18

Предотвращение многократного вызова "ПриПолученииДанных" во время поиска в табличном поле в обычных формах

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

Долго искал решение: как при выводе строк заполнить значениями колонки, которые созданы программно, чтобы, не было тормозов при стандартном поиске. И с минимальными изменениями (легко контролируемыми, при обновлении).

07.04.2021    3618    Vlad_CK    9    

25

Генератор QR кодов для 1С без компонент через HTTP API

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

Самый простой, на мой взгляд, способ получить QR код для 1СV8. Без внешних компонент, как говорится, бесплатно, без смс и регистрации))

17.12.2020    9189    shell_maxim    28    

30

Сохранение настроек

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

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

22.11.2020    9828    ixijixi    8    

67

Сохранение настроенного запроса набора данных СКД

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

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

09.11.2020    2424    Serge R    0    

21

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

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

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

07.10.2020    13529    ellavs    7    

39

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Россия Бесплатно (free)

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

30.09.2020    9664    Neti    47    

68

Самый простой парсинг и обработка веб-страниц в 1С

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

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    24939    Infostart    30    

146

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

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

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    15144    quazare    7    

92

Вывод дерева в табличный документ СКД

Универсальные функции Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    7124    Yashazz    12    

25

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

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

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

08.05.2020    178908    user5300    40    

289

Получаем уровень группировки ячейки табличного документа

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

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

23.03.2020    8759    maxx    16    

57

Поблочная обработка таблицы. Обзор решений

Универсальные функции Запросы СКД Платформа 1С v8.3 Бесплатно (free)

8 способов реализации повседневной актуальной задачи, готовый код

25.02.2020    3337    Yashazz    21    

21

Сравнение адресов: случай из практики

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

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

04.01.2020    5386    AnatolPopov    7    

22

Сходство Джаро - Винклера. Нечеткое сравнение строк

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

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

25.12.2019    11293    brooho    21    

170

Автоматическое создание связанного объекта в базе 1С: Документооборот через бесшовную интеграцию

Универсальные функции Механизмы типовых конфигураций Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)

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

23.12.2019    6150    pavelpribytkin96    3    

39

Разбор любого JSON-объекта в соответствующую структуру

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

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

13.11.2019    37846    user665435_al.windstorm    16    

30

Быстрое создание наполненных коллекций

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

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

28.10.2019    9140    SeiOkami    69    

68