8.х Отчет по заявкам на скд

Тема в разделе "Система компоновки данных (СКД)", создана пользователем nastena_r_v, 19 авг 2015.

  1. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    День добрый. Пришло новое задание, сделать отчет по заявкам, который строится по внутреннему заказу в УПП 8.3, обычное приложение. Не знаю как правильно настроить связи, так как новичок в этой сфере, примерный запрос набросала, правда не знаю как в последнем поле сделать совмещенную ячейку, которая будет выводить номера на документы, которые связанны.
    Еще могу выложить скриншот с примерными данными, и запрос, правда выборка не правильная из-за связей.

    Код:
    ВЫБРАТЬ
        ВнутренниеЗаказыОбороты.ВнутреннийЗаказ,
        ВнутренниеЗаказыОбороты.Номенклатура,
        ВнутренниеЗаказыОбороты.ЕдиницаИзмерения,
        ВнутренниеЗаказыОбороты.КоличествоОборот КАК КоличествоЗаявлено
    ПОМЕСТИТЬ ВЗ
    ИЗ
        РегистрНакопления.ВнутренниеЗаказы.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ВнутренниеЗаказыОбороты
    ГДЕ
        ВнутренниеЗаказыОбороты.Регистратор ССЫЛКА Документ.ВнутреннийЗаказ
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВнутренниеЗаказыОбороты.Регистратор КАК РегистраторКорректировкаВЗ,
        ВнутренниеЗаказыОбороты.Номенклатура
    ПОМЕСТИТЬ КорректировкаВЗ
    ИЗ
        РегистрНакопления.ВнутренниеЗаказы.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ВнутренниеЗаказыОбороты
    ГДЕ
        ВнутренниеЗаказыОбороты.Регистратор ССЫЛКА Документ.КорректировкаВнутреннегоЗаказа
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ЗаказыПоставщикамОбороты.ЗаказПоставщику,
        ЗаказыПоставщикамОбороты.Номенклатура,
        МАКСИМУМ(ЗаказыПоставщикамОбороты.Цена) КАК Цена,
        ЗаказыПоставщикамОбороты.ЗаказПоставщику.Контрагент,
        СчетНаОплатуПоставщика.Ссылка,
        ЗаказыПоставщикамОбороты.Регистратор,
        ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДатаОтгрузки
    ПОМЕСТИТЬ ЗП
    ИЗ
        РегистрНакопления.ЗаказыПоставщикам.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗаказыПоставщикамОбороты,
        Документ.СчетНаОплатуПоставщика КАК СчетНаОплатуПоставщика
    ГДЕ
        ЗаказыПоставщикамОбороты.Регистратор ССЫЛКА Документ.ЗаказПоставщику
    
    СГРУППИРОВАТЬ ПО
        ЗаказыПоставщикамОбороты.ЗаказПоставщику,
        ЗаказыПоставщикамОбороты.Номенклатура,
        ЗаказыПоставщикамОбороты.ЗаказПоставщику.Контрагент,
        СчетНаОплатуПоставщика.Ссылка,
        ЗаказыПоставщикамОбороты.Регистратор,
        ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДатаОтгрузки
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ЗакупкиОбороты.Номенклатура,
        ЗакупкиОбороты.ЗаказПоставщику,
        ЗакупкиОбороты.КоличествоОборот,
        ЗакупкиОбороты.Контрагент,
        ЗакупкиОбороты.Регистратор.Ссылка
    ПОМЕСТИТЬ ПоступлениеТМЗ
    ИЗ
        РегистрНакопления.Закупки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗакупкиОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ТоварыНаСкладахОбороты.Номенклатура,
        ТоварыНаСкладахОбороты.КоличествоОборот,
        ТоварыНаСкладахОбороты.Регистратор.Ссылка,
        ТоварыНаСкладахОбороты.Регистратор
    ПОМЕСТИТЬ ПеремещениеТМЗ
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ТоварыНаСкладахОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВЗ.ВнутреннийЗаказ,
        ВЗ.Номенклатура,
        ВЗ.ЕдиницаИзмерения,
        ВЗ.КоличествоЗаявлено,
        ЗП.Цена,
        ЗП.ЗаказПоставщикуКонтрагент,
        ЗП.ЗаказПоставщикуДатаОтгрузки,
        КорректировкаВЗ.РегистраторКорректировкаВЗ,
        КорректировкаВЗ.Номенклатура КАК Номенклатура1,
        ПеремещениеТМЗ.КоличествоОборот,
        ПеремещениеТМЗ.Регистратор,
        ПоступлениеТМЗ.КоличествоОборот КАК КоличествоОборот1,
        ПоступлениеТМЗ.РегистраторСсылка
    ИЗ
        ВЗ КАК ВЗ
            ЛЕВОЕ СОЕДИНЕНИЕ ЗП КАК ЗП
                ЛЕВОЕ СОЕДИНЕНИЕ ПоступлениеТМЗ КАК ПоступлениеТМЗ
                    ЛЕВОЕ СОЕДИНЕНИЕ ПеремещениеТМЗ КАК ПеремещениеТМЗ
                    ПО ПоступлениеТМЗ.РегистраторСсылка = ПеремещениеТМЗ.РегистраторСсылка
                        И ПоступлениеТМЗ.Номенклатура = ПеремещениеТМЗ.Номенклатура
                ПО ЗП.ЗаказПоставщику = ПоступлениеТМЗ.ЗаказПоставщику
                    И ЗП.Номенклатура = ПоступлениеТМЗ.Номенклатура
            ПО ВЗ.Номенклатура = ЗП.Номенклатура,
        КорректировкаВЗ КАК КорректировкаВЗ
    --- Объединение сообщений, 19 авг 2015 ---
    связь примерно такая, что:
    1) создается внутренний заказ
    2) если товара на складе нет, то делаем заказ поставщику
    3) если необходимо заменить товар на другой делаем корректировку внутреннего заказа
    4) делаем счет на оплату поставщику
    5) дальше поступление тмз, на основании заказа поставщику
    6) если документ, который был заказа необходимо переместить, делаем перемещениеТМЗ на основании ПоступленияТМЗ, а если необходимо переместить товар, который присутствует на складе, делаем перемещение на основании ВнутреннегоЗаказа;
    7) и далее если товар был возвращен поставщикам, делаем возврат на основании поступления тмз.

    Кто работает в УПП и знат всю структуру, подскажите правильно ли я вывела логическую цепочку создания документов? и возможно ли реализовать все данные связи, с учетом всех возможных нюансов?

    Вложения:

    • 1,1.jpg
      1,1.jpg
      Размер файла:
      220,2 КБ
      Просмотров:
      4
    Последнее редактирование: 19 авг 2015
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    я не совсем понял в чем вопрос
  3. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Вопрос в том, как правильно можно настроить связи.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну по идее все идет через внутренний заказ.
    У Вас должна быть цепочка ВЗ-Заказ поставщику, там в ТЧ то же указывается ВЗ, при поступлении товаров Там тоже в ТЧ указывается и Заказ поставщику и внутренний заказ.
    Советую посмотреть так же в сторону регистра Размещение заказов.
    А так у Вас не понятно
    есть два ВЗ от разных подразделений на молоток. Один вы заказали одним заказом поставщику - другой другим и как понять. какой кому пришел, а какой нет.
  5. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Вот теперь я Вас не очень поняла
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Я вам описал цепочку как должно быть, у вас в заказе поставщику указывается ВЗ по которому зказывается. У вас в поступлении указывается заказ поставщику и внутренний закза по котрому приходит товар.
    Посмотрите у Вас в РН Размещение заказов есть данные?
  7. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Да, в размещении заказов есть движения.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А в табличных частях документов указаны заказы
  9. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Да указаны, во внутреннем заказе - заказ поставщику, а в заказе поставщику соответственно внутренний заказ
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну вот связываете либо через регистр размещения либо уже через ТЧ
  11. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Вот смотрите, что получилось, теперь другая загвоздка, не отображаются внутренние заказы, в которых было поступление ТМЗ, а на основании Поступления был ВозвратПоставщикам.
    При просмотре в консоли запроса не выдает этот документ из-за выборки (выполнила запрос по каждой виртуальной таблице, и выяснила это, потому что в виртуальные таблицы документ попадает). В ней указано количество перемещенного товара на основании Поступления или на основании ВнутреннегоЗаказа. А регистр используется такой же как и в Возврате.

    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВнутренниеЗаказыОбороты.ВнутреннийЗаказ,
        ВнутренниеЗаказыОбороты.Номенклатура,
        ВнутренниеЗаказыОбороты.КоличествоОборот КАК КоличествоВЗ,
        ЗаказыПоставщикамОбороты.КоличествоОборот КАК КоличествоЗП,
        ЗаказыПоставщикамОбороты.Цена КАК Цена,
        РазмещениеЗаказовПокупателейОбороты.ЗаказПокупателя,
        РазмещениеЗаказовПокупателейОбороты.ЗаказПоставщику КАК ЗаказПоставщику,
        ВнутренниеЗаказыОбороты.ЕдиницаИзмерения,
        ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДатаПоступления,
        СчетНаОплатуПоставщика.Ссылка
    ПОМЕСТИТЬ ВТ
    ИЗ
        РегистрНакопления.ВнутренниеЗаказы.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ВнутренниеЗаказыОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РазмещениеЗаказовПокупателей.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК РазмещениеЗаказовПокупателейОбороты
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗаказыПоставщикамОбороты
                    ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПоставщика КАК СчетНаОплатуПоставщика
                    ПО ЗаказыПоставщикамОбороты.ЗаказПоставщику.ДокументОснование.Ссылка = СчетНаОплатуПоставщика.Ссылка
                ПО РазмещениеЗаказовПокупателейОбороты.ЗаказПоставщику = ЗаказыПоставщикамОбороты.ЗаказПоставщику
                    И РазмещениеЗаказовПокупателейОбороты.Номенклатура = ЗаказыПоставщикамОбороты.Номенклатура
            ПО ВнутренниеЗаказыОбороты.ВнутреннийЗаказ = РазмещениеЗаказовПокупателейОбороты.ЗаказПокупателя
                И ВнутренниеЗаказыОбороты.Номенклатура = РазмещениеЗаказовПокупателейОбороты.Номенклатура
    ГДЕ
        (ВнутренниеЗаказыОбороты.Регистратор ССЫЛКА Документ.ВнутреннийЗаказ
                    И ЗаказыПоставщикамОбороты.КоличествоОборот > 0
                ИЛИ ЗаказыПоставщикамОбороты.КоличествоОборот ЕСТЬ NULL )
        И ВнутренниеЗаказыОбороты.КоличествоОборот > 0
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВТ.ВнутреннийЗаказ,
        ВТ.Номенклатура,
        ВТ.КоличествоВЗ,
        ВТ.КоличествоЗП,
        ВТ.Цена,
        ВТ.ЗаказПокупателя,
        ВТ.ЗаказПоставщику,
        ВТ.ЗаказПокупателя.Ссылка,
        ЗакупкиОбороты.КоличествоОборот КАК КоличествоПТ,
        ЗакупкиОбороты.Регистратор,
        ВТ.ЗаказПоставщикуДатаПоступления
    ПОМЕСТИТЬ ВТсПост
    ИЗ
        ВТ КАК ВТ
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ЗакупкиОбороты
            ПО ВТ.Номенклатура = ЗакупкиОбороты.Номенклатура
                И ВТ.ЗаказПоставщику = ЗакупкиОбороты.Регистратор.ДокументОснование
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТсПост.ВнутреннийЗаказ,
        ВТсПост.Номенклатура,
        ВТсПост.КоличествоВЗ,
        ВТсПост.КоличествоПТ,
        ТоварыНаСкладахОбороты.КоличествоОборот КАК КоличествоПеремТМЗ,
        ВТсПост.Цена,
        ВТсПост.ЗаказПоставщику,
        ВТсПост.ЗаказПоставщикуДатаПоступления КАК ТребСрокПост,
        ВТсПост.Регистратор КАК ФактСрокПост,
        ТоварыНаСкладахОбороты.Регистратор КАК ПеремТМЗ,
        ТоварыНаСкладахОбороты.Склад
    ИЗ
        ВТсПост КАК ВТсПост
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК ТоварыНаСкладахОбороты
            ПО (ВТсПост.Регистратор = ТоварыНаСкладахОбороты.Регистратор.ДокументОснование
                    ИЛИ ВТсПост.ВнутреннийЗаказ = ТоварыНаСкладахОбороты.Регистратор.ДокументОснование)
                И ВТсПост.Номенклатура = ТоварыНаСкладахОбороты.Номенклатура
    ГДЕ
        (ТоварыНаСкладахОбороты.КоличествоОборот > 0
                ИЛИ ТоварыНаСкладахОбороты.КоличествоОборот ЕСТЬ NULL )
  12. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    если честно, то я сегодня на работу пришел с температурой и мне трудно смотреть и анализировать что то такое маштабное.
    Просто для себя хочу в первую очереь понять, отчет - что вам должен выдавать.?
    Исполнение ВЗ?
    если так то тут сразу стоит вопрос по тем же возвратам.
    Быз заказ, на основании его заказали поставщику, затем была поставка. т.е по сути - ВЗ исполнен. т.к заказа и поставили то что просили. Новая поставка - новый заказ.
    иначе так можно углу*****ся и углу*****ся ведб есть доккументы корректировка поступления, который может количество корректировать и т.д.
    вам надо попределить рамки Бизнес процесса и в этих рамках действовать.

    Для налача для себя может написать простой отчет Взять ТЧ ВЗ, ТЧ заказа поставщиу и ТЧ поступленяи и связать их все по ВЗ и посмотреть что получиться
    по идее это уже будет отчет что надо, что заказали,а что уже поступило и к нему накручивать.
    Пусть пока будет по ТЧ. если уже будет загибаться по времени - пересмотрите на регистры. Вы же сейчас не на спеца на экзамене отчеты пишите.
    Вам главное результат, а потом его усовершенствуйте
  13. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Draco, вот это что-то масштабное практически и надо. И корректировку использовать... Вот такой отчет необходим для наших отделов...
    И отчет желательно делать по регистрам...
    --- Объединение сообщений, 20 авг 2015 ---
    Так в чем у меня загвоздка подсказать не сможете? ((
    Последнее редактирование: 20 авг 2015
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну сегодня точно нет, надо разбираться. там не факт что все получиться через регистры.
    Т.к в том же регистре Закупки - нет информации по какому внутренему заказу была закупка. аналогично с платежкой там надо будет распредялть.
    Вы же платите по заказу поставщика, и может быть частичная оплата, как узнать какая часть оплачена? распределять по сумме.
  15. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    В РН Закупки есть заказ поставщику, а он в свою очередь связан с Внутренним Заказом...
  16. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Хорошо тогда вопрос.
    есть у Вас два подразделения одни нужен молоток и вторым нужен молоток
    Оформили соответвствено какжое подразделение свой ВЗ на молоток.
    Закупаем молотки у одного контрагента. оформляем заказ поставщику там Молоток 2 строчки по 1шт .т.к два внутренних заказа.
    поступил один молоток. у вас в Закупках появилась запись молоток 1 шт. и ссылка на Заказ поставщику.
    Внимание вопрос, как вы можете однозначно сказать по какому ВЗ этот молоток поступил.
  17. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Для двух разных подразделений будут создаваться 2 разных заказа, даже с одинаковыми молотками.
  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Вопрос - зачем?
    Стандартный механизм позволяет делать это и одним заказом.
    Видите - я вашего БП не знаю, вы его как то определили и под него делаете.
    При вашей постановке конечно тогда можно - номенклатура - заказ. Но поять же пользователю то система н езапрещает делать как я сказал и через пол года поймут все что удобней один заказ сделать и тогда что с отчетом.
    С оплптпми опять же получается что вмето того что бы оплатить 1 заказ в платежке надо указывать 2. ну и т.д.
  19. TopicStarter Overlay
    nastena_r_v
    Offline

    nastena_r_v

    Регистрация:
    19 авг 2015
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Пока что думаю сделать по предполагаемой структуре, какая есть, надо разобраться с тем, что документы с возвратом не добавляет в отчет...
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну вот
    ТоварыНаСкладахОбороты.КоличествоОборот > 0
    если у вас был приход и возврат то оборот то 0
    Приход 1шт расход 1шт - оборот 0

Поделиться этой страницей