Имя: Пароль:
1C
1С v8
Как сделать так, чтобы СКД съела вот такой запрос?
0 siggoron
 
26.02.13
20:31
Как сделать так, чтобы СКД съела вот такой запрос:


ВЫБРАТЬ
   ТЗ_ТелефоныНеДляОбзвона.Телефон КАК Телефон
ПОМЕСТИТЬ ТЗ_ТелефоныНеДляОбзвона
ИЗ
   &ТЗ_ТелефоныНеДляОбзвона КАК ТЗ_ТелефоныНеДляОбзвона
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТЗ_ТелефоныНеДляОбзвона.Телефон
ИЗ
   ТЗ_ТелефоныНеДляОбзвона КАК ТЗ_ТелефоныНеДляОбзвона
1 BAPBAP
 
26.02.13
20:35
Внешние источники данных
2 siggoron
 
26.02.13
20:36
я в СКД создаю набор данных Объект с именем ТЗ_ТелефоныНеДляОбзвона ?
3 siggoron
 
26.02.13
20:37
(1) я в СКД создаю набор данных Объект с именем ТЗ_ТелефоныНеДляОбзвона ?
4 Defender aka LINN
 
26.02.13
20:37
(2) Ну, тебе видней - создаешь ты, или нет
5 BAPBAP
 
26.02.13
20:38
(2) (3) Да
6 IamAlexy
 
26.02.13
20:39
набор данных объект
7 siggoron
 
26.02.13
20:40
(5) (6) Добавил, СКД всё равно ругается:

Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(5, 2)}: Неверные параметры "ТЗ_ТелефоныНеДляОбзвона"
<<?>>&ТЗ_ТелефоныНеДляОбзвона КАК ТЗ_ТелефоныНеДляОбзвона
8 Defender aka LINN
 
26.02.13
20:42
(7) Тебе ж сказали: набор данных - ОБЪЕКТ
9 Fragster
 
гуру
26.02.13
20:42
(7) желания читать документацию нет?
10 BAPBAP
 
26.02.13
20:42
Текст запроса в таком случае не нужен. СКД формируешь программно. Таблицу значений передаешь как параметр функции Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных)
11 MadHead
 
26.02.13
20:43
в запрос к тз обратиться не получится, но создав источник данных объект в запросе вообще отпадает нужда так как там будут все данные. Из источника данных можно данные вывести или объеденить их с другим источником данных
12 IamAlexy
 
26.02.13
20:44
13 BAPBAP
 
26.02.13
20:44
14 GANR
 
26.02.13
20:45
(0) никак, только (1)
15 siggoron
 
26.02.13
20:48
фишка в том что мне необходим СКД для того чтобы пользователь мог настраивать себе отборы, но при этом в его выборке и участвовала программно созданная ТЗ.
16 IamAlexy
 
26.02.13
20:49
(15) необходим - сделай..
ничего волшебного нет..
внешний источник данных которому ты скармливает таблицу значений..

завязывай тупить, делай уже
17 siggoron
 
26.02.13
20:53
(16) блин у меня первый запрос должен быть на СКД (т.к. необходимо использовать пользовательские отборы) и он анализирует одни таблицы, но в определенный момент должен обратиться и к другой таблице которая создана программно.
так вот как это сделать?
18 Fragster
 
гуру
26.02.13
20:54
(17) соединение наборов, объединение наборов...
19 siggoron
 
26.02.13
20:56
(18) вне необходимо не соединение, а проверка входит ли значение поля запроса СКД в внешнюю таблицу
20 YHVVH
 
26.02.13
21:04
набор данных объект там имя задаешь у меня например тзSQL

а дальше пишешь В ПриКомпоновкеРезультата

....


ВнешниеНаборыДанных = Новый Структура;
   ВнешниеНаборыДанных.Вставить("тзSQL",тз);

   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
                                                         КомпоновщикНастроек.ПолучитьНастройки());

   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,
                                          ВнешниеНаборыДанных);
21 YHVVH
 
26.02.13
21:05
он у тебя как набор данных попадает
22 YHVVH
 
26.02.13
21:07
у меня половина данных хранилось в SQL табличках , половина в 1с

чтоб СКД использовать приходилось объединять два набора

один создаешь программно и программно запихиваешь его
23 badboychik
 
26.02.13
21:10
я делал такое, программно на ура задается
24 badboychik
 
26.02.13
21:11
делал модифицированную консоль запросов с 5 табличными частями к которым можно было запросы делать, удобно когда не хочется создавать справочники и объекты, а надо оттестить какие нибудь итоги сложные
25 siggoron
 
26.02.13
21:13
(20) Это понятно, а как ты потом свою "тзSQL" в другом запросе СКД используешь?
26 GANR
 
26.02.13
21:17
Не надо СКД такими запросами кормить!!! От сухомятки сами знаете, что бывает !
27 hhhh
 
26.02.13
21:44
вот из БП 2.0, отлично работает

Процедура ДоработатьКомпоновщикПередВыводом(ВнешниеНаборыДанных) Экспорт
   
   ВнешниеНаборыДанных = Новый Структура;
   ВыборкаДанных = ПолучитьВыборку();
   ВнешниеНаборыДанных.Вставить("ТаблицаДанных", ВыборкаДанных);

   ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "Период", КонецДня(Период));
   ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "Рубли",  Константы.ВалютаРегламентированногоУчета.Получить());
   Если ЗначениеЗаполнено(Организация) Тогда
       ТиповыеОтчеты.ДобавитьОтбор(КомпоновщикНастроек, "Организация", Организация);
   КонецЕсли;
   
КонецПроцедуры

а в функции произвольный запрос можно

Функция ПолучитьВыборку()
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    Хозрасчетный.Ссылка КАК Счет
   |ПОМЕСТИТЬ СчетаКассы
   |ИЗ
   |    ПланСчетов.Хозрасчетный КАК Хозрасчетный
   |ГДЕ
   |    Хозрасчетный.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Касса))
       |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    Хозрасчетный.Ссылка КАК Счет
   |ПОМЕСТИТЬ СчетаУчетаБезналичные
   |ИЗ
   |    ПланСчетов.Хозрасчетный КАК Хозрасчетный
   |ГДЕ

...

   Возврат Запрос.Выполнить();

КонецФункции
28 YHVVH
 
26.02.13
22:00
(25) в другом СКД? ни как,  только в этом
Независимо от того, куда вы едете — это в гору и против ветра!