Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Что-то типа УложитьСписокОбъектов, но с документами (число прочтений - 2628 )
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Что-то типа УложитьСписокОбъектов, но с документами
20. Января 2012 :: 06:36
Печать  
Подскажите, как выбрать из регистра, при условии что документ , регистрирующий движение регистра, должен быть один из списка значений?
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #1 - 20. Января 2012 :: 06:42
Печать  
УложитьСписокОбъектов работает с любыми объектами ...
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #2 - 20. Января 2012 :: 06:49
Печать  
То есть УложитьСписокОбъектов(СписокДокументов, "#СписокДокументов", "Документ") ?
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #3 - 20. Января 2012 :: 07:28
Печать  
Третий параметр только для справочников!
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #4 - 20. Января 2012 :: 07:49
Печать  
Вот так подсказывают сделать
Код
Выбрать все
рс.УложитьСписокОбъектов13(СписокДокументов,"#СписокДокументов"); 


Сейчас попробую.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #5 - 20. Января 2012 :: 07:49
Печать  
Dmitry The Wing писал(а) 20. Января 2012 :: 06:42:
УложитьСписокОбъектов работает с любыми объектами ...


А вот и нет..
только с агрегатными.
Строки, к примеру, в него не запихнешь и не уложишь - будет пытаться их привести к ID = 9 ..
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #6 - 20. Января 2012 :: 07:55
Печать  
Eprst писал(а) 20. Января 2012 :: 07:49:
Строки, к примеру, в него не запихнешь и не уложишь - будет пытаться их привести к ID = 9 ..


Тогда в запросе в этом случае надо так
RIGHT($Журнал.IDDOC, 9) IN (SELECT Val FROM #СписокДокументов) ?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #7 - 20. Января 2012 :: 07:57
Печать  
Нет, я не об этом..
К примеру, список ИНН не уложишь в список через УложитьОбъекты.
Или список Наименований там.
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #8 - 20. Января 2012 :: 08:05
Печать  
Eprst писал(а) 20. Января 2012 :: 07:49:
Dmitry The Wing писал(а) 20. Января 2012 :: 06:42:
УложитьСписокОбъектов работает с любыми объектами ...

А вот и нет..
только с агрегатными.
Строки, к примеру, в него не запихнешь и не уложишь - будет пытаться их привести к ID = 9 ..
Строки - это не объекты.
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #9 - 20. Января 2012 :: 08:29
Печать  
Короче взлетело вот так:
Код
Выбрать все
	ТекстЗапроса = "
		|SELECT Продажи.IDDOC [Документ $Документ]
		|	, $Продажи.Покупатель [Покупатель $Справочник.Контрагенты]
		|	, $Продажи.Номенклатура [Номенклатура $Справочник.Номенклатура]
		|	, $Продажи.Количество Количество
		|	, Продажи.IDDOCDEF Документ_вид
		|FROM $Регистр.Продажи AS Продажи
		|WHERE (RIGHT(Продажи.IDDOC,9) IN (SELECT val FROM #СписокДокументов))
		|";

	рс.УложитьСписокОбъектов(СписокДокументов, "#СписокДокументов"); 





и НЕ ВЗЛЕТЕЛО вот так:

Код
Выбрать все
	ТекстЗапроса = "
		|SELECT Продажи.IDDOC [Документ $Документ]
		|	, $Продажи.Покупатель [Покупатель $Справочник.Контрагенты]
		|	, $Продажи.Номенклатура [Номенклатура $Справочник.Номенклатура]
		|	, $Продажи.Количество Количество
		|	, Продажи.IDDOCDEF Документ_вид
		|FROM $Регистр.Продажи AS Продажи
		|WHERE (Продажи.IDDOC IN (SELECT val FROM #СписокДокументов))
		|";

	рс.УложитьСписокОбъектов13(СписокДокументов, "#СписокДокументов"); 


  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #10 - 20. Января 2012 :: 08:38
Печать  
Андрюха писал(а) 20. Января 2012 :: 07:55:
RIGHT($Журнал.IDDOC, 9) IN (SELECT Val FROM #СписокДокументов) ?
Так к слову: RIGHT($Журнал.IDDOC, 9) = $Журнал.IDDOC Подмигивание
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #11 - 20. Января 2012 :: 08:52
Печать  
Dmitry The Wing писал(а) 20. Января 2012 :: 08:38:
Так к слову: RIGHT($Журнал.IDDOC, 9) = $Журнал.IDDOC Подмигивание


Ага, спасибо, так еще шустрее стало:
Код
Выбрать все
WHERE (Продажи.IDDOC IN (SELECT val FROM #СписокДокументов)) 


  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #12 - 20. Января 2012 :: 09:27
Печать  
Андрюха писал(а) 20. Января 2012 :: 08:52:
Ага, спасибо, так еще шустрее стало:
Код
Выбрать все
WHERE (Продажи.IDDOC IN (SELECT val FROM #СписокДокументов)) 

Про размерность полей таблиц легко вычитать из 1CV7.DD.

Или даже запомнить: неопределенный реквизит - 23, тип без вида - 13, тип с видом - 9.

Хотя, зачем в неопределенном 23 - я не понимаю, т.к. к 13 там только два символа спереди прибавляются.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Что-то типа УложитьСписокОбъектов, но с документами
Ответ #13 - 23. Января 2012 :: 03:30
Печать  
Dmitry The Wing писал(а) 20. Января 2012 :: 08:38:
Андрюха писал(а) 20. Января 2012 :: 07:55:
RIGHT($Журнал.IDDOC, 9) IN (SELECT Val FROM #СписокДокументов) ?
Так к слову: RIGHT($Журнал.IDDOC, 9) = $Журнал.IDDOC Подмигивание


Так, к слову - $Журнал.IDDoc метапарсер вообще не переварит
$ там не нужен

Цитата:
Хотя, зачем в неопределенном 23 - я не понимаю, т.к. к 13 там только два символа спереди прибавляются.

В Неопределенный могут храниться еще и числа, например. И короткие строки
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать