Имя: Пароль:
IT
 
Пересортица по товарам. Как лучше закрыть?
, ,
0 КонецЦикла
 
08.02.14
14:42
Требуется несложный алгоритм закрытия пересортицы (излишек-недостача) по перечню товаров.
Имеется таблица приходов и таблица расходов, они содержат колонки Товар, Партия, Цена, Кол-во, Сумма.

Требуется закрыть так чтобы сумма перекрывалась на сумму. При простом закрытии получаются бешеные количества типа 0,8564597584, а хотелось бы подобрать кол-ва так чтобы было 0,25 или там 0,5; 0,8 по возможности.

Вот пример:

Товар 1, Партия 1, 1, 1000, 1000 - Товар2, Партия 1, 0,5, 2000, 1000

Т.е. тысяча рублей закрылась на тысячу рублей.

Может покопать в сторону доп. прохода по делимости цен друг на друга?
1 КонецЦикла
 
08.02.14
14:49
Да, помог такой доп. цикл тупенько с пропуском:

Если (ТаблР.Цена/ТаблП.Цена = Цел(ТаблР.Цена/ТаблП.Цена)) или (ТаблП.Цена/ТаблР.Цена = Цел(ТаблП.Цена/ТаблР.Цена)) Тогда
            Иначе    
                Продолжить;
            КонецЕсли;
2 КонецЦикла
 
08.02.14
14:50
Пока на большом перечне не пробовал
3 КонецЦикла
 
08.02.14
14:51
Может как-то умнее можно, но желательно без высшей математики...
4 jsmith82
 
08.02.14
14:52
думаешь, утром в субботу все такие математики
5 Базис
 
naïve
08.02.14
14:54
Отсортируй по суммам и выбором коэффициента приближай к нужной сумме.
6 КонецЦикла
 
08.02.14
14:54
Куясе утро, специально выжидал
7 Aleksey
 
08.02.14
14:55
(5) А зачем?

Задача какая "размазать" партии или закрыть партии?

Если стоит задача закрыть ну и закрывай подряд обшей суммой
8 КонецЦикла
 
08.02.14
14:56
(5) Думается не взлетит. Я пробовал сначала сортировать перед перебором - идут очень плохие кол-ва.
9 Aleksey
 
08.02.14
14:57
Но я бы при таком подходе просто перешел бы на среднюю
10 acanta
 
08.02.14
14:59
При разнице в цене и совпадении сумм количество чего, в хвосте останется?
11 Базис
 
naïve
08.02.14
15:03
Как я это вижу:

Надо набрать 1247 рублей. Есть стандартный набор (в РБ номинал не помню) - 1,2,5,10,50,100,500,тыща.
Текущая купюра = самая большая.
В цикле:
Беру одну текущую купюру. Меньше результата => добавляю крупную. Больше результата - добавляю мелкую или применяю твой "красивый коэффициент" к крупной. Можно и рандомно решать это ветвление.
Уменьшаю номинал текущей купюры.
КонецЦикла (не ты, оператор такой).

При удачном наборе номиналов любую крупную сумму можно отразить в целом наборе купюр.
12 КонецЦикла
 
08.02.14
15:06
(10) Кол-во без разницы. Я делал так: иду по таблице приходов и далее перебираю таблицу расходов до момента погашения прих. кол-ва или окончания строк таблицы расходов.
13 GANR
 
08.02.14
15:10
(0) Делал я такое (ведомость ИНВ-19)! Там нужен простенький алгоритм на графах, который решает буквально следующую задачу: в НЕоринетрированном графе найти группу вершин, в которую входит заданная вершина (строка документа "Инвентаризация товаров на складе"), а потом среди этих самых вершин (строк документа) найти минимальную цену. Алгоритм - 10 строчек на построение графа и 10 строчек на поиск группы строк - дальше нагуглить сможешь???
14 КонецЦикла
 
08.02.14
15:11
(13) Интересно, посмотрим, спс.
15 КонецЦикла
 
08.02.14
15:25
Мой алгоритм хромал немного

Добавил сортировку по ценам для обеих таблиц и в доп. цикл пропуск позиций с не целыми кол-вами - вообще идеально закрылось, все кол-ва целые.
16 KRV
 
08.02.14
15:27
(0) принцип простой: недостача - из зарплаты, излишек - оприходовать в доход фирмы.. через месяц на складах порядок таков, что слеза ребенка не сравнится с честностью.
17 KRV
 
08.02.14
15:28
+(16) если думаешь, что кладовщики не вымучивают на пересорте, то ты .. эм... радужный человек
18 Torquader
 
08.02.14
19:17
(16) Иногда, через месяц все хорошие работники уволились, а те, кто работает - вообще не всегда будут понимать, что делают.
19 Torquader
 
08.02.14
19:19
+ Потом, если всё, что не совпало будет оприходоваться в доход, быстро выяснится, что пересорт просто превращается в недостачу.
20 GANR
 
08.02.14
22:54
(15) Хорошо, а что если таблица пересортицы выглядит так:

