Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Алгоритм выпуска "блюда в блюде" с неограниченнм количеством вложений (http://forums.kuban.ru/f1040/algoritm_vypuska_blyuda_v_blyude_s_neogranichennm_kolichestvom_vlozhenij-4485472.html)

Birmingem 11.07.2013 18:29

Алгоритм выпуска "блюда в блюде" с неограниченнм количеством вложений
 
Есть самописная небольшая конфигурация для общепита. Потребовалось выпускать полуфабрикаты, входящие в состав блюда, сразу же, одним документов Выпуск. При этом в составе полуфабриката может быть другой полуфабрикат и т.д.
Подскажите, какой должен быть алгоритм чтобы сделать эту задачу?
Или в какой типовой конфигурации есть подобное, чтобы можно было посмотреть?

Birmingem 11.07.2013 18:30

Уточнение, пример нужен на 7.7

VZ 11.07.2013 18:55

Да вложенность-то можно организовать, создав подчиненный справочник с (условно) именем компоненты, снабдив его записи ссылкой на Номенклатуру, и норму расхода (периодическую). Своеобразный регистр сведений. Или неподчиненный - разница, в общем, будет в администрировании, и методов доступа.
Вопрос в другом: защита от зацикливания...
Только не говори "Они понимают" - непременно зациклят. Ну разумеется, "не нарошно". Кто бы сомневался ;)

Birmingem 11.07.2013 19:22

2)Что то не очень понятно.
У меня есть справочник "Номенклатура", в котором хранятся как овощи-фрукты, так и блюда или полуфабрикаты. Отличаются они по счету учета (можно и по какому нибудь другому признаку, не важно). Есть справочник "Калькуляция" подчиненный справочнику "Номенклатура". В справочнике Калькуляция есть реквизит "Ингредиент", тип значения которого - спр.Номенклатура. Т.е. можно в качестве ингредиента указать хоть овощ-фрукт, хоть блюдо-полуфабрикат.
Вопрос в том, какой должен быть алгоритм при проведении документа Выпуск, если в составе блюд есть другие блюда, полуфабрикаты. Как я понимаю, нужно сначала прокрутить в цикле все ингредиенты, если это полуфабрикат, и его прокрутить, и дальше также, и собрать все ингредиенты не полуфабрикаты. Проверить их наличие на складе. Если хватает, выпускать полуфабрикаты.
Вот только плохо представляю как это все сделать в коде? Ум за разум заходит.
На счет зацикливания понятно. Это когда в составе борща указали этот же борщ, ну или через полуфабрикат-полуфабрикат опять указали этот же борщ. Конечно придется ставить кучу проверок на такие штуки.

Birmingem 11.07.2013 19:25

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

Helen1986 11.07.2013 19:38

(4) обыкновенный алгоритм разузлования, описан в литературе

только он работать по твоим условиям не будет,
вранье на списании будет при постановке (0)

Buhta 11.07.2013 19:47

3-Birmingem > а зачем выпускать полуфабрикаты? нельзя собрать полную таблицу НЕ полуфабрикатов, которые используются при выпуске конечных блюд (часть из которых используется через приготовление полуфабрикатов) и оформить выпуск конечных блюд? количество неполуфабрикатов в составе полуфабрикатов умножить на требуемое количество полуфабрикатов за минусом количества уже готовых полуфабрикатов...

Buhta 11.07.2013 19:53

только ЗаписатьПроводки()надо, вдруг в процессе что-то уже использовано..

qweqwe123123 11.07.2013 19:55

6-Buhta > а за что тогда поварам ЗП получать, если сложил немытые морковку и яблоко и тебе пюре.

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

Helen1986 11.07.2013 19:58

(6) "нельзя собрать полную таблицу НЕ полуфабрикатов, которые используются при выпуске конечных блюд (часть из которых используется через приготовление полуфабрикатов) и оформить выпуск конечных блюд?"


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

