Сравнение строк с выводом различий

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

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

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

61
Обработка созданная с целью представить реализованный мной алгоритм сравнения строк. Реализована на 1С 8.1, однако будет работать и на более поздних версиях.

Работая над обработкой сравнения документа с присланной версией печатной формы заказа в xls, столкнулся с необходимостью сообщать не только сам факт отличия в названиях товаров, но и информации о том, что конкретно отличается. Беглое знакомство с материалами Инфостарта не помогло - не нашел подходящего решения. Пришлось самому придумывать алгоритм. Получившийся инструмент показался мне полезным - потому решил поделиться ним.

Алгоритм: находим наибольшую общую подстроку двух строк (с помощью суффиксных автоматов http://e-maxx.ru/algo/suffix_automata) - получается что каждая строка разбита на 3 части: левая (еще не обработанная), средняя (это наибольшая общая подстрока) и правая (не обработанная). Левую и правую части обрабатываем таким же образом до тех пор, пока не сможем получить общую подстроку - в таком случае подстроки различны. В итоге получаем чередование совпадающих и не совпадающих подстрок.
Алгоритм выполнен без рекурсии - т.е. подходит для обработки больших строк.

Дополнительно для увеличения наглядности добавил вывод в html.

PS: если снова изобрел велосипед - прошу прощения за невнимательность.

61

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

Наименование Файл Версия Размер
СравнениеСтрок.epf
.epf 10,66Kb
14.05.14
69
.epf 10,66Kb 69 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. ildarovich 6720 17.05.14 00:49 Сейчас в теме
Очень интересно!
И построение суффиксного автомата на 1С запрограммировано. А это действительно сложный и нужный алгоритм. Его реализация и без обертки внешнего алгоритма имеет самостоятельное значение. - Замечательно!

А быстродействие замеряли? - Как насчет действительно больших строк (например, миллион символов)?

Можно ли применять для сравнения текстов модулей до и после изменений?

В чем отличие от алгоритма Diff(наибольшая общая подпоследовательность)?

Нет ли проблем неоднозначности (если одновременно нашлись в разных местах две наибольших совпадающих последовательности одинаковой длины)?
2. bahbah 150 19.05.14 15:07 Сейчас в теме
(1) ildarovich, быстродействие не замерял. Теоретически, отличия от алгоритма Diff в асимптотическом время работы алгоритма: Diff - O(n1*n2), суффиксные автоматы - O(n1+n2). Однако многое зависит от реализации.
С трудом могу себе представить, где может быть использовано сравнение строк в цикле - это скорее разовая задача, хотя я могу ошибаться, поэтому существенной оптимизации и работы по поиску наиболее быстрого алгоритма не проводил. Остановился на алгоритме с хорошей зависимостью времени выполнения от объема данных. На протяжении полугода использования нареканий по скорости не было.
Алгоритм хорошо себя показывает на родственных строках, в которых внесен небольшой шум.
Проблема неоднозначности в общем случае присутствует, однако для конкретного применения - проблема редко встречается. Для текстов модулей проблема неоднозначности становится слишком серьезной - сравнение получается некрасивым. Возможно внесение дополнительных эвристик сделает этот алгоритм вполне конкурентоспособным и для сравнения модулей.
3. Virikus 49 21.05.14 09:38 Сейчас в теме
(2) Ну таких задач много, навскидку базы всяких рефератов, статей и т.д.
4. pallid 22.05.14 23:30 Сейчас в теме
Круто!!!
Отдельно спасибо за ссылку на суффиксные автоматы
5. Ёпрст 1036 23.05.14 12:38 Сейчас в теме
Зачетно!
Пригодится на досуге.
6. Makushimo 154 26.05.14 12:33 Сейчас в теме
какой там велосипед?! -))
очень здорово.
7. LexSeIch 203 28.05.14 13:00 Сейчас в теме
Мир этому дому!
Отлично! Будет время, обязательно для себя разберусь с алгоритмом и теорией суффиксных автоматов. Автору большое спасибо!
8. ivanov660 1627 10.06.14 11:02 Сейчас в теме
На мой взгляд правильнее выделять отдельные слова в отличии нежели отдельные части. К примеру, для 2,1 и 1,6 необходимо показать отличие целиком в числах нежели выделять отдельные цифры 2 и 6.
Для таких вещей в принципе достаточно использовать метод шинглов. Работает он быстрее и проще, к тому же есть возможность настраивать уровень сравнения (шаг шингла). Единственная проблема, скорее проблема 1С, а не алгоритма - это отсутствие метода получения значения hash, md5.
9. bahbah 150 10.06.14 11:16 Сейчас в теме
(8) ivanov660, изначально этот алгоритм разрабатывался для сравнения названий номенклатуры. В целевой базе наименования довольно длинные и очень разнообразные - выделение различных слов приводит с сокращению размерности задачи - сравнению не всего названия, а нескольких слов, однако это все еще затруднительно делать глазами.
Хорошей идеей будет совместить Ваше предложение - выделение отличных слов - с моим алгоритмом - в каждой паре различных слов выделить отличные символы.
Однако и здесь возникает масса вопросов, например - если в исходной строке одно слово а на его месте в другой строке три слова, как быть?
13. bydk 12.06.14 04:54 Сейчас в теме
(8) ivanov660, в 8.3+ появилась возможность на уровне платформы получать разнообразные хеши...
	ХешMD5 = Новый ХешированиеДанных(ХешФункция.MD5);
	ХешMD5.Добавить("Строка");
	Результат = ХешMD5.ХешСумма;
