Имя: Пароль:
1C
1С v8
Вопрос по СКД
0 KarpovDeniska
 
03.10.11
14:37
В колонках таблицы вывожу валюту из документа, если валюта USD,то необходимо рядом выводить ещё и курс, если валюта руб., тогда вообще ничего не выводить( значения типа "" или 0 не подходят, нужно чтобы колонка вообще не появлялась). Подскажите как такое можно осуществить.
1 KarpovDeniska
 
03.10.11
15:08
Up
2 IronDemon
 
03.10.11
15:23
После вывода поработать с ТЧ. Найти нужные ячейки и объединить.
3 KarpovDeniska
 
03.10.11
15:29
ну да, просто не хотелось дописывать после вывода, думал мож по другому можно
4 PVV65
 
03.10.11
15:32
(3) Можно и по другому, например, использую выражение представления для валюты.
5 dimoff
 
03.10.11
15:34
(0) Запрос покажи
6 KarpovDeniska
 
03.10.11
16:17
ВЫБРАТЬ
   ВложенныйЗапрос.Ссылка КАК Документ,
   ВложенныйЗапрос.Контейнер,
   ВложенныйЗапрос.ТипДока
ПОМЕСТИТЬ ВТ
ИЗ
   (ВЫБРАТЬ
       ВложенныйЗапрос.Ссылка КАК Ссылка,
       ВложенныйЗапрос.Контейнер КАК Контейнер,
       ВложенныйЗапрос.ТипДока КАК ТипДока
   ИЗ
       (ВЫБРАТЬ
           ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка,
           ПоступлениеТоваровУслугТовары.Ссылка.Контейнер КАК Контейнер,
           ВЫБОР
               КОГДА ЕСТЬNULL(ПоступлениеТоваровУслугТовары.НомерСтроки, 0) = 0
                   ТОГДА 0
               ИНАЧЕ 1
           КОНЕЦ КАК ТипДока
       ИЗ
           Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
       ГДЕ
           ПоступлениеТоваровУслугТовары.Ссылка.Контейнер = &Контейнер
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПоступлениеТоваровУслугУслуги.Ссылка,
           ПоступлениеТоваровУслугУслуги.Ссылка.Контейнер,
           ВЫБОР
               КОГДА ЕСТЬNULL(ПоступлениеТоваровУслугУслуги.НомерСтроки, 0) = 0
                   ТОГДА 0
               ИНАЧЕ -1
           КОНЕЦ
       ИЗ
           Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
       ГДЕ
           ПоступлениеТоваровУслугУслуги.Ссылка.Контейнер = &Контейнер) КАК ВложенныйЗапрос
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       ПеремещениеТоваров.Ссылка,
       ПеремещениеТоваров.Контейнер,
       0
   ИЗ
       Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
   ГДЕ
       ПеремещениеТоваров.Контейнер = &Контейнер) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   РаспределениеДопРасходовПриПеремещении.СтатьяЗатрат,
   РаспределениеДопРасходовПриПеремещении.Сумма КАК СуммаЗатрат,
   РаспределениеДопРасходовПриПеремещении.ВалютаДокумента,
   ВТ.Документ КАК Документ,
   ВТ.Контейнер,
   ВТ.ТипДока,
   ВЫБОР
       КОГДА ВТ.Документ ССЫЛКА Документ.ПоступлениеТоваровУслуг
           ТОГДА ВТ.Документ.СуммаДокумента
       ИНАЧЕ "-"
   КОНЕЦ КАК СуммаДокумента,
   ВЫБОР
       КОГДА ВТ.Документ ССЫЛКА Документ.ПоступлениеТоваровУслуг
           ТОГДА ВТ.Документ.НомерВходящегоДокумента
       ИНАЧЕ "-"
   КОНЕЦ КАК НомерВходящегоДокумента,
   0 КАК Склад
ИЗ
   ВТ КАК ВТ
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеДопРасходовПриПеремещении КАК РаспределениеДопРасходовПриПеремещении
       ПО ВТ.Контейнер = РаспределениеДопРасходовПриПеремещении.Контейнер

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   NULL,
   NULL,
   NULL,
   ВложенныйЗапрос.Ссылка,
   ВложенныйЗапрос.ДокументОснованиеКонтейнер,
   NULL,
   NULL,
   NULL,
   ВЫБОР
       КОГДА ВложенныйЗапрос.Ссылка ССЫЛКА Документ.СписаниеТоваров
           ТОГДА ВЫБОР
                   КОГДА ВложенныйЗапрос.Ссылка.Склад.Код = "00003"
                       ТОГДА 1
                   ИНАЧЕ 0
               КОНЕЦ
       ИНАЧЕ 0
   КОНЕЦ
ИЗ
   (ВЫБРАТЬ
       СписаниеТоваров.Ссылка КАК Ссылка,
       СписаниеТоваров.ДокументОснование.Контейнер КАК ДокументОснованиеКонтейнер
   ИЗ
       Документ.СписаниеТоваров КАК СписаниеТоваров
   ГДЕ
       СписаниеТоваров.ДокументОснование.Контейнер = &Контейнер
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       ОприходованиеТоваров.Ссылка,
       ОприходованиеТоваров.ДокументОснование.ДокументОснование.Контейнер
   ИЗ
       Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
   ГДЕ
       ОприходованиеТоваров.ДокументОснование.ДокументОснование.Контейнер = &Контейнер) КАК ВложенныйЗапрос
7 KarpovDeniska
 
03.10.11
16:28
Мож тогдауж кто нить подскажет более простые способы вытащить структуру подчинённости документа чем код, приведённый выше
8 KarpovDeniska
 
03.10.11
16:29
(4) а как в выражении представления указать что надо выводить и курс и валюту???
9 IronDemon
 
03.10.11
16:31
(8) Примерно так устроит? "USD / 7.90", "грн."
10 IronDemon
 
03.10.11
16:32
11 KarpovDeniska
 
03.10.11
16:39
(9) аа нуда, спасибо