qweqwe123123 11.07.2013 20:00

проще очередность списания (а не выпуска) указывать пономенклатурно, так понятнее

Helen1986 11.07.2013 20:00

(8) очередность выпуска вообще то однозначно строится из технологических карт полуфабрикатов

qweqwe123123 11.07.2013 20:03

+ надо же отделять, то что было, от того что выпустили, чтобы выпущенное не перерабатывать, так что ЗаписатьПроводки() не катит

qweqwe123123 11.07.2013 20:04

11-Helen1986 > так у автора круговая порука, безотходное производство

Buhta 11.07.2013 20:04

9-Helen1986 > а автор сказал, что замены предусмотрены? имхо, замена может быть на текущую дату, а не на текущее блюдо. что можно реализовать за счет периодических реквизитов. напр, если для приготовления определенного количества каких-то блюд исходных материалов не хватает, то замена применяется для всей партии, а не для пары блюд, на которые "не хватило"...

qweqwe123123 11.07.2013 20:05

13+ скорее даже щарообразная. порука.

Buhta 11.07.2013 20:10

12-Зелёный тролль >сначала надо отделить что было, а потом перерабатывать выпущенное. если нет партионного учета то какая разница? ну было 10, потребовалось 20, выпустили еще 15. если 15 выпустили для переработки, то в строке документа должны раньше поставить, но это не нужно. достаточно поставить после 5, чтоб осталось а если для целей реализации все 15, то после...

Helen1986 11.07.2013 20:28

(14)
"имхо, замена может быть на текущую дату, а не на текущее блюдо. что можно реализовать за счет периодических реквизитов. напр, если для приготовления определенного количества каких-то блюд исходных материалов не хватает, то замена применяется для всей партии, а не для пары блюд, на которые "не хватило"... "



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

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



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

но еще раз повторяю - по постановке в (0) получим бред

и этот бред пытается реализовать ТС. ибо тетки, которые ведут учет, НЕ ХОТЯТ работать и вводить несколько документов, хотят "быстренько" и "простенько"

qweqwe123123 11.07.2013 20:29

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

Helen1986 11.07.2013 20:34

опять зеленый идиот набежал

qweqwe123123 11.07.2013 20:35

17-Helen1986 > тётки хотят себестоимость как раз не увеличивать. понятно же, что "отходов" половина. так зачем их показывать, если их них можно выпустить продукцию и реализовать. то есть половина деятельности идёт мимо документов.

qweqwe123123 11.07.2013 20:36

19-Helen1986 > Петрович. ты по существу давай, для тупых. или иди н...

Buhta 11.07.2013 20:36

17-Helen1986 > вот от этого и оттолкнемся, что "тетки, которые ведут учет, НЕ ХОТЯТ работать и вводить несколько документов":) если вводится все одним документом, то никак не реализовать в учете, что 15 порций из 20 выпущено из куриных грудок, а последние 5 из куриных ножек... периодические реквизиты максимум документом, а выпуск из периодических реквизитов на текущий момент. поэтому, именно при постановке (0) получим то, что получим... (подгон калькуляционных карт задним числом или остатки далеки от реалий...) но проводить замены в калькуляциях в режиме реального времени и оформлять выпуск по мере выпуска не в каждой организации способны

VZ 11.07.2013 20:39

ЧО вы в проводки лезете... Рецепт - вещь виртуальная, и бух.учету не подлежит. Как любая схема сборки/комплектации. Учету подлежит реальные материальные ценности: овощи там, рожь всякая...
Потому каждый день должна быть заявка-план на выпуск конечной продукции (например, торт), а в ём (в плане) роспись ингридиентов (рожь, овощи, селедка атлантическая). Пусть по шаблону составленная (роспись, а не селедка). Выпуск подтверждает расход.
И не волнуйтесь за хищения: будут. Для "не будут" есть два пути: либо набор стандартных блюд, как в фастфудах, с жесткой технологий без всякого творчества, с запретом "делаем не из того, из чего надо, а из того, что на складе есть", либо брать шеф-повора, на которого нельзя орать ни самому хозяйчику, ни хозяйской тёще, ни пирующим бандитам. И положиться на него.
Оба варианта невозможны.