10. kiruha 380 10.06.14 12:03 Сейчас в теме
А какие отличия от 1С встроенного СравнениеФайлов ?

Кроме настроек которые есть в 1С
1. Игнорировать пустое пространство
2. Учитывать регистр
3. Учитывать различия в разделителях строк
11. bahbah 150 10.06.14 12:16 Сейчас в теме
(10) kiruha, можно сказать, что в СравнениеФайлов единица сравнения - абзац, здесь - символ.
Если бы СравнениеФайлов детализировала отличия до символа - не имело бы смысла делать эту обработку.
Здесь все-таки основная задача сравнить 2 строки и показать конкретные различия, а не столько сам факт различия.
12. kiruha 380 10.06.14 16:55 Сейчас в теме
(11)
Ок, спасибо, понятно - то же хорошо бы в публикации объяснить
14. yura1960 21.06.14 17:02 Сейчас в теме
Велосипед, но зачетный. Автору, в любом случае, спасибо. Как дополнительная опция к стандартным - подойдет.
15. user840225 14.05.18 19:44 Сейчас в теме
Замечена не очень корректная работа обработки (((
При
1 >Строка1 = "Оттмеченные"
2 >Строка2 = "Отмеченые"

Результат
1 >Отмеченыеные
2 >Отмеченые

Если поменять строки местами, все вроде работает.
Лучшая подстрока = "Отмечен" не существует в первой строке.
16. user840225 15.05.18 16:17 Сейчас в теме
Вышеуказанный алгоритм находит не наибольшую общую подстроку двух строк, а наибольшую последовательность символов.
Я тут имел смелость (наглость?) дополнить авторскую обработку для решения этой задачи. Если найденная последовательность не является подстрокой, вызывается другой (не столь эффективный) алгоритм.
Прикрепленные файлы:
СравнениеСтрок2.epf
Оставьте свое сообщение

См. также

Универсальное удаление движений регистров накопления по всем непроведенным документам 10

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции Чистка базы

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

1 стартмани

27.09.2019    1134    2    John_d    14       

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API 11

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf УУ Оптовая торговля Розничная торговля Абонемент ($m) Универсальные обработки WEB Универсальные функции

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    1955    4    osivv    14       

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11 32

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные функции

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    3450    329    SanchoD    29       

Работа с графической схемой в объектной модели DOM 40

Статья Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Универсальные функции

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

1 стартмани

04.06.2019    3441    4    botokash    19       

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных) 50

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    4264    5    yku    7       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 511

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    25007    242    bonv    105       

Альтернатива внешним печатным формам. ЗУП 3.1 23

Статья Программист Расширение (cfe) v8 v8::СПР ЗУП3.x Зарплата Абонемент ($m) Печатные формы документов Универсальные функции Практика программирования Разработка

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    5865    10    Mogilnikova    2       

Создание и запуск скрипта для ввода текста на базе AutoHotkey 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

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

1 стартмани

28.01.2019    2260    1    Wezoowy    1       

Использование подсистемы БСП "Заполнение объектов" 133

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    12956    8    ids79    14       

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом 13

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    11053    10    stvorl    0       

Доработка функции ОбщегоНазначения.ЗаменитьСсылки для автоматической чистки или свёртки табличных частей 4

Статья Программист Архив с данными v8 Абонемент ($m) Универсальные функции

Стандартная обработка по замене дублей ругается на документ с неуникальными строками. Предполагается, что их нужно либо а) удалить, либо б) свернуть. Я немного модифицировал код функции ОбщегоНазначения.ЗаменитьСсылки, встроив в него вызов процедуры, переопределяемой в модуле менеджера соответствующего документа. И в этом модуле менеджера мы уже сами определяем - удалить или свернуть. Ну и вообще там чего хошь можно с этой коллекцией сделать - сам же ж процедуру пишешь...

