Проблемка в запросе

  1. 10 г. назад

    Чета туплю в свойственной мне манере...типовой отчет...на одной базе нив какую не работает...

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    	&ДатаНач КАК Период,
    	ТиповойОбороты.Регистратор КАК Документ,
    	ТиповойОбороты.Регистратор.Дата КАК ДатаДокумента,
    	ТиповойОбороты.Регистратор.Номер КАК НомерДокумента,
    	ПРЕДСТАВЛЕНИЕ(ТиповойОбороты.Регистратор) КАК ПредставлениеДокумента,
    	ЕСТЬNULL(ТиповойОбороты.СуммаОборотДт, 0) КАК Приход,
    	ЕСТЬNULL(ТиповойОбороты.СуммаОборотКт, 0) КАК Расход,
    	ВЫБОР
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    			ТОГДА ВЫРАЗИТЬ(ТиповойОбороты.Регистратор.ПринятоОт КАК СТРОКА(1000))
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    			ТОГДА ВЫРАЗИТЬ(ТиповойОбороты.Регистратор.Выдать КАК СТРОКА(1000))
    	КОНЕЦ КАК Контрагент,
    	ПРЕДСТАВЛЕНИЕ(ТиповойОбороты.КорСчет) КАК ПредставлениеСчета,
    	ВЫБОР
    		КОГДА &ВыводитьОснования
    			ТОГДА ВЫБОР
    					КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    							ИЛИ ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    						ТОГДА ВЫРАЗИТЬ(ТиповойОбороты.Регистратор.Основание КАК СТРОКА(1000))
    				КОНЕЦ
    	КОНЕЦ КАК Основание,
    	ВЫБОР
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    			ТОГДА 1
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    			ТОГДА 2
    		ИНАЧЕ 3
    	КОНЕЦ КАК ИндексСортировкиВида
    ИЗ
    	РегистрБухгалтерии.Типовой.Обороты(
    		&ДатаНач,
    		&ДатаКон,
    		Регистратор,
    		Счет В ИЕРАРХИИ (&СчетаКассы),
    		&ВидСубконтоКасса,
    		Организация = &Организация
    		    И Субконто1 = &Касса
    		    И ((НЕ &ВВалюте)
    		        ИЛИ Валюта = &Валюта),
    		,
    		) КАК ТиповойОбороты
    
    УПОРЯДОЧИТЬ ПО НАЧАЛОПЕРИОДА(ТиповойОбороты.Регистратор.Дата, ДЕНЬ), ДатаДокумента
    ИТОГИ
    	СУММА(Приход),
    	СУММА(Расход)
    ПО
    	Период,
    	Документ
    АВТОУПОРЯДОЧИВАНИЕ

    Конкретно ругается на эту строку ТиповойОбороты.Регистратор.Основание...говорит не совместимые типы...реквизит Типа строка неограниченной длинны...

  2. ТиповойОбороты.Регистратор.Основание не null

    Ответы: (2) (3) (13)
  3. (1) у мну запрос даже в конструкторе не открывается...

  4. (1) не-а, просто ВЫРАЗИТЬ() надо убрать, у 1С со строками неограниченной длины в запросах вечно проблемы. При выводе выразит, нафига оно здесь-то? Тупо вывод же, а не сравнение...

    Ответы: (4)
  5. (3) убирал...нифига...вообще выбор убирал оставлял только поле...нифига...

    Ответы: (5)
  6. (4) У тебя ж самописка вроде? Сделай в самом объекте строку определенной длины и не парься. Ну не любит 1С неограниченные )

    Ответы: (6)
  7. 29.09.2014 10:42:56 отредактировано V777

    (5) это была типовая конфа...она изменена но по минимуму...

    в типовой демке же пашет зараза...вроде все тоже самое...10 раз просмотрел....

    Ответы: (7)
  8. (6) Тады конфу кидай проверить, я ни одной типовой не знаю, где есть регистр Типовой

    Ответы: (8)
  9. 29.09.2014 10:49:13 отредактировано V777

    (7) дык казахстанская...)))

    чем тебе конфа то поможет???

  10. скорее всего "Регистратор.Основание" имеет составной тип

    Ответы: (10)
  11. (9) ну в ПКО и РКО не составной...

    Ответы: (11) (14)
  12. (10) точно?

    Ответы: (12)
  13. (11) а если найду? )))

  14. (1) почему не "НЕ ISNULL()"?

    Ответы: (16)
  15. (10)какбэ сказать то
    ну вобщем ему пофиг )))
    он типизацию смотрит на всю таблу

    Ответы: (15)
  16. (14) так там же Выбор

    Ответы: (19)
  17. (13) потомучто просто мысль.
    Наверное, проще проверить на ТипЗнч( в самом запросе
    Имхается, что там "на место" ПКО или РКО, "втерся", ошибками в данных, совсем кто-то другой.

    Ответы: (17)
  18. (16) а это что?

    КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
                                ИЛИ ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    
    Ответы: (18) (19)
  19. (17) а у тебя никогда небыло сбоев, когда Заказом себя считал Акт выполненных услуг? У меня были.

    Ответы: (20)
  20. 29.09.2014 11:12:34 отредактировано x86

    (15)синтаксис запроса проверяется перед исполнением, и при этом не анализируется логика работы запроса, а проверяется "вся таблица", поэтому то даже конструктор этот запрос не открывает

    Ответы: (21)
  21. (18) я понимаю, что левый док может появиться на том месте, но тут должна отработать проверка по ссылке, не?

    Ответы: (22)
  22. (19) печально...

  23. (20) Не знаю. Последний такой сбой был больше полутора лет назад, явление достаточно редкое. Лечил через выгрузить-загрузить.

  24. есть новый док в конфе...там этот реквизит типа ссылка на другой док...x86 прав...че терь делать то с ним???)

    Ответы: (24) (25)
  25. (23) Я бы удалил окончательным удалением, с очисткой связанных с доком регистров., два раза. Только "нужный" придется пересоздать.

  26. (23)еще один выбор напиши: типа выбор когда ...Основание ссылка Документ.ТакойТо Тогда ...Основание.Представление Иначе выразить(...Основание как Строка(100))

    Ответы: (26)
  27. (25) все равно конструктор ругается на запрос...

    Ответы: (27)
  28. (26) СДелай так что бы не ругался

    Ответы: (28)
  29. (27) а так можно???

    Ответы: (29)
  30. (28) Конечно

  31. Сделал...всем спасибо...)

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    	&ДатаНач КАК Период,
    	ТиповойОбороты.Регистратор КАК Документ,
    	ТиповойОбороты.Регистратор.Дата КАК ДатаДокумента,
    	ТиповойОбороты.Регистратор.Номер КАК НомерДокумента,
    	ПРЕДСТАВЛЕНИЕ(ТиповойОбороты.Регистратор) КАК ПредставлениеДокумента,
    	ЕСТЬNULL(ТиповойОбороты.СуммаОборотДт, 0) КАК Приход,
    	ЕСТЬNULL(ТиповойОбороты.СуммаОборотКт, 0) КАК Расход,
    	ВЫБОР
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    			ТОГДА ВЫРАЗИТЬ(ТиповойОбороты.Регистратор.ПринятоОт КАК СТРОКА(1000))
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    			ТОГДА ВЫРАЗИТЬ(ТиповойОбороты.Регистратор.Выдать КАК СТРОКА(1000))
    	КОНЕЦ КАК Контрагент,
    	ПРЕДСТАВЛЕНИЕ(ТиповойОбороты.КорСчет) КАК ПредставлениеСчета,
    	ВЫБОР
    		КОГДА &ВыводитьОснования
    			ТОГДА ВЫБОР
    					КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    							ИЛИ ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    						ТОГДА ТиповойОбороты.Регистратор
    					ИНАЧЕ НЕОПРЕДЕЛЕНО
    				КОНЕЦ
    	КОНЕЦ КАК РегСсылка,
    	ВЫБОР
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
    			ТОГДА 1
    		КОГДА ТиповойОбороты.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
    			ТОГДА 2
    		ИНАЧЕ 3
    	КОНЕЦ КАК ИндексСортировкиВида,
    	ТиповойОбороты.Регистратор
    ПОМЕСТИТЬ ВТ_Выборка
    ИЗ
    	РегистрБухгалтерии.Типовой.Обороты(
    			&ДатаНач,
    			&ДатаКон,
    			Регистратор,
    			Счет В ИЕРАРХИИ (&СчетаКассы),
    			&ВидСубконтоКасса,
    			Организация = &Организация
    				И Субконто1 = &Касса
    				И (НЕ &ВВалюте
    					ИЛИ Валюта = &Валюта),
    			,
    			) КАК ТиповойОбороты
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    	ВТ_Выборка.Период КАК Период,
    	ВТ_Выборка.Документ КАК Документ,
    	ВТ_Выборка.ДатаДокумента,
    	ВТ_Выборка.НомерДокумента,
    	ВТ_Выборка.ПредставлениеДокумента,
    	ВТ_Выборка.Приход КАК Приход,
    	ВТ_Выборка.Расход КАК Расход,
    	ВТ_Выборка.Контрагент,
    	ВТ_Выборка.ПредставлениеСчета,
    	ВЫРАЗИТЬ(ЕСТЬNULL(ВТ_Выборка.РегСсылка, "") КАК СТРОКА(1000)) КАК Основание,
    	ВТ_Выборка.ИндексСортировкиВида
    ИЗ
    	ВТ_Выборка КАК ВТ_Выборка
    
    УПОРЯДОЧИТЬ ПО
    	ВТ_Выборка.Регистратор.Дата
    ИТОГИ
    	СУММА(Приход),
    	СУММА(Расход)
    ПО
    	Период,
    	Документ
    АВТОУПОРЯДОЧИВАНИЕ

или зарегистрируйтесь чтобы ответить!