Buhta 11.07.2013 20:44

+ допустим у автора именно задача (0). Никаких замен в течение дня в принципе не предусмотрено. тогда вполне реализуемо:) а реальный учет в общепите, и чтоб совсем не воровали - это утопия:) ЗЫ: я не далека от реального производства в общепите:) как-раз сталкивалась:) но полный учет, чтоб не воровали и с остатками было все в порядке, слишком дорог...

Helen1986 11.07.2013 20:44

(21) вроде как весна закончилась, а у тебя все еще обострение? или это от жары?

qweqwe123123 11.07.2013 20:45

23-VZ > задача озвученная автором характерна для целей аудиторских контор, ведущих бухучёт кому-то. которые и знать не знают что там на самом деле происходит с материалами, полуфабрикатами и прочим. и от которых требуют. чтобы они давали сами количество закупаемых материалов и реализации продукции, чтобы минимизировать налоги.

Helen1986 11.07.2013 20:46

(22) неправда ваша. Именно НЕ ХОТЯТ работать

qweqwe123123 11.07.2013 20:47

25-Helen1986 > у меня День Рождения, но в принципе я всегда такой. Должна бы уже привыкнуть.

Buhta 11.07.2013 20:47

23-VZ > вот именно. заявка-план и актуальность остатков на совести зав. производством. учет же по документам, а не по совести:)

Helen1986 11.07.2013 20:49

(26) аудиторы не лезут в такие тонкости.
им надо, чтобы формально все было правильно,

qweqwe123123 11.07.2013 20:49

да забудьте вы про учёт и совесть. автор про это ни слова не написал, ибо нету их, ну или они не важны в данном вопросе.

Helen1986 11.07.2013 20:50

(28) день рождения 365 дней в году длится?

qweqwe123123 11.07.2013 20:51

30-Helen1986 > при проверке аудиторской - да. а когда сами учёт ведут, ууу.... я вот иду по стопам ихним, так уже новое направление деятельности организовал - ведение бухучёта. цены повыше аудиторских, народ идёт.

Buhta 11.07.2013 20:51

27-Helen1986 > за работу надо платить, не учитываешь?;) ну иногда и платят, но не хотят... а много тех, которые хотят в рамках оклада лишний раз...? ну это уже вопрос философский, к теме не относящийся:)

qweqwe123123 11.07.2013 20:51

32-Helen1986 > каждый раз просыпаюсь. как заново рождённый. так прикольно.

Buhta 11.07.2013 20:52

32-Helen1986 > да, на 366-ой в високосном он вполне адекватен:)))

Tolkien 11.07.2013 20:53

[em]При этом в составе полуфабриката может быть другой полуфабрикат и т.д.[/em]
Похоже на рекурсию. Это красиво. Сам бы так сделал.
Можно реализовать в виде заведомо очень длинного цикла, который прерывается при достижении определенного условия (например, полуфабрикаты не вычерпываюся больше). Зацикливания не будет, так как количество полуфабрикатов конечно и обозримо.

qweqwe123123 11.07.2013 20:55

37-Tolkien > неа, шарик он круглый (читаем выше). не прокатит.

Buhta 11.07.2013 21:00

ну что вы циклитесь не РЕАЛЬНОМ учете в общепите? реального учета нет и никогда не будет:) это надо на каждый миллиграмм исходного продукта штрихкод навесить и сканировать при закладке в блюдо:) все равно уворуют:) вопрос, имхо, про отчетный учет, адекватный и максимально приближенный к реальному...


Текущее время: 10:44. Часовой пояс GMT +3.