8.х Не получает сформировать отчет 1С скд 8.2.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Дмитрий Игоревич, 18 апр 2013.

  1. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    Есть код:
    Код:
    ВЫБРАТЬ
    ОборотыЗаказа.Период КАК Период,
    ОборотыЗаказа.Склад,
    ОборотыЗаказа.Товар,
    ВЫБОР
    КОГДА ОборотыЗаказа.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидыДокументов.Заказ)
    ТОГДА ОборотыЗаказа.КоличествоПриход
    ИНАЧЕ 0
    КОНЕЦ КАК Заказ,
    ВЫБОР
    КОГДА ОборотыЗаказа.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидыДокументов.ПриходнаяНакладная)
    ТОГДА ОборотыЗаказа.КоличествоРасход
    ИНАЧЕ 0
    КОНЕЦ КАК Приход,
    ОборотыЗаказа.ДокументОснование,
    ОборотыЗаказа.ДатаПоставки
    ИЗ
    РегистрНакопления.ДвиженияЗаказов.Обороты(&ДатаНачала, &ДатаОкончания, Запись, ) КАК ОборотыЗаказа
    ГДЕ
    ОборотыЗаказа.Товар = &Товар
    И ОборотыЗаказа.Склад = &Склад
    Проблема в следующем, если первая запись при формировании запроса это приход, то нужно либо ее отсекать либо Дату Начала в периоде начинать с поля ОборотыЗаказа.ДокументОснование именно этой записи, а если последняя запись это заказ, то ее нужно либо отсекать либо дату окончания делать до ОборотыЗаказа.ДатаПоставки, как можно это реализовать в запросе?

    т.е. вопрос в том, как сделать так чтобы условие распространялось только на первую либо на последнюю запись в измерении товар ?
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    если появились такие потребности, значит что-то в консерватории не то :)

    регистр, я так понимаю, самописный?
  3. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    Да самописный, то есть нужен отчет о недопоставке, заказ это заказ, а приходная накладная это приход товара по определенному заказу , но если мы допустим формирует отчет за определенный период и первая запись это приход, а заказ по этому приходя остается за рамками выбраного периода то данные в совокупности будут не верные, аналогично с последней записью заказы, есл последняя запись это заказ то приход не поподает в рамках этого периода и данные опять не верны. Но в движении есть два поля, дата поставки это поле когда будет поставка для конкретного заказа и поле документоснование это по какому заказу была поставка
  4. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    Есть идейка что-то типа

    Код:
    ВЫБОР
    КОГДА ОборотыЗаказа.ДатаПоставки > &ДатаОкончания
    ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОкончания, ДЕНЬ, 1)
    ИНАЧЕ &ДатаОкончания
    КОНЕЦ КАК ДатаОкончания,
    но пока не допру как ее реализовать!
  5. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    тогда еще пара вопросов
    1. вы формируете отчет за период - вам нужно получить заказы поставщикам, сделанные в этот период, по которым была недопоставка, просрочка поставки?
    2. допиливается какая-то типовая конфигурация или вся конфигурация самописная?
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Не совсем понятно. Если у вас задача получить недопоставки по заказм, то создается регистр Заказы.В котором есть одно из ИЗМЕРЕНИЙ заказа. Приход туда делает документ Заказ он записывается как в регистратор, так и в указанное выше измерение, расход - делает документ Приход. (в измерение записывается ссылка на заказ по которому пришло) (ну еще взврат можно подвязать)
    Таким образом по недопоставленным заказам у вас будут осатки. (т.к есть измерение) Все получаете остатки и по этому полу видите по каким заказом это недопоставлено
  7. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    1 вопрос, да именно так и нужно сделать)
    2. конфигурация самописная с нууля
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну так реализуйте, как я Вам сказал - и все будет очень просто. Вам по сути добавить одно измерение
  9. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    Попробую сегодня на работе так и сделать) просто я изначально так и думал что, что-то не так в этом регистре)))
  10. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    тема еще актуальная смог отсечь если последнее значение это заказ
    ВЫБОР
    КОГДА ОборотыЗаказа.ВидДокумента = ЗНАЧЕНИЕ(Перечисление.ВидыДокументов.Заказ) и &датаокончания< оборотызаказа.датапоставки
    ТОГДА ОборотыЗаказа.КоличествоПриход
    ИНАЧЕ 0
    КОНЕЦ КАК Заказ, осталось если первый приход отсечь, добавить измерение сейчас это не лучший выход
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    А через правку регистра - что не захотели?
  12. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    пару дней не было меня, аппендецит вырезали) так ну я понимаю так, что если через изменения регистра делать, то задним числом все равно не получится получить необходимые данные?
  13. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Почему? перепроведите документы все и все встанет на место.Вы же остатки на определныый момент времени всегда можете получить
  14. TopicStarter Overlay
    Дмитрий Игоревич
    Offline

    Дмитрий Игоревич Опытный в 1С

    Регистрация:
    11 апр 2013
    Сообщения:
    152
    Симпатии:
    0
    Баллы:
    26
    Дело в шляпе , все получилось правда не изменением конфигурации а привязкой двух запросов по средствам скд

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