1 стартмани

12.09.2018    2906    albert.goncharov    0       

Пропорциональное распределение в запросе 35

Статья Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

28.06.2018    7984    1    invertex    7       

Поиск свободного штрихкода одним запросом по оригинальной методике 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf УУ Розничная торговля Абонемент ($m) Универсальные функции

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

1 стартмани

19.06.2018    3803    BackHand001    4       

Проверка таблицы на дублирование строк (ТаблицаЗначений, ТабличнаяЧасть) и получение массива таких строк 9

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Функция для проверки дублирования строк в ТаблицеЗначений или ТабличнойЧасти. Также, если необходимо, возвращает массив задублированных строк (можно обработать).

1 стартмани

05.02.2018    7755    6    uri1978    27       

Свертка таблицы значений. С блэкджеком и всем остальным 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

22.01.2018    7521    2    dusha0020    10       

Определение MIME-типа файла 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Небольшая, но полезная функция для определения MIME-типа файла по его расширению. Сэкономит время разработчикам.

1 стартмани

12.01.2018    7195    2    o.nikolaev    4       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    21374    21    agent00mouse    0       

Запуск приложений на клиенте из RDP-сессии 8

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

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

1 стартмани

30.10.2017    8373    5    GusevNA    4       

Простые подсистемы: Библиотека подсистем 11

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Универсальные обработки Универсальные функции

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

1 стартмани

26.10.2017    7855    7    pbabincev    1       

Размеры управляемой формы 101

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Универсальные функции

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

1 стартмани

08.10.2017    17595    51    json    8       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

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

1 стартмани

28.05.2017    17396    144    Bassgood    10       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38322    166    DarkAn    86       

Универсальная процедура по загрузке файла из интернета 10

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования WEB Универсальные функции

Передаем в процедуру всего два параметра: откуда взять и куда положить. Остальное она сделает сама

1 стартмани

17.05.2017    11674    9    json    2       

Правильный вопрос 16

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    9100    SvoyakMartin    15       

Web сервис 1С 24

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования WEB Универсальные функции

Пример реализации простого web сервиса. Особенность: не используются XDTO пакеты, определяемые в дереве конфигураций; возможность передачи любых структур данных: списки значений, таблицы значений, табличные документы и т.п.

1 стартмани

21.03.2017    22136    74    hiduk    33       

Набор математических функций 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    10941    2    SvoyakMartin    17       

Сравнение строк. Наибольшая общая последовательность 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Универсальные функции

Заданы две строки Строка1 и Строка2. Требуется найти наибольшую общую подпоследовательность (НОП) этих строк.

1 стартмани

14.11.2016    7342    2    Alex_YAM    4       

Набор процедур для парсера консоли запросов 7

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Данный набор функций и процедур необходимо вставить в Консоль запросов для управляемого приложения 1С 8.2 - 8.3 (Такси) http://infostart.ru/public/64522/, и вы получите возможность разбирать сложные запросы на вложенные, вносить необходимые правки и собирать измененные подзапросы в запрос. Данный модуль не содержит консоли!!! Ее придется отдельно скачать по ссылке http://infostart.ru/public/64522/

1 стартмани

09.11.2016    7784    3    blockcode    5       

Организация выбора месяца из списка (универсально + НЕ модально ) 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Универсальные функции

