Быстрый поиск комбинаций значений с заданной суммой на HTML-странице с использованием JavaScript

05.05.24

Задачи пользователя - Поиск данных

Поиск комбинаций сумм – это инструмент, работающий на HTML-странице с использованием JavaScript, который позволяет пользователям быстро анализировать таблицы Excel и находить все возможные комбинации чисел, сумма которых соответствует заданному значению. Идеально подходит для финансовых аналитиков, бухгалтеров и исследователей, стремящихся оптимизировать свою работу с числовыми данными. Прост в использовании, не требует установки дополнительного ПО и доступен для скачивания и использования на любом устройстве с поддержкой современных браузеров.

Скачать исходный код

Наименование Файл Версия Размер
Быстрый поиск комбинаций значений с заданной суммой на HTML-странице с использованием JavaScript:
.rar 4,18Kb
0
.rar 4,18Kb Скачать

Описание программы "Поиск комбинаций сумм"

 

Назначение программы:

"Поиск комбинаций сумм" — это веб-инструмент, предназначенный для анализа таблиц Excel прямо на HTML-странице с помощью JavaScript. Программа разработана для того, чтобы помочь пользователям находить все возможные комбинации чисел в столбце, сумма которых равна заданному значению. Этот инструмент идеально подходит для финансовых аналитиков, аудиторов, бухгалтеров, а также для всех, кто работает с большими массивами данных и нуждается в быстром поиске определённых сумм.

 

Как пользоваться программой:

1. Загрузка файла: Пользователю необходимо загрузить Excel файл через кнопку ввода на веб-странице.

2. Программа автоматически читает первый лист Excel файла, извлекает данные и анализирует их.

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

Что происходит внутри программы?

- Программа читает выбранный файл и извлекает данные из первого листа.

- Ищет в ячейке C1 число, которое будет использоваться как целевая сумма.

- Анализирует строки, собирая числа из второй колонки.

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

- Выводит найденные комбинации в виде таблиц на веб-странице.

 

Пример использования:

Представим, что у нас есть таблица контрагентов с указанием сумм их платежей. В ячейке C1 таблицы указано значение 528. Программа анализирует данные и выявляет, например, что сумма платежей контрагентов 9, 11, и 14 вместе взятых равна 528. Результаты такого анализа могут быть полезны для подтверждения финансовых расчётов или для аудита.

 

 

 

Техническая реализация:

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

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

 

Код программы:

 

 

UPD 06.05.24

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

Основные отличия и улучшения:

  1. Ввод данных:

    • Исходная версия: Данные загружались из файла Excel, что требовало наличия файла и ограничивало способы ввода данных.
    • Новая версия: Ввод данных осуществляется через текстовые поля, что позволяет пользователям копировать и вставлять данные напрямую из различных источников. Это значительно упрощает и ускоряет процесс ввода, делая его более гибким.
  2. Обработка числовых значений:

    • Исходная версия: Требовала строго числового ввода без возможности обработки текстовых строк, которые можно интерпретировать как числа.
    • Новая версия: Введена возможность обработки текстовых данных, которые могут быть преобразованы в числовые значения. Если данные не удаётся преобразовать, они игнорируются, а пользователь получает уведомление о непреобразуемых значениях. Это повышает устойчивость программы к ошибкам ввода.
  3. Поддержка форматированных чисел:

    • Исходная версия: Не поддерживала числа с пробелами, запятыми и другими нецифровыми символами.
    • Новая версия: Добавлена обработка чисел, форматированных с пробелами и запятыми, что часто встречается в финансовых данных. Это делает программу более адаптированной к различным международным стандартам ввода чисел.
  4. Обработка десятичных чисел:

    • Исходная версия: Использование десятичных чисел могло привести к ошибкам из-за попыток использовать их как индексы массива.
    • Новая версия: Введена масштабирование всех чисел путём умножения на 100 для преобразования в целые числа перед использованием в динамическом программировании. Это позволяет точно работать с десятичными числами, избегая ошибок и несоответствий.
  5. Динамическое программирование для поиска подмножеств:

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

 

поиск сумм поиск сумм в подмножестве строк

См. также

Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)

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

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

10800 руб.

14.05.2012    156613    328    252    

560

Кто такая Мантикора?

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

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    3427    andreysidor4uk    16    

47

PowerOffice

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

PowerOffice - обработка для поиска, просмотра и обработки данных для пользователей. Доступ к объектам на просмотр и редактирование данных определяется правами пользователя.

1 стартмани

05.06.2023    2046    23    PowerBoy    1    

16

Получение ссылки по бинарной строке PostgreSQL или MSSQL

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

Получение ссылки в 1С по бинарной строке из PostgreSQL в виде строки формата bytea или из MSSQL в виде шестнадцатиричной строки. Кроме ссылочных объектов ссылки могут быть получены и для перечислений. Это может быть полезно при анализе логов журнала регистрации или СУБД.

1 стартмани

