Найденные ссылки по теме:
для себя в них нашел мало полезного, создал другой алгоритм.
//infostart.ru/public/180090/
Использует запрос в цикле , никаких данных не выдает
//infostart.ru/public/199372/
Выдает избытчные данные(дубли), требует доработки чтобы протестировать (берет данные из других источников нежели в задании), алгоритм слишком усложнен.
Задача:
В организации проведена инвентаризация и для того чтобы оперативно начать работ с реальными остатками в базе УТ 11.0.9 все недостачи и излишки товара списаны на вспомогательный склад для дальнейших разбирательств. В организации понимают, что большинство проблем из-за пересортицы товаров. Необходимо написать обработку, которая по каталожному номеру номенклатуры и наиболее подходящей цене закупки из излишков и недостач подберет позиции в документ Пересортица товаров для того, чтобы «схлопнуть» их. Учет по характеристикам – не ведется
На форме обработки необходимо указать:
Склад – склад
Мин. длина артикула – число
Мах процент отклонения цены
Табличная часть
Номенклатура списываемая
Номенклатура приходуемая
Количество
По кнопке «Проанализировать пересортицу» необходимо табличную часть заполнить подобранным пересортом. Для этого надо найти все положительные остатки и каждой позиции попробовать подобрать позиции с отрицательными остатками. Анализировать регистр «Товары на складах».
Подбор должен осуществляться по артикулу постепенно укорачивая его с правой стороны. Например, остатки Товара 1 с артикулом 88764-91 являются пересортом Товара 2 (артикул 88764-23). Укорачивать можно только до указанного в обработке знака
Если подобрались одновременно несколько позиций, то берем в первую очередь ту позицию, у которой последняя закупочная цена наиболее приближена к позиции, которая в излишке.
В обработке по кнопке «Создать документ пересорта» должен создаться документ и заполниться его табличная часть.
Из задания не следует:
Нужно ли сравнивать Артикулы только одинаковой длины или нет.
Нужно ли делать добор другого Артикула, если одного не хватило по количеству, т.е аналог ФИФО
Нет намека на приоритеты: по длине Артикула, циклу поиска.
Вероятно что Артикулы найденные по (Артикул - 1) приоритетнее (Артикул - 2) независимо от приоритета "похожести цены",
значит должна быть сортировка найденных Артикулов сначала по Циклу поиска, потом по Минимальной разнице в цене.
Несколько Недостач может соединиться с одним Излишком и наоборот. Такая ситуация запросом на разруливается, только тупым поиском по таблице значений:
12345 |
12341 |
12345 |
12342 |
12346 |
12341 |
12346 |
12342 |
1234561 |
1234567 |
1234562 |
1234567 |
12345 и 12346 обе претендуют одинаково на одни и теже Артикулы, допустим что цены одинаковые.
Берем первую строчку соответствия : 12345 - 12341 , а 12346 как повезет, если еще количества хватит от 12341 либо 12342,
а в реале товар с Артикулом 12346 может более соответствовать товару с Артикулом 12341 например.
В моем алгоритме тоже есть "таракан" по некоторому "авторитетному источнику" , а может и нет, но в результате сложного тестирования мне не удалось его выявить, в чем собственно и суть этой разработки для любителей тестовых заданий.
Отрицательные остатки можно ввести документом: Списание Недостач товаров