Перебор сумм

Для более глубокого изучения 1С скачайте книгу "Программирование в 1С за 9 шагов"

Обработка: Перебор сумм (Рис. 1)

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

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

Обработка: Перебор сумм (Рис. 2)

Итоговая сумма может быть как положительной, так и отрицательной. Погрешность – это всегда положительное число, которое вычисляется по формуле: Погрешность = |Значение суммы – Сумма позиций|; Сумма позиций = Выбранная позиция 1 + Выбранная позиция 2 + … + Выбранная позиция n.

Также опционально можно указать параметр «Рабочая колонка». Этот параметр задаёт номер колонки, в которой находятся детализированные суммы. Если около этого параметра не стоит галочка, то рабочая колонка определяется автоматически: фактически там, где есть целая колонка из чисел.

Чтобы запустить процесс формирования, нужно нажать на кнопку «Выполнить». Если обработка «Перебор сумм» уже нашла «выигрышную» комбинацию, то следующую комбинацию можно вычислить, нажав на кнопку «Дальше».

Обработка: Перебор сумм (Рис. 3)

Теперь немного об алгоритме вычисления комбинаций. Алгоритм работает сверху вниз, перебирая сначала верхние элементы чисел, а затем уходя вниз. От этого зависит, кстати, количество итераций и соответственно время перебора. Если известно, что внизу есть позиция, входящая в общую сумму, то её следует переместить вверх. И вообще, при вставке в табличное поле данных, их следует отсортировать по определённым признакам (по определённым разрезам) так, чтобы наиболее вероятные для получения результатов перебора суммы оказались в самом верху.

Ещё будьте внимательны, чтобы обработка корректно распознала столбец, в котором находятся суммы, если в поле «Рабочая колонка» галочки не стоит. Автоматически обработка находит такой столбец, перебирая по порядку (начиная с первой) все колонки с текстом. Если находится столбец, полностью заполненный числами, то он берётся в качестве рабочего.

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

Обработка: Перебор сумм (Рис. 4)

Если вам понравилась эта обработка, то вы можете скачать её здесь или по ссылке ниже. Нажмите на кнопке «Скачать» и загрузите её себе на компьютер.

Скачать

Нравится статья? Подпишитесь прямо сейчас и получайте обновления на свой E-Mail:

БЕСПЛАТНЫЕ материалы по изучению конфигурации 1С:Бухгалтерия 8 (ред. 2 и новая ред. 3)

Распечатать статью Распечатать статью