Имя: Пароль:
1C
1С v8
Ошибка в запросе! Вылетает 1С
,
0 Kleopatra2803
 
15.12.14
14:36
Добрый день!
В КА 1.1.51.1 добавила документ "Рассрочка платежа", который создается на основании "Заказа покупателя". Документ рассрочки и приходник создают движения по новому регистру накопления "Платежи по рассрочке" (документ рассрочки на увеличение долга контрагента, документ ПКО - на уменьшение).
Делаю отчет по платежам по рассрочке на СКД. Сам отчет отрабатывает, но при проверке запроса в консоли почему-то вылетает 1с. Подозрение на ТИПЗНАЧЕНИЯ, потому что как только убираю из запроса эти строки, все работает. Помогите, пожалуйста, найти ошибку.
Текст запроса:

ВЫБРАТЬ
    ПлатежиПоРассрочке.Регистратор,
    ПлатежиПоРассрочке.Контрагент,
    ПлатежиПоРассрочке.ДатаПлатежа,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ПлатежиПоРассрочке.Регистратор.Ссылка) = ТИП(Документ.РассрочкаПлатежа)
            ТОГДА ПлатежиПоРассрочке.СуммаПлатежа
        ИНАЧЕ 0
    КОНЕЦ КАК План,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ПлатежиПоРассрочке.Регистратор.Ссылка) = ТИП(Документ.ПриходныйКассовыйОрдер)
            ТОГДА ПлатежиПоРассрочке.СуммаПлатежа
        ИНАЧЕ 0
    КОНЕЦ КАК Факт,
    КонтактнаяИнфТ.Представление КАК ТелефонКонтрагента,
    ПлатежиПоРассрочке.ЗаказПокупателя
ИЗ
    РегистрНакопления.ПлатежиПоРассрочке КАК ПлатежиПоРассрочке
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            КонтактнаяИнформация.Объект КАК Объект,
            КонтактнаяИнформация.Представление КАК Представление
        ИЗ
            РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ГДЕ
            КонтактнаяИнформация.Тип = &ТипТелефон
            И КонтактнаяИнформация.Вид = &ВидТелефон) КАК КонтактнаяИнфТ
        ПО ПлатежиПоРассрочке.Контрагент = КонтактнаяИнфТ.Объект
1 Господин ПЖ
 
15.12.14
14:40
может платформа шибко старая
2 Kleopatra2803
 
15.12.14
14:42
(1) 8.3.4.465
3 Maxus43
 
15.12.14
14:43
Замени
КОГДА ТИПЗНАЧЕНИЯ(ПлатежиПоРассрочке.Регистратор.Ссылка) = ТИП(Документ.РассрочкаПлатежа)

на

КОГДА ПлатежиПоРассрочке.Регистратор ССЫЛКА Документ.РассрочкаПлатежа
4 Kleopatra2803
 
15.12.14
14:43
Мне вот интересно, ТИПЗНАЧЕНИЯ и ТИП нормально отрабатывают для дописанных документов?
5 Maxus43
 
15.12.14
14:43
ну и второй случай тоже замены.

З.ы. ПлатежиПоРассрочке.Регистратор.Ссылка - тут .Ссылка лишнее
6 Ёпрст
 
15.12.14
14:48
ну и вложенный запрос не нужен, можно и просто левое соединение делать сразу
7 Kleopatra2803
 
15.12.14
14:57
(3) не помогло, все равно вылетает(
8 Kleopatra2803
 
15.12.14
14:58
(5) Здесь я написала ссылка, потому что без нее не работало, думала может в этом дело, оказалось, что нет
9 Ёпрст
 
15.12.14
14:59
а чего за консоль то хоть используешь, которая вылетает ?
10 Vovan1975
 
15.12.14
14:59
ну дык может не ТИПЗНАЧЕНИЯ(ПлатежиПоРассрочке.Регистратор.Ссылка)
а всеже ТИПЗНАЧЕНИЯ(ПлатежиПоРассрочке.Регистратор), не?
11 Kleopatra2803
 
15.12.14
14:59
(6)вложенный запрос сделала на случай, если у контрагента будет заведено несколько телефонов, чтобы выбирать первый. А Выбрать первые 1 забыла написать
12 Kleopatra2803
 
15.12.14
15:00
(10) Разницы нет, также вылетает
13 Ёпрст
 
15.12.14
15:09
на (9) есть ответ ?
Полный текст запроса какой, опосля правок ?
14 FireAlex
 
15.12.14
15:19
плохо в запросе что отбирает всю контактную информацию, а затем соединяется с регистром, лучше сначала получить список контрагентов по которым есть просрочка (в принципе весь запрос запихать в ВТ), потом выбрать контактную информацию тоже поместить в ВТ, а затем соединить две временные таблицы.
15 Kleopatra2803
 
15.12.14
15:19
(13) Извини, не увидела вопрос. Сейчас уже не помню, откуда она у меня, по-моему с инфостарта скачанная консоль. В ней можно скд проверять. В запросе все-таки поменяла контактную информацию, убрала из вложенного. Сейчас текст запроса такой:

ВЫБРАТЬ
    ПлатежиПоРассрочке.Регистратор,
    ПлатежиПоРассрочке.Контрагент,
    ПлатежиПоРассрочке.ДатаПлатежа,
    ВЫБОР
        КОГДА ПлатежиПоРассрочке.Регистратор ССЫЛКА Документ.РассрочкаПлатежа
            ТОГДА ПлатежиПоРассрочке.СуммаПлатежа
        ИНАЧЕ 0
    КОНЕЦ КАК План,
    ВЫБОР
        КОГДА ПлатежиПоРассрочке.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
            ТОГДА ПлатежиПоРассрочке.СуммаПлатежа
        ИНАЧЕ 0
    КОНЕЦ КАК Факт,
    ПлатежиПоРассрочке.ЗаказПокупателя,
    КонтактнаяИнформация.Представление КАК ТелефонКонтрагента
ИЗ
    РегистрНакопления.ПлатежиПоРассрочке КАК ПлатежиПоРассрочке
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
        ПО ПлатежиПоРассрочке.Контрагент = КонтактнаяИнформация.Объект
ГДЕ
    КонтактнаяИнформация.Тип = &ТипТелефон
    И КонтактнаяИнформация.Вид = &ВидТелефон
16 Ёпрст
 
15.12.14
15:24
(15) сейчас у вас не левое соединение, а внутреннее, замените ГДЕ на И
17 Ёпрст
 
15.12.14
15:24
И.. возьмите другую консоль для проверки.
18 Ёпрст
 
15.12.14
15:25
Ну и.. выгребать все записи из регистра, как-то не комильфо ни разу, мот вам останки нужны, или обороты за период какой , не ?
19 Kleopatra2803
 
15.12.14
15:27
(16) Почему не левое соединение? Может же по регистру накопления запись быть, а у контрагента нет контактного телефона
20 Kleopatra2803
 
15.12.14
15:28
(17) блин, неужели все-таки в консоли запросов проблема. Раньше она меня не подводила(
21 Kleopatra2803
 
15.12.14
15:36
(18) Похоже Вы правы были насчет консоли( Удаляю ее нафиг. А по поводу количества записей, добавлю сейчас отбор по дате платежа, вынесу период на форму и не будет все выгребаться. Мне нужно видеть все платежи плановые и фактические за определенный период. Приходник делает движения только в том случае, если по заказу покупателя, на основании которого создан приходник, есть документ рассрочки. Их будет не очень много
22 Kleopatra2803
 
15.12.14
15:37
Спасибо большое всем за помощь! не знаю бы сколько еще просидела
23 Ёпрст
 
15.12.14
15:39
(19) своим ГДЕ вы накладываете условие на всю выборку, получаете в итоге внутреннее соединение, т.е только те записи, которые есть в контактной информации ( а не вообще все и еще немножко с контактной при левом соединении)
24 Kleopatra2803
 
15.12.14
15:42
(23) блин точно. спасибо большое, исправлю