Пришлось столкнуться с такой проблемой, как выбор месяца из ниспадающего списка (с элементами вида "НазваниеМесяца Год") с возможностью изменения года. Хочу предложить универсальный вариант реализации данного механизма на основе механизма http://infostart.ru/public/167549/ ЗЫ: основные отличия: - вместо "НачалоВыбораИзСписка" работаем с "ОбработкаВыбора" без модальности - Обратное преобразование в дату не только на русском - Универсальность процедур. Одна функция выбирается в нескольких полях.

1 стартмани

09.11.2016    10650    11    igorkosmos    4       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    22699    19    json    22       

Автоматическое разбиение строки на подстроки по ширине колонки / ячейки или по количеству символов 12

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные обработки Универсальные функции

Длинный адрес контрагента или нестандартная фамилия не входит в одну строку, а РазмещениеТекста = Переносить по какой-либо причине не устраивает? Что можно сделать? Вот пара полезных функций для решения данного вопроса с примерами применения.

1 стартмани

21.10.2016    11740    2    SvoyakMartin    3       

Сверка таблиц при разработке через тестирование 14

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

09.10.2016    12109    11    json    1       

(Удобняшка) выполнение произвольного кода в большом количестве баз 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Универсальные функции

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

1 стартмани

29.09.2016    9183    1    nomadon    4       

Функция преобразования промежутка времени в строку 7

Статья Программист Нет файла v8 1cv8.cf Россия Абонемент ($m) Универсальные функции

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

1 стартмани

23.09.2016    8321    5    vovant    1       

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы 49

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

13.09.2016    28209    47    pavley2002    11       

Алгоритм по переносу вложенных запросов в пакеты 15

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Запросы неудобно отлаживать, если в них есть вложенные запросы. Данный алгоритм помогает отредактировать текст запроса таким образом, чтобы все вложенные запросы перенеслись в пакеты.

1 стартмани

26.08.2016    7921    19    ostapchenko.alexandr    20       

7 правил RFC 4180 22

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Универсальные функции

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    12690    15    kuzyara    2       

Запросы &НаКлиенте для Управляемого приложения 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Разбитый между клиентом и сервером код размывает и усложняет логику прикладного решения. Для запроса из базы данных одной записи предлагаю &НаКлиенте использовать универсальную процедуру "ЗаполнитьИзЗапроса".

1 стартмани

08.05.2016    7146    2    sereginseregin    14       

Консоль и функция рекурсивного запроса 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Тестирование и исправление Универсальные функции

Консоль предназначена для отладки и просмотра результатов выполнения РЕКУРСИВНОГО ЗАПРОСА в режиме 1С:Предприятие. В консоли реализована универсальная функция для выполнения рекурсивных запросов.

1 стартмани

10.02.2016    10582    5    sereginseregin    1       

Генерация QR-кода (управляемая форма, обычное и управляемое приложение) 59

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Универсальные функции Универсальные обработки

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

3 стартмани

04.02.2016    35596    151    tunesoft    24       

Динамический отбор динамического списка. Управляемая форма 1С: 8.3 11

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

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

1 стартмани

25.01.2016    16868    23    1prog@bk.ru    3       

Расчет интегралов 8

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

27.11.2015    8280    sojuznik    12       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    15037    SeiOkami    3       

Механизм контроля заполнения реквизитов 32

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

25.10.2015    10267    28    yur4ik9408    10       

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

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Windows Абонемент ($m) Сервисные утилиты Универсальные функции

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

1 стартмани

23.10.2015    8420    4    vsuh    2       

Прикрепление внешних файлов к документам и справочникам 1С 8.3 (управляемые формы) 30

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные функции Практика программирования

В данной статье мы рассмотрим, как просто и быстро в любую конфигурацию на базе управляемых форм добавить функционал прикрепления внешних файлов к документам и справочникам. Я начну описание с нуля, т.е. с создания пустой конфигурации. Так что даже любой малоопытный разработчик (вроде меня =) ) сможет реализовать данный функционал в своей или уже написанной конфигурации. Если Вам не хочется разбираться с ниже написанной инструкцией, можете скачать файл*.doc с описанием и скриншотами, либо уже саму готовую конфигурацию.

1 стартмани

15.10.2015    62975    119    omenfarsh    27       

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Математика и алгоритмы Универсальные функции

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

1 стартмани

13.10.2015    14829    22    dusha0020    5