|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
и тут и там 02.10.16 - 15:46 | Имеем:регистр накопления "Товары"
Измерений три: -Сертификат (тип:Справочник.Сертификаты) -Документ поступления (тип:Документ) -Номенклатура(тип:справочник.номенклатура) ресурсы: количество (число(15,3)) проблема с расходом. На вход в запрос передаю ТЗ с двумя типизированными колонками "номенклатура" и "количество" которое нужно списать на выходе хотелось бы получить результат запроса в котором выбытие по было распределено по остальным двум измерениям по методу ФИФО. под моментом времени прихода фифо понимается ДАТА у документа поступления и реквизит ДатаПоступления у Сертификата. по одному дополнительному измерения могу построить списание по фифо, но вот по двум сразу - чтото никак. ухожу в минус то по одному то по другому измерению. Но верится мне что это возможно. Помогите плз как это сделать и вообще возможно ли это? Конфигурация - самописка учебная. | ||
Aleksey 1 - 02.10.16 - 15:50 | Ну или запрос, или доп поле для сортировки | ||
и тут и там 2 - 02.10.16 - 15:53 | (1) то есть в одном запросе это реально сделать? | ||
KSergey1C 3 - 02.10.16 - 15:54 | (0) Возможно, но сложнно. | ||
KSergey1C 4 - 02.10.16 - 15:55 | (2) не в запросе на пордок проще. | ||
Serginio1 5 - 02.10.16 - 18:44 | |||
Лефмихалыч 6 - 02.10.16 - 18:48 | (0) не вижу проблемы - в запросе сортируешь сначала по Сертификат.ДатаПоступления, потом по ДокументПостулпение.ПоЧёмТамНадоПостулпенияСортировать
или проблема в том, что в задании не сказано, что делать, если по одному сертификату более одного докумета поступления и ты просто не знаешь, по чём документы сортировать? | ||
Злопчинский 7 - 02.10.16 - 18:51 | Очевидно, что имея две НЕЗАВИСИМЫЕ даты, в общем случае обеспечить одновременное фифо не удастся ??? | ||
KSergey1C 8 - 02.10.16 - 18:54 | (6) Сортировать ты можешь только в выборке даных, тут тоньше надо. | ||
KSergey1C 9 - 02.10.16 - 18:55 | (7) Почему? Сначала выбирается самый первый документ, а потом самый первый сертификат поэтому документу. | ||
Лефмихалыч 10 - 02.10.16 - 18:57 | (8) Какие так, например, могут быть тоньше? Все просто, как апельсин. Если по одному сертификату может быть более одного документа поступления, то проблема сводится к тому, чтобы определить порядок сортировки документов внутри сертификата. | ||
Злопчинский 11 - 02.10.16 - 18:59 | (9) в условии задачи нигде не увидел явного указания что дата поступления сертификата как-то привязана к дате документа Что конкретно понимает автор под датой поступления сертификата - нам неведомо | ||
Злопчинский 12 - 02.10.16 - 19:01 | Задача решаема тогда, когда например даты поступления сертификатов не позже дат документов | ||
Злопчинский 13 - 02.10.16 - 19:03 | Пункт 12 относится к парам документы сертификат, которые есть в записях приходов | ||
KSergey1C 14 - 02.10.16 - 19:05 | (10) Ну и что? Это две не связанные сортировки.
Единсвенное не написан приоритет сначала делаем сортировку по дает документа а потом по сретификату или наоборот. | ||
KSergey1C 15 - 02.10.16 - 19:06 | (11) Ну и что? Это две не связанные сортировки.
Единсвенное не написан приоритет сначала делаем сортировку по дает документа а потом по сретификату или наоборот. | ||
KSergey1C 16 - 02.10.16 - 19:08 | (10) НАдо сначала отсортировать, а потом сделать ФИФО, а сортировку ты можешь сделать только для результата запроса.
Как ты ФИФО сделашь? | ||
Лефмихалыч 17 - 02.10.16 - 19:10 | (16) что за муть ты понимаешь под "сделать ФИФО"? В моем понимании списание по ФИФО осуществляется как раз при обходе выборки и с той точки зрения все сводится тупо к сортировке. | ||
Злопчинский 18 - 02.10.16 - 19:11 | (15) с точки зрения минимизации потерь товара первой по фифо следует делать по сертификата Дабы в итоге не остался товар с окончившимся сроком сертификата | ||
KSergey1C 19 - 02.10.16 - 19:12 | (17) В моем понимании результатом запроса должны быть выборка которую можно сразу выгрузить в регистр накоплений. | ||
Злопчинский 20 - 02.10.16 - 19:14 | Пока автор явно не скажет что такое дата поступления сертификата - дальнейшее бесполезно Ибо я например под датой поступления сертификата понимаю дату начала действия\выдачи сертификата, потому как это критично для продаж | ||
KSergey1C 21 - 02.10.16 - 19:17 | (18) Это явно учебная задача. ТУт точек зрения быть не может.
Собсвенно как могут приходить товары по одному документу по разным сертификатам. Я такое только на пивзаводе встречал, в котором на каждый розлив свой сертификат и при отгрузке могут быть товары по разным сертификатам. Соотсвенно у покупателей для ЕГАИС такое может потребоваться, а вот у организаций которые снабжают всякие школы, больницы, сертификаты меняются редко, онии их вообще текстом в номенклатуру прописывают. | ||
Злопчинский 22 - 02.10.16 - 19:21 | (21) фармация Пришло сколько то аспириновой. Разные даты изготовления, разные серии, разные сертификаты | ||
Злопчинский 23 - 02.10.16 - 19:24 | Пока автор не напишет что такое дата поступления сертификата - все полная фигня Автора вообще надо забанить за неуважение к сообществв | ||
Злопчинский 24 - 02.10.16 - 19:26 | Например по разным бокам пришёл товар с одинаковым сертификатом В этом случае дата поступления сертификата может быть дата первого появления сертификата в приходе | ||
Лефмихалыч 25 - 02.10.16 - 19:26 | (19) может - напрасно? Да даже и в этом случае это вопрос сортировки и условия, отсеивающего лишние записи. При этом условие обязано опираться на эту сортировку. | ||
Злопчинский 26 - 02.10.16 - 19:27 | Итого на данный момент я могу назвать как минимум ТРИ разных варианта определения что такое дата поступления сертифтката | ||
Лефмихалыч 27 - 02.10.16 - 19:28 | (23) узбагойзя. Что тебе мешает понимать дату поступления сертификата как тупо значение реквизита Сертификат.ДатаПоступления? Какая разница, что там за физический смысл этой даты? | ||
Злопчинский 28 - 02.10.16 - 19:28 | Итого пока в адрес автора можно сказать лишь одно Кг\ам | ||
Злопчинский 29 - 02.10.16 - 19:30 | (27) в общем случае ничего не мешает, но тогда задача в общем случае не имеет решения удовлетворяющего одновременность фифо | ||
KSergey1C 30 - 02.10.16 - 19:31 | (22) Не спорю, так может быть. Как быть если товар с сертификатом который позже - пришел раньше.
С точки зрения упр. желательно списать тот товар у которого срок годности быстрее заканчивается, а сточки зрения налогового учета надо списать более раннюю партию. Тут как постановщик задачи скажт, так и делать. Рекламное место пустует | ||
KSergey1C 31 - 02.10.16 - 19:33 | (25) Еще раз: какую сортировку? Сортировать ты можешь лишь результат запроса. А тебе в запросе надо получить конечный результат. | ||
и тут и там 32 - 02.10.16 - 19:37 | (11) Действительно не привязано. дата сертификата может быть и до поступления а может быть и позже. | ||
KSergey1C 33 - 02.10.16 - 19:40 | (32) Вот и определись с приоритетеом.
Сначала выбираем самый первый сертификат, а потом самый первый документ связанный с этим сертификатом или сначала самый первый документ и по нему самый первый сертификат. | ||
и тут и там 34 - 02.10.16 - 20:05 | (23) За что? (28) Давайте не будем торопится с обзываниями. я сейчас все поясню что нужно.
даты друг к другу не привязаны. может быть раньше может позже. дата сертификата = дата начала действия сертификата и она всегда равна дате выдачи. (для примера) на один сертификат может существовать несколько документов прихода (партий) и наоборот в одном документе прихода могут быть одинаковые номенклатуры по разным сертификатам. то есть еще проще говоря: имеем три абсолютно независимых измерения. одно - материальное (номенклатура), два других измерения (сертификат и документ прихода) нематериальны, но упорядочены по дате. (Документ по Дате Документа, сертификат по ДатеСертификата) Документ прихода осуществляет делает движения по по измерениям. Партия = ссылка на сам документ прихода Номенклатура = реквизит ТЧ документа ПриходСертификат = реквизит ТЧ документа Приход Если на момент прихода сертификат не получен, то элемент создается с пустой датой. после поступления сертификата в элементе справочника Сертификаты ставится дата. если один товар пришел в одном доукменте поступления но позже выяснилось что сертификатов два и больше - то документ прихода корерктируется. в запросе расхода сертификаты с пустой даты не учавствуют ни в каких отборах первые наброски на бумаге показывают что решений может быть несколько - тогда достаточно получить одно решение и приоритетом в скорейшем списании выступает сертификат. | ||
KSergey1C 35 - 02.10.16 - 20:12 | (34) Ты лучше расскажи где такие задачи.
Для практики тебе проще сделать простую выборку по остаткам, и распределение по ФИФО сделать кодом, - тогда это элементарная задача. | ||
Лефмихалыч 36 - 02.10.16 - 20:12 | (31) "в запросе надо получить конечный результат"
кто сказал? | ||
KSergey1C 37 - 02.10.16 - 20:14 | (36) САБЖ: результат запроса в котором выбытие по было распределено по остальным двум измерениям по методу ФИФО. | ||
Лефмихалыч 38 - 02.10.16 - 20:15 | (29) мне кажется, ты слишком близко к сердцу принимаешь слово "одновременно" в данном случае | ||
Лефмихалыч 39 - 02.10.16 - 20:16 | (34) если не пудрить себе мозг магическим запросом, который сам всё вернет, то задача тривиальная. Такая же, как обычное партионное списание, только цикла два, а не один | ||
Лефмихалыч 40 - 02.10.16 - 20:17 | (37) из этого не следует, что в этом результате должны быть только те партии, которые надо списать. | ||
KSergey1C 41 - 02.10.16 - 20:21 | (39) Два циклу будет все равно, один по товарам к списанию, другой по остаткам.
А для порядка достаточно сделать сортировку в запросе. | ||
и тут и там 42 - 02.10.16 - 20:28 | (35) нуу я встречал подобные задачи у пищевиков, у фармацевтов, у таможенных декларантов. выходил из ситуации по разному и не всегда красивым решением. то есть подобный пример (два партионных учета на одном регистре) у меня давно созрела, и потребность в решении до сих пор есть (иначе я бы и забил и не парил мозг форумчанам) - но вот решить я ее не мог. потому и спросил мнение | ||
и тут и там 43 - 02.10.16 - 20:30 | |||
KSergey1C 44 - 02.10.16 - 20:36 | (43) Ты это серьезно? Кодом у тебя будет десять строк на запрос и 15-20 на код. И все будет четко и понятно.
Запрос у тебя будет на сотню строк минимум и будет неочевидным тем кто попытается его прочитать. Запрос может быть интересн только в качество проверки твоих знаний. Еще раз: запрос написать можно но будет сложный. Не скажу что самый сложный из тех с каким я сталкивался, но и писать такое за бесплатно не интересно. | ||
Злопчинский 45 - 02.10.16 - 21:48 | (32) отвечаю: в таких условиях обеспечить одновременное списание по фифо и сертификатов и по документам поступления - невозможно | ||
KSergey1C 46 - 02.10.16 - 21:51 | |||
Злопчинский 47 - 02.10.16 - 22:01 | (34) автор, ты - дятел В регистре накопления с несколькими измерениями не может быть независимых измерений Остаток (как и движение) ВСЕГДА описывается совокупностью всех измерений, а не каким-то одним измерением Если ты из рн с 3 измерениями выдергиваешь остаток по двум или одному измерению - это по сути уже не твой рН, а другой + с меньшим количеством измерений (схлопывагие измерения) это как трехмерный куб в проекции на плоскость - ТВ теряешь инфу про третее измерение. Поэтому у тебя и прут минуса потому что ты пытаещься остаток получить по меньшему количеству измерентй , а потом суешь получившуюся инфу в ьои измерения, не согласовав их друг с другом И пусть там Левмихалыч хоть обсортируется хоть в запросе, хоть в цикле - одновременно фифо по приходам и сертификата ты не получишь, или получишь, но регистр будет не закрыт с минусами как у тебя и есть | ||
Злопчинский 48 - 02.10.16 - 22:05 | |||
Злопчинский 49 - 02.10.16 - 22:06 | Дятел это не унизить, а просто констатации текущей ситуации | ||
DrShad 50 - 02.10.16 - 22:09 | |||
DrShad 51 - 02.10.16 - 22:10 | (48) возможно сделать и по серийнику и по документу одновременно, но придется помучаться
автор нормальный | ||
Злопчинский 52 - 02.10.16 - 22:13 | Для одновременности фифо можно вывернуться, но это требует определённых свойств товараЕсли товар разных сертификатов и разных приходов неотличим физически, то делаем два рН: сертификат-товар и приход-товар И теперь когда измерения приход и сертификат действительно являются независимыми, так как принадлежат разным рН - теперь по каждому рН можно одновременно делать фифо - фифо и по сертификата и фифо по приходу Понятно что если из этих двух рН попытаться получить остаток склеиванием для сертификат-приход-товар - то ничего путного не выйдет | ||
Злопчинский 53 - 02.10.16 - 22:13 | (51) и как? | ||
DrShad 54 - 02.10.16 - 22:15 | (53) ну как сделать ФИФО в запросе ты уже знаешь? | ||
Злопчинский 55 - 02.10.16 - 22:19 | (51) не получится Достаточно вместо виртуальност сертификатов и приходов использовать осязаемые физические величины, напримерЕсли товар красный - то он угловатый, а если товар зелёный - то он гладко сферический И ты тут хоть укакайся, но ты никак не сможешь взять со склада товар который зелёный и угловатый | ||
Злопчинский 56 - 02.10.16 - 22:20 | (54) да по барабану в запросе ли, выборкой, иди как-то иначе | ||
KSergey1C 57 - 02.10.16 - 22:30 | (48) ПОчему нельзя натий первый сертификат и потом перебирать документы по этому сертификату? | ||
и тут и там 58 - 02.10.16 - 22:41 | (47) Сергей, Прошу быть корректным в развешивании ярлыков. я в топикстарте спросил "А возможно ли вообще?" зачем обзываться.
высказывание "независимость трех измерений" имел в виду что состояние в наборе записей из состояния одного не возможно предположить состояние другого. т.е. то что остатки и движения хранится уже совместно со всеми измерениями мне известно. | ||
и тут и там 59 - 02.10.16 - 23:15 | (48) сергей, ну почему не возможно?
таблица остатков представляет собой в моем случае трехмерный куб. (номенклтура+Документ поступления + сертификат) и моя задача и представляет собой то самое "СУДОКУ" где зная количество по горизонтали количество по вертикали и количество по глубине - получить требуемое количество с нормальным распределением, чтобы показатся более понятным - иначе объяснсю - в городе есть улицы, дома и квартиры. создаем остаточный регистр накопления. измерения:улица, дом, квартира. селим туда разное количество людей. и того допустим у нас 100 людей на и того у нас получилось 10 улиц, домов всего 10. квартир в домах количество разное. потом нам нужно выбрать людей. нам нужно получить с улицы Х 10 обезличеных человек с приоритетом от наименьшего номера дома и наименьшего номера квартиры. результатом будет так: с улицы такой то: 1 человек из дома №1 кв №1 3 чел из дома №1 кв 20 5 чел из дома №1 кв 30 1 чел из дома №2 кв 1математически мне кажется эта задача разрешимой. я б даже сказал что в любой ситуации всегда можно будет найти как минимум одно решение. чтобы нигде в минус не ушло. вот это распределение в запросе и хочу получить. | ||
Злопчинский 60 - 02.10.16 - 23:24 | (57) можно, но это не будет фифо по документам, так как по другому сертификату на этот же товар будут болеирангие документы прихода Рекламное место пустует | ||
Злопчинский 61 - 02.10.16 - 23:27 | |||
Злопчинский 62 - 02.10.16 - 23:32 | (59) обращаются внимание Что мы ещё все решаемых задачу одновременности фифо В твоём примере условие одновременности фифо для дома и для квартиры не выполнено, квартиры не выбраны по фифо | ||
DrShad 63 - 02.10.16 - 23:33 | |||
и тут и там 64 - 02.10.16 - 23:40 | (55) вот вот вот!! начинает таки доходить моя мысль.
нам потребно конкретного товара просто число! например Нам говорят - нам надо 10 томатов. а мы должны мудрой адинэской сказать "ИХ ЕСТЬ У НАС !"и уже в расходдный ордер писать: взять 3 томата красных и угловатых и 7 томатов зеленых и круглых | ||
Злопчинский 65 - 02.10.16 - 23:43 | (63) возможно Давай уточним, решаем задачу обеспечения одновременности фифо по измерению сертификат и по измерению документ прихода при списании товара по рн сертификат-документприхода-товар ? | ||
Злопчинский 66 - 02.10.16 - 23:47 | (64) неверно 10 томатов мы всегда сможем набрать, но мы не сможем их набрать с соблюдением требований потому что ..см мой следующий пост | ||
Злопчинский 67 - 02.10.16 - 23:52 | ... Потому что по исходным данным Красные раньше зеленых Гладкосферические раньше угловатых Поэтому требуемое количество Ты должен набрать из КрасныхГладкосферических и ЗеленыхУгловатых А таких на остатках нет | ||
Злопчинский 68 - 02.10.16 - 23:54 | В частных случаях решение есть, В общем случае - нет | ||
Torquader 69 - 03.10.16 - 00:13 | Граждане!
Вопрос "одновременности" нескольких измерений сводится к необходимости введения оператора сравнения на множестве, состоящем из нескольких чисел (в вашем случае - два). Как вы хорошо понимаете, без проекции (или отображения) этого множества на упорядоченное (то есть взаимнооднозначное отображение многомерного пространства на прямую) это выполнить невозможно. И, в итоге, у вас должен получиться один ФИФО, а не несколько. | ||
Злопчинский 70 - 03.10.16 - 00:21 | (69) понимаешь, они это не понимают... по крайней мере ТС | ||
Злопчинский 71 - 03.10.16 - 00:27 | Конкретный пример для совсем уж ...
РН, Товар-Сертификат(ДатаВыдачи)-Документ(ДатаПрихода) При списании товара необходимо обеспечить ФИФО сертификатов(по дате выдачи) и ФИФО Документов(по дате прихода)9 число, на остатках - ничего нет. 10 число: Приход от 10числа, Товар1, Сертификат от 4числа, +4шт 12 число: Приход от 12числа, Товар1, Сертификат от 1числа, +10шт13 число: заявка на Расход, Товар1, -6шт. Напишите движения по списанию товара. | ||
Злопчинский 72 - 03.10.16 - 00:29 | |||
Torquader 73 - 03.10.16 - 01:16 | Вопрос - а два одинаковых поступления одной и той же даты и одного и того же сертификата мы как списываем ? Поровну, или наугад ? | ||
Злопчинский 74 - 03.10.16 - 01:22 | (73) ты такие сложные вопросы не мути, а то бросятся тебе объяснять, а на вышетривиальное - сделают вид что не заметили... | ||
Torquader 75 - 03.10.16 - 01:27 | (74) Просто, если допускаются совпадения - то нужно ЧУМ (частично упорядоченное множество) - это намного проще, чем полное отношение порядка.
То есть, мы вводим коэффициенты по значимости измерений и определяем расстояние с учётом данных коэффициентов - полученное значение можно использовать как частичный порядок. Конечно, в реальности - фигня получится, но в теории всё будет также красиво как "сферонь". | ||
KSergey1C 76 - 03.10.16 - 03:04 | (60) Ну и что? Будет и будет. Просто определяется приоритете документы или сертификаты и вперед. Автор определился. | ||
KSergey1C 77 - 03.10.16 - 03:09 | (71)
Опираясь на слова в (34) "приоритетом в скорейшем списании выступает сертификат." Берем самый первый сертификат, т.е. Сертификат от 1числа, Ищим в остатках документы связанные сэотим сертификатом Приход от 12числаПоэтой аналитике есть 10 штук - списываем 6 штук. | ||
Злопчинский 78 - 03.10.16 - 03:09 | |||
KSergey1C 79 - 03.10.16 - 03:10 | (72) Векторную графику надо использовать, а не маяться ерундой. | ||
Злопчинский 80 - 03.10.16 - 03:11 | |||
Злопчинский 81 - 03.10.16 - 03:15 | и таможенников и фармацевтов и прочая хрень - наш внутренний учет (сертификат+приход) нахрен не будет интересовать.
упомянутых будет интересовать фармацевтов: а сколько по такому-то сертификату поступило и скольо отпущено? таможня - аналогично по ГТД и нет никакой необходимости ни одновременного фифо, ни приоритет ов. ТС выбирает для своего РН - нужную схему списания - ФИФО по какому-то измерению например (остальные - ведомые по приоритетам). Для получения ответов для фармацевтов/nfvj;yz - все что надо - собрать движения по нужному измерени и все. | ||
KSergey1C 82 - 03.10.16 - 03:16 | (80) Давай начнем с того, что термин "одновременное фифо" - ввел ты, а не автор. И это не какой-то академический термин, однозначно определяемый, что он значит понимаешь только ыт сам, вополне возмжно что оты опд ним имеешь ввиду: "клоуны хохотуны в цирке на бульваре". | ||
Злопчинский 83 - 03.10.16 - 03:21 | (82) "в котором выбытие по было распределено по остальным двум измерениям по методу ФИФО. " - возможно что я страый маразматик, но вот это я понимаю как хотелку "одновременного фифо по двум измерениям", а так как в выбытии два измерения всегда связаны - ну никак не получится по "остальным двум измерениям по методу ФИФО". скорее всего большая простыня этой ветки совершенно лишняя, и все что хотел автор это "фифо по одному измерению, а по второму фифо в рамках первого измерения". | ||
KSergey1C 84 - 03.10.16 - 04:34 | (83) ДОстаточно ввести приоритете одного измерения и все становится в порядке. | ||
Torquader 85 - 03.10.16 - 14:41 | Одновременное FIFO можно рассматривать только в том случае, если в одном регистре мы ведём учёт по одному параметру (скажем, документ поступления), а в другом - по другому (дата сертификата), тогда у нас в разных регистрах будет различное списание партий согласно установленному приоритету - но это допустимо только тогда, когда для раной отчётности нам нужен совершенно различный виртуальный учёт. |
|
Список тем форума
|