Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Почему: "Получаемая строка превысит допустимые размеры"? (число прочтений - 10846 )
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Почему: "Получаемая строка превысит допустимые размеры"?
10. Апреля 2009 :: 13:39
Печать  
Есть нижеследующий запрос, который при выполнении:
ТЗ.загрузить(RS.ВыполнитьИнструкцию(ТекстЗапроса));
выдаёт ошибку из сабжа.
Если "Движения" из метода дополнения убрать или заменить на "ДвиженияИГраницыПериода", то ошибка не появляется. В чём беда?
Код
Выбрать все
	SELECT БИОстаткиОбороты.Счет [Счет $Счет.Основной]
		, БИОстаткиОбороты.Субконто1 [ТМЦ $Субконто]
		, БИОстаткиОбороты.Субконто2 [МестаХранения $Субконто]
		, БИОстаткиОбороты.КоличествоНачальныйОстаток AS НачКво
		, (БИОстаткиОбороты.КоличествоОборотДт) AS ПриходКво
		, Right(БИОстаткиОбороты.ПозицияДокумента, 9) [Документ $Документ]
		, БИОстаткиОбороты.ВидДокумента Документ_вид
		, БИОстаткиОбороты.Субконто1_вид ТМЦ_вид
		, БИОстаткиОбороты.Субконто2_вид МестаХранения_вид
	FROM $БИОстаткиОбороты.Основной(:Дата1, :Дата2 ~,
			Документ,Движения,,
			(Счет IN (SELECT Val FROM #Acc)),
			(ТМЦ,МестаХранения),
		) AS БИОстаткиОбороты
WHERE ((КоличествоНачальныйОстаток <>0)OR(КоличествоОборотДт <>0))AND(Субконто2 IN (SELECT Val FROM #TM)) 

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #1 - 10. Апреля 2009 :: 14:33
Печать  
Видимо, оно пытается порадовать тебя слишком длинным сообщением об ошибке. Посмотрю вечером.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #2 - 10. Апреля 2009 :: 14:45
Печать  
Смех  Очень довольный Смех

Заранее спасиба.
Как я понимаю, можно пойти другим путём: наложить условие ненулёвости всех оборотов. Но интересно с методом дополнения.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #3 - 10. Апреля 2009 :: 16:45
Печать  
Исправлено в AccountsRecordset v3.04.

Upd: Ptitz писал(а) 10. Апреля 2009 :: 14:45:
Как я понимаю, можно пойти другим путём: наложить условие ненулёвости всех оборотов.

Это было бы ошибкой.
« Последняя редакция: 11. Апреля 2009 :: 05:54 - berezdetsky »  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
slawa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 125
Зарегистрирован: 05. Октября 2006
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #4 - 12. Апреля 2009 :: 22:58
Печать  
Такую ошибку дает компилятор 1С-ки, когда строка слишком длинная.
Проверь все открывающие и закрывающие кавычки.
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #5 - 13. Апреля 2009 :: 07:23
Печать  
berezdetsky писал(а) 10. Апреля 2009 :: 16:45:
Исправлено в AccountsRecordset v3.04.

Заработала! Улыбка

berezdetsky писал(а) 10. Апреля 2009 :: 16:45:
Это было бы ошибкой.


Почему? Нам надо получить перечень документов движения счета товарных остатков с информацией о том, сколько товара было на начало каждого движения (документа). Соответственно, нам нужны записи с ненулевыми оборотами.
Вот мне, например, нужно получить перечень расходов с начальными остатками. А в результирующую таблицу попадают и строки с документами прихода. Т.е. условие на ненулёвость интересующих меня оборотов прийдётся таки вставлять. Так же ж?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #6 - 13. Апреля 2009 :: 07:32
Печать  
Ptitz писал(а) 13. Апреля 2009 :: 07:23:
Соответственно, нам нужны записи с ненулевыми оборотами.

Это не соответствует условию в запросе:
Код
Выбрать все
((КоличествоНачальныйОстаток <>0)OR(КоличествоОборотДт <>0)) 


Если не было оборотов, но были остатки, с методом дополнения "Движения" ты эти остатки увидишь, а если "наложить условие ненулёвости всех оборотов" - то нет. Т.е. результаты этих подходов будут разные.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #7 - 15. Апреля 2009 :: 09:45
Печать  
berezdetsky писал(а) 13. Апреля 2009 :: 07:32:
Если не было оборотов, но были остатки, с методом дополнения "Движения" ты эти остатки увидишь, а если "наложить условие ненулёвости всех оборотов" - то нет. Т.е. результаты этих подходов будут разные.

точно, выпало из внимания.
Я к своей проблеме подхожу то справа, то слева. Мож вообще велосипед изобретаю.

Ещё вопрос.
Если проводить аналогии с 1С: я могу наложить условие на переменную запроса, но по ней не группировать и в итоговой таблице эта переменная не будет полем. Как аналогичную вещь сделать в AccountsRecordset?
Как пример: мне нужно получить остатки в развороте по ТМЦ на каждый день по определённому набору складов. Но разворачивать по складам мне категорически не надо.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #8 - 15. Апреля 2009 :: 11:16
Печать  
Это можно сделать, если использовать позиционное определение субконто. Для этого нужно, чтобы у всех счетов из #Acc нужные виды субконто находились в одних и тех же позициях. К примеру, если МестаХранения - это первое субконто, а ТМЦ - второе, твой запрос мог бы выглядеть как
Код
Выбрать все
SELECT БИОстаткиОбороты.Счет [Счет $Счет.Основной]
	, БИОстаткиОбороты.Субконто2 [ТМЦ $Субконто]
	, БИОстаткиОбороты.КоличествоНачальныйОстаток AS НачКво
	, БИОстаткиОбороты.КоличествоОборотДт AS ПриходКво
	, Right(БИОстаткиОбороты.ПозицияДокумента, 9) [Документ $Документ]
	, БИОстаткиОбороты.ВидДокумента Документ_вид
	, БИОстаткиОбороты.Субконто2_вид ТМЦ_вид
FROM $БИОстаткиОбороты.Основной(:Дата1, :Дата2 ~,
		Документ,
		Движения,,,
		Субконто2,
		(Счет IN (SELECT Val FROM #Acc))
		AND (Субконто1 IN (SELECT Val FROM #TM))
	) AS БИОстаткиОбороты
WHERE ((КоличествоНачальныйОстаток <> 0) OR (КоличествоОборотДт <> 0)) 


(если в #Acc есть группы счетов, верни это условие в секцию УсловиеСчета).

В крайнем случае, всегда есть GROUP BY + SUM().
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #9 - 17. Апреля 2009 :: 15:58
Печать  
berezdetsky, я сделала запрос по мотивам предыдущего поста. Наложила условие на счет, но как колонку не объявила. Результирующая таблица выглядела просто как с оторванной колонкой "Счет". Т.е. не сгуппированна по счетам. В общем, я просто сделала "Свернуть", благо, много времени свёртка не занимает и успокоилась.
Спасибо за ответы, мой отчёт заиграл всеми красками, ттт!
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #10 - 17. Апреля 2009 :: 18:29
Печать  
Управлять детализацией итогов можно только с помощью секций <Субконто> и <Период>. Группировка/агрегация по остальным полям выполняется всегда, независимо от того, указаны ли они в списке выбора.

Я рад, что у тебя всё получилось.  Улыбка
« Последняя редакция: 17. Апреля 2009 :: 19:59 - berezdetsky »  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #11 - 22. Апреля 2009 :: 17:36
Печать  
Идём дальше Улыбка
Возжно ли объединить, например, БИОбороты и БИОстатки через LEFT JOIN?
Пытаюсь сделать что-то типа
Код
Выбрать все
|	SELECT БИОборотыОсновной.Счет [Счет $Счет.Основной]
|		, БИОборотыОсновной.Субконто1 [ТМЦ $Субконто]
|		, БИОборотыОсновной.Субконто2 [Контрагент $Субконто]
|		, БИОборотыОсновной.КоличествоОборотДт AS Кво90
|		, БИОборотыОсновной.СуммаОборотДт AS Сумма90
|		, БИОборотыОсновной.Субконто1_вид ТМЦ_вид
|		, БИОборотыОсновной.Субконто2_вид Контрагент_вид
|		, Right(БИОборотыОсновной.ПозицияДокумента, 9) [Док $Документ]
|		, БИОборотыОсновной.ВидДокумента Док_вид
|	FROM $БИОбороты.Основной(:Дата1, :Дата2 ~,
|			Документ,,
|			(Счет IN (SELECT Val FROM #Acc)),
|			(ТМЦ,Контрагенты),,,
|		) AS БИОборотыОсновной
|	LEFT JOIN
|	SELECT БИОстаткиОсновной.Счет [СчетО $Счет.Основной]
|		, БИОстаткиОсновной.Субконто1 [ТМЦО $Субконто]
|		, БИОстаткиОсновной.Субконто1_вид ТМЦО_вид
|		, БИОстаткиОсновной.СуммаОстаток AS СуммаОст
|	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #AccO)),
|			ТМЦ,
|		) AS БИОстаткиОсновной ON (БИОборотыОсновной.Субконто1 = БИОстаткиОсновной.Субконто1)";
 


Ругается Incorrect syntax near the keyword 'SELECT'
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #12 - 22. Апреля 2009 :: 18:58
Печать  
Код
Выбрать все
|	LEFT JOIN (
|	SELECT БИОстаткиОсновной.Счет [СчетО]
|		, БИОстаткиОсновной.Субконто1 [ТМЦО]
|		, БИОстаткиОсновной.Субконто1_вид ТМЦО_вид
|		, БИОстаткиОсновной.СуммаОстаток AS СуммаОст
|	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #AccO)),
|			ТМЦ,
|		) AS БИОстаткиОсновной) БИОстаткиОсновной ON (БИОборотыОсновной.Субконто1 = БИОстаткиОсновной.ТМЦО) 


но что-то странное вы в этом запросе нагородили.. Класс
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #13 - 22. Апреля 2009 :: 19:30
Печать  
alexdd писал(а) 22. Апреля 2009 :: 18:58:
но что-то странное вы в этом запросе нагородили.. Класс

Второй запрос отдельно в виде:
Код
Выбрать все
|	SELECT БИОстаткиОсновной.Счет [СчетО $Счет.Основной]
|		, БИОстаткиОсновной.Субконто1 [ТМЦО $Субконто]
|		, БИОстаткиОсновной.Субконто1_вид ТМЦО_вид
|		, БИОстаткиОсновной.СуммаОстаток AS СуммаОст
|	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #AccO)),
|			ТМЦ,
|		) AS БИОстаткиОсновной";
 


Работает нормально. И первый отдельно даёт что надо, а вот связать не получается. Если это реально, то в чем я ошибаюсь? (Потом мне ещё справочник надо будет привязать)
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #14 - 22. Апреля 2009 :: 20:01
Печать  
Ptitz писал(а) 22. Апреля 2009 :: 19:30:
Если это реально, то в чем я ошибаюсь? (Потом мне ещё справочник надо будет привязать)

так я же написал выше: оберните, то что джойните в подзапрос(скобки поставьте left join (select ..from..) as vt on ... )
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #15 - 22. Апреля 2009 :: 20:11
Печать  
зы: а странное, потому что вы к оборотам джойните остатки left джойном, при этом обороты разворачиваете до второго субконто, да и еще и до документов. Непонятно шо це будеУлыбка но может вам это и надо фзУлыбка
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #16 - 22. Апреля 2009 :: 21:06
Печать  
Цитата:
author=alexdd link=1239370797/0#14 date=1240430467так я же написал выше: оберните, то что джойните в подзапрос(скобки поставьте left join (select ..from..) as vt on ... )

а. Смущает смысловое содержание запроса? Улыбка Так это я пыталась на скорую руку пример склепать из подручного материала. Чтобы разобраться. А на деле мне надо будет скрещивать Обороты и ОстаткиИОбороты. Чтобы, например, показать продажи и остатки начальные и конечные.
Посмотрев на ваш ответ, я пыталась в скобки заключать. Оно начало ругаться на ON. Завтра (сегодня) на свежую голову уточню.
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #17 - 22. Апреля 2009 :: 21:13
Печать  
зы: ни-ни-ни! никаких документов. Измерения будут одинаковы в обоих запросах. А лефт чтобы остатки были только по позициям, по которым прошли продажи. А вообще, отдам это на откуп пользователей галочками определять, выводить все остаки или только по проданным.
Пример косой, не спорю.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #18 - 23. Апреля 2009 :: 06:35
Печать  
Ptitz писал(а) 22. Апреля 2009 :: 17:36:
Возжно ли объединить, например, БИОбороты и БИОстатки через LEFT JOIN?

Круглые глаза
Код
Выбрать все
select *
from (select ...
		from $БИОбороты()) sq1
	left join (select ...
		from $БИОстатки()) sq2 on sq1... = sq2... 

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #19 - 23. Апреля 2009 :: 08:08
Печать  
что-то не выходит.
Вот 2 варианта:
Код
Выбрать все
SELECT * FROM
	(SELECT Счет [Счет $Счет.Основной]
		, Субконто1 [ТМЦ $Субконто]
		, Субконто2 [Контрагент $Субконто]
		, КоличествоОборотДт AS Кво90
		, СуммаОборотДт AS Сумма90
		, Субконто1_вид ТМЦ_вид
		, Субконто2_вид Контрагент_вид
		, Right(ПозицияДокумента, 9) [Док $Документ]
		, ВидДокумента Док_вид
	FROM $БИОбороты.Основной(:Дата1, :Дата2 ~,
			Документ,,
			(Счет IN (SELECT Val FROM #Acc)),
			(ТМЦ,Контрагенты),,,
		))БИОборотыОсновной
	LEFT JOIN
	(SELECT Счет [СчетО $Счет.Основной]
		, Субконто1 [ТМЦО $Субконто]
		, Субконто1_вид ТМЦО_вид
		, СуммаОстаток AS СуммаОст
	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #Acc)),
			ТМЦ,
		)) БИОстаткиОсновной ON БИОборотыОсновной.Субконто1 = БИОстаткиОсновной.Субконто1 



Ругается на: ]Incorrect syntax near ')'.

Код
Выбрать все
SELECT * FROM
	(SELECT Счет [Счет $Счет.Основной]
		, Субконто1 [ТМЦ $Субконто]
		, Субконто2 [Контрагент $Субконто]
		, КоличествоОборотДт AS Кво90
		, СуммаОборотДт AS Сумма90
		, Субконто1_вид ТМЦ_вид
		, Субконто2_вид Контрагент_вид
		, Right(ПозицияДокумента, 9) [Док $Документ]
		, ВидДокумента Док_вид
	FROM $БИОбороты.Основной(:Дата1, :Дата2 ~,
			Документ,,
			(Счет IN (SELECT Val FROM #Acc)),
			(ТМЦ,Контрагенты),,,
		)БИОборотыОсновной) БИОборотыОсновной
	LEFT JOIN
	(SELECT Счет [СчетО $Счет.Основной]
		, Субконто1 [ТМЦО $Субконто]
		, Субконто1_вид ТМЦО_вид
		, СуммаОстаток AS СуммаОст
	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #Acc)),
			ТМЦ,
		)БИОстаткиОсновной) БИОстаткиОсновной ON БИОборотыОсновной.Субконто1 = БИОстаткиОсновной.Субконто1 


Ругается: Invalid column name 'Субконто1'

Ещё пробовала штук 20 вариаций на этот мотив, вид сбоку...
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #20 - 23. Апреля 2009 :: 08:17
Печать  
Во втором варианте ошибок меньше.  Улыбка Осталось

БИОборотыОсновной.Субконто1 = БИОстаткиОсновной.Субконто1

исправить - полей Субконто1 нет в обоих подзапросах.

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #21 - 23. Апреля 2009 :: 08:28
Печать  
berezdetsky писал(а) 23. Апреля 2009 :: 08:17:
полей Субконто1 нет в обоих подзапросах.

Как так? А какие есть? ТМЦ и ТМЦО? Так вариант
Код
Выбрать все
SELECT * FROM
	(SELECT Счет [Счет $Счет.Основной]
		, Субконто1 [ТМЦ $Субконто]
		, Субконто2 [Контрагент $Субконто]
		, КоличествоОборотДт AS Кво90
		, СуммаОборотДт AS Сумма90
		, Субконто1_вид ТМЦ_вид
		, Субконто2_вид Контрагент_вид
		, Right(ПозицияДокумента, 9) [Док $Документ]
		, ВидДокумента Док_вид
	FROM $БИОбороты.Основной(:Дата1, :Дата2 ~,
			Документ,,
			(Счет IN (SELECT Val FROM #Acc)),
			(ТМЦ,Контрагенты),,,
		)БИОборотыОсновной) БИОборотыОсновной
	LEFT JOIN
	(SELECT Счет [СчетО $Счет.Основной]
		, Субконто1 [ТМЦО $Субконто]
		, Субконто1_вид ТМЦО_вид
		, СуммаОстаток AS СуммаОст
	FROM $БИОстатки.Основной(:Дата1,,(Счет IN (SELECT Val FROM #Acc)),
			ТМЦ,
		)БИОстаткиОсновной) БИОстаткиОсновной ON БИОборотыОсновной.ТМЦ = БИОстаткиОсновной.ТМЦО 


Выдаёт Invalid column name 'ТМЦ'
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #22 - 23. Апреля 2009 :: 08:43
Печать  
Поля у тебя называются [ТМЦ $Субконто] и [ТМЦО $Субконто]. В ТМЦ и ТМЦО с типизацией они превращаются на этапе получения результата в 1С. Соответственно, типизацию в подзапросах обычно не прописывают. Но, если уже написала, пиши в соединении

БИОборотыОсновной.[ТМЦ $Субконто] = БИОстаткиОсновной.[ТМЦО $Субконто]
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #23 - 23. Апреля 2009 :: 08:57
Печать  
berezdetsky писал(а) 23. Апреля 2009 :: 08:43:
Поля у тебя называются [ТМЦ $Субконто] и [ТМЦО $Субконто].

Мама...  
Получилось таки! Улыбка Спасибо за шефство, я стараюсь, чесслово.
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #24 - 13. Мая 2009 :: 12:15
Печать  
Всё было замечательно и вдруг. Простой запрос, а фильтр по ТМЦ не работает. Если ставим условие на ТМЦ, то запрос пустой. Фильтр по местам хранения работает нормально. Единственная особенность: тип субконто "ТМЦ" - "Справочник" неопределённого вида.
Код
Выбрать все
SELECT
		 БИОстаткиОбороты.Субконто1 [ТМЦ $Субконто]
		, БИОстаткиОбороты.Субконто1_вид ТМЦ_вид
		, БИОстаткиОбороты.Субконто2 [МестаХранения $Субконто]
		, БИОстаткиОбороты.Субконто2_вид МестаХранения_вид
		, БИОстаткиОбороты.КоличествоНачальныйОстаток AS НачКво
		, (БИОстаткиОбороты.КоличествоКонечныйОстаток) AS КонКво
	FROM $БИОстаткиОбороты.Основной(:Дата1, :Дата2 ~,
			,,,
			(Счет IN (SELECT Val FROM #Acc)),
			(ТМЦ,МестаХранения),(Субконто1 IN (SELECT Val FROM #TC))AND(Субконто2 IN (SELECT Val FROM #TM))
		) AS БИОстаткиОбороты
WHERE ((КоличествоНачальныйОстаток <>0)OR(КоличествоКонечныйОстаток <>0))
 


Что делать?
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #25 - 13. Мая 2009 :: 12:27
Печать  
УложитьСписокОбъектов13()?
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #26 - 13. Мая 2009 :: 12:51
Печать  
alexdd писал(а) 22. Апреля 2009 :: 20:01:


Про те запросы я уже разобралась и всё заработало, спасибо Вам и berezdetsky Улыбка

Я просто не хочу плодить темы, поэтому пишу в этой новую проблему.
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #27 - 13. Мая 2009 :: 13:11
Печать  
Ёлки, отвечаю чёрти на что  Нерешительный, сорри.
Да, помогло, спасибо! только вот с фильтром по группе справочника как-то не хорошо получится...
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #28 - 13. Мая 2009 :: 13:35
Печать  
Улыбка
мда, с группами не хорошо, ну тогда все-таки УложитьСписокОбъектов() и
Субконто1 in (select $ВидСправочника36.ТМЦ + val from #TC)

или
left(Субконто1,4) = $ВидСправочника36.ТМЦ and right(Субконто1,9) in (select val from #TC)
что будет быстрее не знаю, нужно проверить
  
Наверх
 
IP записан
 
Ptitz
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Июля 2008
Re: Почему: "Получаемая строка превысит допустимые размеры"?
Ответ #29 - 13. Мая 2009 :: 13:39
Печать  
Спасибо... Улыбка буду пробовать
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать