Имя: Пароль:
1C
1C 7.7
v7: приведение типа в прямом запросе
,
0 Wobland
 
28.11.12
12:48
имею такую штуку:
       ТекстЗапроса="
       |SELECT
       |    Ном=(CASE WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыТовар THEN :НекийТовар
       |        WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыУслуга OR $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыРабота THEN :НекаяУслуга
       |        ELSE $ТЧ.Номенклатура END) [$Справочник.Номенклатура],
       //|    $ТЧ.Номенклатура [$Справочник.Номенклатура],

Ном (как я подозреваю) получается типа varchar. а как получить значение типа справочник.номенклатура по аналогии с закомментированной строкой?
1 Wobland
 
28.11.12
12:49
поправка. вот такую штуку имею:
       ТекстЗапроса="
       |SELECT
       |    Ном=(CASE WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыТовар THEN :НекийТовар
       |        WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыУслуга OR $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыРабота THEN :НекаяУслуга
       |        ELSE $ТЧ.Номенклатура END),
       //|    $ТЧ.Номенклатура [$Справочник.Номенклатура],
2 Mikeware
 
28.11.12
12:50
НекийТовар, НекаяУслуга - какого вида?
3 AeDen
 
28.11.12
12:52
Ежели не ошибаюсь,
|SELECT
       |    (CASE WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыТовар THEN :НекийТовар
       |        WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыУслуга OR $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыРабота THEN :НекаяУслуга
       |        ELSE $ТЧ.Номенклатура END)as [Ном, $Справочник.Номенклатура],
4 Андрей_Андреич
 
naïve
28.11.12
12:54
(3) в фразе [Ном, $Справочник.Номенклатура] запятая нужна или нет? я всегда без нее
5 Ёпрст
 
28.11.12
12:54
(3) зпт лишняя
6 Ёпрст
 
28.11.12
12:55
(4) не нужна
7 Ёпрст
 
28.11.12
12:55
там можно as писать
8 Wobland
 
28.11.12
12:55
(4) комментарий работает
(2)    спр=СоздатьОбъект("Справочник.Номенклатура");
   док=СоздатьОбъект("Документ.ОтчетККМ");
   спр.НайтиПоКоду("SM000460");
   НекийТовар=спр.ТекущийЭлемент();
   спр.НайтиПоКоду("SM000461");
   НекаяУслуга=спр.ТекущийЭлемент();
9 Wobland
 
28.11.12
12:58
       ТекстЗапроса="
       |SELECT
       |    (CASE WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыТовар THEN :НекийТовар
       |        WHEN $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыУслуга OR $Номенклатура.ВидНоменклатуры=:ВидНоменклатурыРабота THEN :НекаяУслуга
       |        ELSE $ТЧ.Номенклатура END) AS [Ном $Справочник.Номенклатура],

взлетело, спасибо
10 AeDen
 
28.11.12
13:40
(5) почти год уже не писал ничего, поэтому забывается :)