Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Добавление вычисляемого поля в динамический список
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Andrian
Всем привет, есть проблема!
Есть Динамический список "ФормаСпискаДокументов" документа "ЗаказКлиента" и есть еще документ "РеализацияТовароИУслуг" и проблема в том, что не могу вывести запросом поле "Дата" документа "ЗаказКлиента", в котором мне надо подсчитать количество дней числом от документа "РеализацияТовароИУслуг" ДатаРеализации -(минус) ТекущаяДата
sava1
не понятно.
или помедленнее, или попонятнее.
ed.kharkov
Andrian @ Сегодня, 14:46 необходимо зарегистрироваться для просмотра ссылки ,
Добрый день.

РАЗНОСТЬДАТ(<Дата1>, <Дата2>, ДЕНЬ)
Andrian
ed.kharkov @ Вчера, 15:09 необходимо зарегистрироваться для просмотра ссылки ,
sava1 @ Вчера, 15:07 необходимо зарегистрироваться для просмотра ссылки ,
Вчера сделал РАЗНОСТЬДАТ и получилось, но теперь при переходе в режиме Предприятия на вкладку "Заказы Клиентов" выдает ошибку "обнаружено дублирование ключевых значений в колонках: ссылка"
вот код запроса
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДокументЗаказКлиента.Ссылка КАК Ссылка,
    ДокументЗаказКлиента.ПометкаУдаления КАК ПометкаУдаления,
    ДокументЗаказКлиента.Номер КАК Номер,
    ДокументЗаказКлиента.Дата КАК Дата,
    ДокументЗаказКлиента.НомерПоДаннымКлиента КАК НомерПоДаннымКлиента,
    ДокументЗаказКлиента.ДатаПоДаннымКлиента КАК ДатаПоДаннымКлиента,
    ДокументЗаказКлиента.Проведен КАК Проведен,
    ДокументЗаказКлиента.Приоритет КАК Приоритет,
    ДокументЗаказКлиента.Партнер КАК Партнер,
    ДокументЗаказКлиента.Контрагент КАК Контрагент,
    ДокументЗаказКлиента.Организация КАК Организация,
    ДокументЗаказКлиента.Соглашение КАК Соглашение,
    ДокументЗаказКлиента.Договор КАК Договор,
    ДокументЗаказКлиента.Сделка КАК Сделка,
    ДокументЗаказКлиента.Валюта КАК Валюта,
    ДокументЗаказКлиента.СуммаДокумента КАК СуммаДокумента,
    ДокументЗаказКлиента.СуммаВозвратнойТары КАК СуммаВозвратнойТары,
    ДокументЗаказКлиента.ГрафикОплаты КАК ГрафикОплаты,
    ДокументЗаказКлиента.ЖелаемаяДатаОтгрузки КАК ЖелаемаяДатаОтгрузки,
    ДокументЗаказКлиента.Склад КАК Склад,
    ДокументЗаказКлиента.Статус КАК Статус,
    ДокументЗаказКлиента.Менеджер КАК Менеджер,
    ДокументЗаказКлиента.СуммаАвансаДоОбеспечения КАК СуммаАвансаДоОбеспечения,
    ДокументЗаказКлиента.СуммаПредоплатыДоОтгрузки КАК СуммаПредоплатыДоОтгрузки,
    ДокументЗаказКлиента.ДатаОтгрузки КАК ДатаОтгрузки,
    ДокументЗаказКлиента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
    ДокументЗаказКлиента.ПорядокРасчетов КАК ПорядокРасчетов,
    ВЫБОР
        КОГДА НЕ ДокументЗаказКлиента.Проведен
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовКлиентов.ПустаяСсылка)
        ИНАЧЕ ЕСТЬNULL(СостоянияЗаказовКлиентов.Состояние, ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовКлиентов.Закрыт))
    КОНЕЦ КАК Состояние,
    ВЫБОР
        КОГДА НЕ ДокументЗаказКлиента.Проведен
            ТОГДА ЛОЖЬ
        КОГДА СостоянияЗаказовКлиентов.ДатаСобытия <> ДАТАВРЕМЯ(1, 1, 1)
                И &ДатаАктуальности > СостоянияЗаказовКлиентов.ДатаСобытия
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Просрочен,
    ВЫБОР
        КОГДА ДокументЗаказКлиента.Приоритет В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    Приоритеты.Ссылка КАК Приоритет
                ИЗ
                    Справочник.Приоритеты КАК Приоритеты
                УПОРЯДОЧИТЬ ПО
                    Приоритеты.РеквизитДопУпорядочивания)
            ТОГДА 0
        КОГДА ДокументЗаказКлиента.Приоритет В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    Приоритеты.Ссылка КАК Приоритет
                ИЗ
                    Справочник.Приоритеты КАК Приоритеты
                УПОРЯДОЧИТЬ ПО
                    Приоритеты.РеквизитДопУпорядочивания УБЫВ)
            ТОГДА 2
        ИНАЧЕ 1
    КОНЕЦ КАК КартинкаПриоритета,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаОплаты, 0) КАК СуммаОплаты,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентОплаты, 0) КАК ПроцентОплаты,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаОтгрузки, 0) КАК СуммаОтгрузки,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентОтгрузки, 0) КАК ПроцентОтгрузки,
    ВЫБОР
        КОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга, 0) < 0
            ТОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга, 0)
        ИНАЧЕ 0
    КОНЕЦ КАК НашДолг,
    ВЫБОР
        КОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга, 0) > 0
            ТОГДА ЕСТЬNULL(СостоянияЗаказовКлиентов.СуммаДолга, 0)
        ИНАЧЕ 0
    КОНЕЦ КАК ДолгКлиента,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.ПроцентДолга, 0) КАК ПроцентДолга,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.ДатаСобытия, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаСобытия,
    ЕСТЬNULL(СостоянияЗаказовКлиентов.ЕстьРасхожденияОрдерНакладная, ЛОЖЬ) КАК ЕстьРасхожденияОрдерНакладная,
    СостоянияЭД.СостояниеВерсииЭД,
    РеализацияТоваровУслуг.Дата КАК ДатаРеализации,
    ВЫРАЗИТЬ(РАЗНОСТЬДАТ(&ТекущаяДата, РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК ЧИСЛО(15, 1)) КАК Просрочка,
    РеализацияТоваровУслуг.ДокументОснование.Ссылка
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ДокументЗаказКлиента
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
            ПО (СостоянияЗаказовКлиентов.Заказ = ДокументЗаказКлиента.Ссылка)
            {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
            ПО (СостоянияЭД.СсылкаНаОбъект = ДокументЗаказКлиента.Ссылка)}
        ПО РеализацияТоваровУслуг.ЗаказКлиента = ДокументЗаказКлиента.Ссылка
            И РеализацияТоваровУслуг.ДокументОснование = ДокументЗаказКлиента.Ссылка
sava1
Цитата(Andrian @ 11.07.18, 9:48) необходимо зарегистрироваться для просмотра ссылки
ВЫБРАТЬ РАЗЛИЧНЫЕ ДокументЗаказКлиента.Ссылка КАК Ссылка,


измените на
как Заказ
Petre
Andrian @ Today, 8:48 необходимо зарегистрироваться для просмотра ссылки ,
Ошибка говорит о том, что в результате вашего соединения у вас несколько строк с одной и той же ссылкой на запись основной таблицы.
Andrian
sava1 @ Сегодня, 10:04 необходимо зарегистрироваться для просмотра ссылки ,
При изменении начало писать, что дублирование в колонка "Заказ", есть какой нибудь другой вариант?
ed.kharkov
Andrian @ Сегодня, 11:06 необходимо зарегистрироваться для просмотра ссылки ,
Обратите внимание на соединения в запросе, а именно на соединение с регистром сведений СостоянияЗаказовКлиентов.
Если в этом регистре несколько записей для одно заказа, то это может быть причиной ошибки.
Andrian
ed.kharkov @ Сегодня, 11:10 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо за наводку
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.