Строка № 1 - Строка № 2 - 1
Строка № 1 - Строка № 3 - 1
Строка № 3 - Строка № 4 - 2
Строка № 4 - Строка № 5 - 1
Строка № 5 - Строка № 7 - 1
....
Строка № N - Строка № 1 - 1

Ваш алгоритм корректно обработает такую ситуацию?
А как Вы думаете - почему фирма 1С не сделала эту самую пересортицу - они считали, что это будет никому не нужно или причина, все-таки в другом???
21 Torquader
 
08.02.14
23:02
(20) Никогда программа не сможет понять, что и с чем могли перепутать, а также причины этого.
Вопрос - в чём цель закрытия пересортицы по сумме ?
У нас есть недосдача - то есть то, что на складе отсутствует, а по компьютеру есть. Также есть избыток, то есть то, что есть на складе, но нет в компьютере.
Разница между этими цифрами составляет убытки.
Конечно, желательно разделить товары по НДС-у, чтобы не было проблем с налогами.
22 Torquader
 
08.02.14
23:04
Как, например, представить технологический процесс превращения масла в колбасу - а цены у них могут быть одинаковые - соответственно - кассиры могут перепутать, взвешивая.
23 GANR
 
08.02.14
23:06
(21)(22) Что и с чем перепутано в каком количестве указывает пользователь в простенькую табличку вида (20) (лично сделал такую вещь - пользователи очень довольны, ибо ушли от Экселя), а суммы и кучу других параметров считает программа. Понятно?
24 Torquader
 
08.02.14
23:37
(23) Ну, если пользователи вводят, что и на что заменить - тогда понятно.
25 KUBIK
 
08.02.14
23:42
(0) Цель озвучь: "отмазать" кладовщика?
Мож все-таки норм инвентаризацию провести и по факту закрыть пересортицу?
26 КонецЦикла
 
09.02.14
02:35
Да все уже, внедрилось
Я делаю то что говорят
Могу только советовать, но делаю
Получается это переучет ради переучета, а не в интересах собственника
Мне то какое дело?
27 FreeHunter
 
10.02.14
08:24
Вообще, подход неправильный, прежде чем закрывать пересортицу надо определиться с методологией определения, что такое пересортица, и как ее закрывать, например: мандарины "Марокко" и "Китай" это пересортица? или это один вид товара который может закрывать друг друга и не считаться пересортицей. здесь больше административный ресурс, а не программиста. Вообще имеется три типа поведения для пересортицы:
1)Тупо заводим номенклатуру Пересортица и тупо ей все перекрываем до инвентаризации которая покажет ху из ху
2)Идут люди и разбираются, а что же у нас пересортилось. И вот здесь уже возможны варианты о которых я могу долго рассказывать, ну как долго, ну часов 20.
3)Оставляем как есть.
28 Torquader
 
10.02.14
11:14
(27) Тут все могут рассказывать, что такое пересорт.
Только в (0) программист, который хочет что-то сделать, а не руководитель организации, который, на самом деле, и должен писать алгоритм распределения пересорта.
29 FreeHunter
 
10.02.14
14:17
(28) Алгоритм говоришь, сделать говоришь, но прежде чем сделать, надо знать что делать, а не есть таблица, пусть опишет параметры по которым у них определяется что это пересортица, тогда и можно будет ему подобрать как реализовать
30 Mihenius
 
11.02.14
02:03
Мы когда-то делали просто )
Конечно это не правильно, но как заказчик хочет, так и делаем. Тем более все предупреждены.

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

Т.е. все недостающее кол-во вешалось на гвозди
Пример 1 дверь 10000 на 10 ручек дверных по 1000
недостающего кол-ва 9 берем из гвоздей )
31 acanta
 
11.02.14
02:06
дожили, сколько гвоздей ушло на одно буратино у папа карло
32 Mihenius
 
11.02.14
02:13
(31) Сколько было проверок, ни 1 не нашла.
В БУ выгружались обезличенные товары.
По документам инвентаризаций оставались либо только недостачи, либо только излишки.

Так владелец еще хотел пересорт м/у днями делать.
А не наводить порядок.

Ну и перед такими заморочками как в (30) руководству и ГлавБух-у распечатаны регламент о инвентаризации и ответственность.

Да и давно это было, сейчас, возможно все меньше таких "ларечников" родом из 90-х осталось.

ПС: Контора кстати разорилась пару лет назад, что и не удивительно с таким руководством. Где сам же руководитель покрывает открытое воровство.
33 KRV
 
11.02.14
05:54
Понять, простить..
34 Одесса
 
19.02.14
17:47
Пересортицу надо не закрывать, за неё надо дрючить. А товары списывать и оприходовать в соответствии со стандартами учета.
35 Torquader
 
19.02.14
19:12
(34) Просто, если инвентаризация раз в кварталл-месяц, а работают в среднем две-три недели, то дрючить тех, кто остался - не вариант - они просто уволятся.
Дрючить можно тогда, когда вы через час-два увидели, что пользователь накосячил - как говорится - не высохло и не забыто.
36 Krendel
 
19.02.14
19:18
(0) Есть же стандартный функционал,  
Делаем инвентаризацию товаров на складе
Делаем Требованию накладную по статье затрат Утеря, и списываем с начальника склада счет вроде 73.02
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан