Имя: Пароль:
1C
 
БП 2.0. 2.0.65.45. Формирование книги покупок платформа 8.3.9.1818
0 Skom
 
17.10.16
13:24
ВЫБРАТЬ
    ФормированиеЗаписейКнигиПокупокНДСсАвансов.СчетФактура КАК ДокументОснование
ПОМЕСТИТЬ ВТ_ДокументыОснования
ИЗ
    Документ.ФормированиеЗаписейКнигиПокупок.НДСсАвансов КАК ФормированиеЗаписейКнигиПокупокНДСсАвансов
ГДЕ
    ФормированиеЗаписейКнигиПокупокНДСсАвансов.Ссылка = &Ссылка

ИНДЕКСИРОВАТЬ ПО
    ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    СчетФактураВыданный.Ссылка,
    СчетФактураВыданный.КодВидаОперации,
    СчетФактураВыданный.ДокументОснование КАК ДокументОснование,
    СчетФактураВыданный.ДоговорКонтрагента
ПОМЕСТИТЬ СчетаФактурыДокументы
ИЗ
    Документ.СчетФактураВыданный КАК СчетФактураВыданный
ГДЕ
    СчетФактураВыданный.ДокументОснование В
            (ВЫБРАТЬ
                ВТ_ДокументыОснования.ДокументОснование
            ИЗ
                ВТ_ДокументыОснования)
    И СчетФактураВыданный.Проведен
    И СчетФактураВыданный.Дата >= ДАТАВРЕМЯ(2015, 10, 1)
    И СчетФактураВыданный.Организация = &Организация
    И СчетФактураВыданный.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАванс)

ИНДЕКСИРОВАТЬ ПО
    ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗачетАвансовПолученных.Покупатель КАК Покупатель,
    ЗачетАвансовПолученных.Покупатель КАК Поставщик,
    ВЫБОР
        КОГДА ЗачетАвансовПолученных.ВозвратАвансовПолученных
            ТОГДА ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.ВозвратАвансовПолученных)
        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.АвансыПолученные)
    КОНЕЦ КАК ВидЦенности,
    ВЫБОР
        КОГДА &ПредъявленНДСКВычету0
            ТОГДА ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПокупки.ПредъявленНДСКВычету0)
        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СобытияПоНДСПокупки.ПредъявленНДСКВычету)
    КОНЕЦ КАК Событие,
    ЗачетАвансовПолученных.ДоговорКонтрагента,
    ЗачетАвансовПолученных.СчетФактура,
    ЗачетАвансовПолученных.СтавкаНДС,
    ЗачетАвансовПолученных.СуммаБезНДС,
    ЗачетАвансовПолученных.НДС КАК НДС,
    ЗачетАвансовПолученных.ДатаСобытия,
    ВЫБОР
        КОГДА ЗачетАвансовПолученных.ДатаСобытия = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            ТОГДА &ДатаДокумента
        ИНАЧЕ ЗачетАвансовПолученных.ДатаСобытия
    КОНЕЦ КАК ДатаОплаты,
    ЗачетАвансовПолученных.ДокументОтгрузки КАК ДокументОплаты,
    ЗачетАвансовПолученных.ДокументОтгрузки КАК ДокументОтгрузки,
    ЗачетАвансовПолученных.ДокументОтгрузки.Дата КАК ДокументОтгрузкиДата,
    ЗачетАвансовПолученных.ЗаписьДополнительногоЛиста,
    ВЫБОР
        КОГДА ЗачетАвансовПолученных.ЗаписьДополнительногоЛиста
            ТОГДА ЗачетАвансовПолученных.КорректируемыйПериод
        ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    КОНЕЦ КАК КорректируемыйПериод,
    ЗачетАвансовПолученных.ВалютаДокумента,
    ЗачетАвансовПолученных.ВалютнаяСумма,
    ВЫБОР
        КОГДА ЗачетАвансовПолученных.ИсправленныйСчетФактура В (&ПустыеДокументыИсправления)
            ТОГДА НЕОПРЕДЕЛЕНО
        ИНАЧЕ ЗачетАвансовПолученных.ИсправленныйСчетФактура
    КОНЕЦ КАК ИсправленныйСчетФактура,
    ВЫБОР
        КОГДА &ДатаДокумента < ДАТАВРЕМЯ(2015, 1, 1)
            ТОГДА ""
        ИНАЧЕ ВЫБОР
                КОГДА ЕСТЬNULL(СчетаФактурыДокументы.КодВидаОперации, "22") = "26"
                    ТОГДА "26"
                ИНАЧЕ "22"
            КОНЕЦ
    КОНЕЦ КАК КодВидаОперации,
    ВЫБОР
        КОГДА &ДатаДокумента < ДАТАВРЕМЯ(2014, 10, 1)
            ТОГДА ""
        ИНАЧЕ ЗачетАвансовПолученных.НомерДокументаОплаты
    КОНЕЦ КАК НомерДокументаОплаты,
    ВЫБОР
        КОГДА &ДатаДокумента < ДАТАВРЕМЯ(2014, 10, 1)
            ТОГДА ДАТАВРЕМЯ(1, 1, 1)
        ИНАЧЕ ЗачетАвансовПолученных.ДатаДокументаОплаты
    КОНЕЦ КАК ДатаДокументаОплаты,
    ЗачетАвансовПолученных.Ссылка.Организация КАК Организация,
    ЗачетАвансовПолученных.Состояние,
    ЗачетАвансовПолученных.НомерСтроки
ИЗ
    Документ.ФормированиеЗаписейКнигиПокупок.НДСсАвансов КАК ЗачетАвансовПолученных
        ЛЕВОЕ СОЕДИНЕНИЕ СчетаФактурыДокументы КАК СчетаФактурыДокументы
        ПО ЗачетАвансовПолученных.СчетФактура = СчетаФактурыДокументы.ДокументОснование
            И ЗачетАвансовПолученных.ДоговорКонтрагента = СчетаФактурыДокументы.ДоговорКонтрагента
ГДЕ
    ЗачетАвансовПолученных.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    ЗачетАвансовПолученных.НомерСтроки


В левой таблице 1 строка
В правой таблице 10 строк.

В результирующей таблице 10 строк.
Тот же запрос в консоли запросов - в результирующей таблице 1 строка (как и должно быть)
1 Skom
 
17.10.16
13:27
Для удобства прочтения сократил запрос.

ВЫБРАТЬ
    ФормированиеЗаписейКнигиПокупокНДСсАвансов.СчетФактура КАК ДокументОснование
ПОМЕСТИТЬ ВТ_ДокументыОснования
ИЗ
    Документ.ФормированиеЗаписейКнигиПокупок.НДСсАвансов КАК ФормированиеЗаписейКнигиПокупокНДСсАвансов
ГДЕ
    ФормированиеЗаписейКнигиПокупокНДСсАвансов.Ссылка = &Ссылка

ИНДЕКСИРОВАТЬ ПО
    ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    СчетФактураВыданный.Ссылка,
    СчетФактураВыданный.КодВидаОперации,
    СчетФактураВыданный.ДокументОснование КАК ДокументОснование,
    СчетФактураВыданный.ДоговорКонтрагента
ПОМЕСТИТЬ СчетаФактурыДокументы
ИЗ
    Документ.СчетФактураВыданный КАК СчетФактураВыданный
ГДЕ
    СчетФактураВыданный.ДокументОснование В
            (ВЫБРАТЬ
                ВТ_ДокументыОснования.ДокументОснование
            ИЗ
                ВТ_ДокументыОснования)
    И СчетФактураВыданный.Проведен
    И СчетФактураВыданный.Дата >= ДАТАВРЕМЯ(2015, 10, 1)
    И СчетФактураВыданный.Организация = &Организация
    И СчетФактураВыданный.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАванс)

ИНДЕКСИРОВАТЬ ПО
    ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗачетАвансовПолученных.ДоговорКонтрагента,
    ЗачетАвансовПолученных.СчетФактура,
    ЗачетАвансовПолученных.НомерСтроки
ИЗ
    Документ.ФормированиеЗаписейКнигиПокупок.НДСсАвансов КАК ЗачетАвансовПолученных
        ЛЕВОЕ СОЕДИНЕНИЕ СчетаФактурыДокументы КАК СчетаФактурыДокументы
        ПО ЗачетАвансовПолученных.СчетФактура = СчетаФактурыДокументы.ДокументОснование
            И ЗачетАвансовПолученных.ДоговорКонтрагента = СчетаФактурыДокументы.ДоговорКонтрагента
ГДЕ
    ЗачетАвансовПолученных.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    ЗачетАвансовПолученных.НомерСтроки
2 Сильф
 
17.10.16
13:34
В левой таблице 1 строка
В правой таблице 10 строк.

В результирующей таблице 10 строк.
Тот же запрос в консоли запросов - в результирующей таблице 1 строка (как и должно быть) <- чего это вдруг, если

ЛЕВОЕ СОЕДИНЕНИЕ

- ???
3 Skom
 
17.10.16
13:36
в консоли запросов 1 строка, в конфигураторе 10
4 Skom
 
17.10.16
13:47
блин....
)

На Документ расчетов с контрагентами (ручной учет) выписано 10 счетов фактур.
у меня в формировании книги покупок сумма по контрагенту увеличивается в 10 раз.
5 Skom
 
17.10.16
13:48
с запросом понял уже все, в консоли косяк с виртуальными таблицами
6 mehfk
 
17.10.16
13:50
Скорее в ДНК косяк.
7 Skom
 
17.10.16
13:50
у меня конец рабочего дня) мне можно
8 mehfk
 
17.10.16
13:51
Консоль какая?
9 Skom
 
17.10.16
13:51
консоль с подстановкой
10 Skom
 
17.10.16
13:52
дремучая какая-то
v 1.01 (ИР v 1.83)
11 mehfk
 
17.10.16
13:56
Посмотри, там на пенельке должна быть кнопка, переключающая тип запроса: "Обычный", "Постороитель", "Компоновка". И включи "обычный".
12 Skom
 
17.10.16
13:58
только построитель и компоновка там есть.
Я уже понял, в чем особенность запроса.
Перестроил запрос без временных таблиц и получил в результирующей таблице 10 строк, как и должно быть
13 mehfk
 
17.10.16
13:59
14 Skom
 
17.10.16
14:02
(13) гранд мерси)
15 Skom
 
17.10.16
14:03
вот эта консоль показывает все как надо.
16 Skom
 
17.10.16
14:04
В общем вот такая ситуация.

На Документ расчетов с контрагентами выписано 10 разных счетов фактур.
при формировании книги покупок по такому документу
строка "Формирования книги покупок" повторяется в движениях документа столько раз, сколько разных счетов фактур.
((
17 РеализоВано
 
17.10.16
14:32
Просто так не повесишь несколько счет-фактур.
Я не сколько кварталов что бы книги корректно формировались, отлавливал ошибки связанные с подобным формированием документом, когда на одно поступление пожелали вешать несколько счет фактур.
18 Skom
 
17.10.16
15:15
при переходе накосячили похоже.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn