Как в запросе "раскрутить" цепочку документов? #145223


#0 by Чучундер
Есть документы реализации.У них в качестве оснований - заявки покупателей (заявка может иметь основанием заявку тоже - типа корректировочная).Требуется получить "исходный" документ "заявка покупателя".Можно это как-то "хитро" вытянуть запросом по документам/регистрам...?Вообщем-то требуется получить струткруту данных типа:ИсходныйДокЗаявка-НоменклатураЗаявки-КонечныйДокПродажи-НоменклатураПродажи(при этом начало (докЗаявка-номенклатураЗаявка) или конец (ДокПродажи-НоменклатураПродажи) могут быть пустые.Сие бредовое нужно для решения задачи типа "что клиент просил - что продали".М.б. есть другие соображения как "решить" такую задачу?С надеждой на сообщество.
#1 by rio1c77
С одним документом проблем вроде нет... надо документы реализации за период перебрать что-ли?А итого отчет сводный составить что просили, а что продали?Задача непонятна все таки...
#2 by Чучундер
> отчет сводный составить что просили, а что продали?в первом приближении - да, пусть даже это не очень будет соответсвовать правде..переговоры с клиентом фикисруются в виде цепочки неподтвержденок (заявок), естественно есть самая "первая" неподтвержденка - клиент просит номенклатуру и цены, мы выдвигаем "встречное" требование (корректировочная неподтвержденка) и так м.б. несколько итераций... когда вроде договорились - неподтвержденка-вводнаосновании-заявка покупателя/на склад (их тоже может быть цепочка) - реализация.Требуется "сопоставить" начальную неподтвержденку и "конечную" реализацию.При этом ясен пень одна большая заявка может дробиться на несколько мелких, которые, в свою очередь, "придут" к нескольким реализациям, т.е. в конце получается "исходная" неподтверджденка - несколько реализаций.Понятно, что в конечных реализациях м.б. товары, которых не было в исходной неподтвержденк - ну и пусть, это пока пропускаем, рассматриваем только те позиции которые есть в исходной неподтвержденке и в конечных реализациях...
#3 by Чучундер
Первое что "в тупую" приходит в голову1. пробежаться по всем неподтвержденкам, гле ДокОснование=0 -> в список2. Пробежаться по всем реализациям, по цепочкам подчиненности "раскрутить" до "исходной" неподтвержденки -. в список3. "Сложить" пп.1 и 2, выделить отдельно "1 нет в 2" и "2 нет в 1"....но как это решить "красиво"...?
#4 by Чучундер
так что, все к субботе устали...?Идей нет...?
#5 by МимохожийОднако
В каждом документе есть реквизит Проект. Можно в нем отражать один и тот же элемент справочника. Например, дату и номер первой заявки... Запрос делать по этому признаку. После окончательного выбора товара удалять все заявки,которые не пригодились. Это решение организационно-техническое. Тогда и кодировать лишнего не придется
#6 by Чучундер
Можно. Но... чем-то не нравится. Придется кодить поддержку переноса "исходной" заявки по цепочке документов ("проект" не пойдет, занят) - отклонение от типовой, тогда как отчет (пусть работает медленее, но не затрагивает типовой). Т.е накладные расходы на "тянуть" исходный док туда или идти к нему от обратного - примерно одинаковые, только во втором случае - конфигу не трогаем.
#7 by МимохожийОднако
Есть еще комментарий в документе в который тоже можно кинуть служебную информацию.Или чтобы не трогать конфигурацию можно использовать дополнительные возможности и туда закинуть вспомогательные обработки. Для использования справочника я однажды применил создание файлов в имени которых был заложен код справочника. Аналогичное решение можно применить для документа. Создавать внешней обработкой дбф файлы, в которых хранить вписки заказов с номенклатурой. Наподобие регистра в виде дополнительных дбф файлов.Считаю, что надо создавать информацию не после создания всех заказов, а в процессе. Тогда легче будет отыскать нужное...Спать охота.НАверное, невнятно высказался. Извини
#8 by Чучундер
да не все понятно. вопрос в том, что все что нужно (данные, связи) уже есть в стандартной схеме данных. вопрос втом что кроме пробегания ао "цепочке" - никакого другого способа нет? Типа запихнуть в запрос по продажам рекурсивную функцию, которая на основании переменной запроса "докпродажи" возвращает документ начала цепочки - можно ди так сделать?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Back to top