04.04.2023    2703    2    berserg    2    

12

Поиск документов с ошибками проведения, универсальный

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

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

1 стартмани

18.08.2022    3072    24    KVIKS    3    

10

Поиск и замена значений + Поиск дублирующихся элементов справочников с подключением к внешней базе

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

Обработка предназначена для гибкого поиска и дальнейшей замены дублей справочников, документов, а также планов видов расчетов и планов видов характеристик. В обработку включена возможность проверки наличия ссылки во внешней базе (по УИДу), поиска дублей с предварительным отбором, а также произвольной обработки реквизитов перед поиском (например, возможно удалить определенные символы из наименования).

3600 руб.

30.03.2022    8657    3    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 301 05.05.24 22:04 Сейчас в теме
А почему нельзя всё это было сделать на 1С? Зачем тут javascript?
2. Prepod2003 255 06.05.24 10:42 Сейчас в теме
(1) Здравствуйте!
Использование JavaScript для этой программы имеет несколько значимых преимуществ, особенно когда речь идет о универсальности и доступности. JavaScript позволяет нам создавать легковесные и доступные с любого устройства веб-приложения, которые не требуют специализированных программных решений, таких как 1С, для их функционирования.

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

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

Таким образом, применение JavaScript не только облегчает доступ к функционалу приложения для широкого круга пользователей, но и снижает порог входа в использование приложения, делая его более универсальным и независимым от сторонних программных решений.
3. JohnyDeath 301 06.05.24 10:45 Сейчас в теме
(2) ответ писал ИИ? )

Если мы говори о том, что надо распределить какие-то суммы в экселе, то наверное да, такой подход стоит рассмотреть.
Но если же исходные данные находятся внутри 1С, то смысл всех этих плясок становится непонятным
4. Prepod2003 255 06.05.24 11:01 Сейчас в теме
(3)
Если мы говори о том, что надо распределить какие-то суммы в экселе, то наверное да, такой подход стоит рассмотреть.
Но если же исходные данные находятся внутри 1С, то смысл всех этих плясок становится непонятным

Кажется, есть недопонимание относительно функционала данной программы. Её основная цель - не просто распределение денежных сумм, а выявление конкретного набора строк, чья общая сумма соответствует заданному числу. Эта задача довольно распространена в различных сферах деятельности. Например, представим, что у нас есть документ "Начисление зарплаты" с перечнем выплат каждому сотруднику. После его проведения в бухгалтерских проводках или регистрах мы видим две различные суммы, отнесенные к разным счетам. Наша цель - выяснить, какие именно выплаты сотрудникам соответствуют каждой из этих сумм. Вместо того чтобы проводить отладку программного кода в 1С, мы можем просто скопировать все данные из табличной части документа, ввести желаемую сумму - одну из тех, что фигурирует в проводке, - и мгновенно получить список сотрудников, на которых приходится указанная сумма.
5. JohnyDeath 301 06.05.24 11:06 Сейчас в теме
(4) я знаю про такую задачу и встречался с ней несколько раз. Но конкретно в вашем примере с зарплатой непонятно зачем что-то внешнее делать и на неродном стеке. Всё это можно было организовать и на 1С. Причем код был бы примерно такой же.
А для пользователя намного удобнее оставаться в контексте одного окна, чем переключаться и что-то там копировать/вставлять в определенные ячейки и столбцы.
Плюс из вашего же примера, где пользователь "мгновенно получает список сотрудников", надо учитывать тот факт, что ему с этим списком сотрудников нужно как-то дальше работать. Наверняка надо будет обратно переключиться в 1с и подбирать сотрудников из этого списка в какую-то другую форму 1с
6. Prepod2003 255 06.05.24 11:13 Сейчас в теме
(5) Ок, я понял вашу позицию, я думаю, что нет смысла спорить, мое мнение, что такая реализация более удобна и практична, вы считаете иначе. ))
7. Prepod2003 255 06.05.24 13:07 Сейчас в теме
(5) Коллега, и вот еще момент, возможно, вы не в курсе, но JavaScript код легко интегрируется в 1С, где дальнейшее заполнение полей и обработка данных могут осуществляться с использованием собственных инструментов 1С. Если для вас критично, чтобы программа была встроена непосредственно в 1С, ее можно адаптировать примерно за 15 минут. Вот как это может выглядеть:
Прикрепленные файлы:
8. JohnyDeath 301 06.05.24 13:12 Сейчас в теме
(7)
Коллега, и вот еще момент, возможно, вы не в курсе, но JavaScript код легко интегрируется в 1С, где дальнейшее заполнение полей и обработка данных могут осуществляться с использованием собственных инструментов 1С

я в курсе. Но я так и не понял зачем нужно делать эти джаваскрипт-вставки, когда ровно тоже самое можно сделать и в самом 1с. И не нужны будут всякие маршилинги/копипасты из 1с куда-то там и обратно
Оставьте свое сообщение