Имя: Пароль:
1C
1С v8
v8: как реализовать такое в скд
0 ponaroshku
 
16.12.11
08:03
Здравствуйте!

Есть запрос, в котором есть 2 столбца, выводимых в виде

Регистратор     ПоступлениеУслуг        РеализацияУслуг
док1               услуга1
док2               услуга2
док3                                       услуга3
                   ...    


где
ПоступлениеУслуг  это ПоступлениеТоваровУслугУслуги.Содержание РеализацияУслуг это РеализацияТоваровУслуг.Содержание


Хотелось бы получить в виде


Регистратор     СодержаниеУслуги        
док1              услуга1
док2              услуга2
док3              услуга3                        
                   ...  



Подскажите пожалуйста, как объединить эти два столбца?

заранее спасибо
1 Wobland
 
16.12.11
08:06
выбор когда поступление не есть NULL тогда поступление.содержимое иначе реализация.содержимое конец
оба сразу, я так понимаю, заполненными оказаться не могут?
2 John83
 
16.12.11
08:08
ОБЪЕДИНИТЬ ВСЕ не подходит?
3 ponaroshku
 
16.12.11
08:08
(1) и снова привет:)))
да, не могут, документы-регистраторы разные же

сейчас попробую
4 Wobland
 
16.12.11
08:08
(2) ей два поля в одно слить надо
5 badboychik
 
16.12.11
08:10
из исходного запроса сделать подзапрос и в основном использовать ВЫБОР
6 Wobland
 
16.12.11
08:11
выбор когда регистратор ссылка документ.поступление тогда
поступление.содержание
иначе выбор когда регистратор ссылка документ.реализация тогда
реализация.содержание
иначе
"-"
конец
7 ponaroshku
 
16.12.11
08:48
(6) попробовала таким способом

ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг.Услуги ТОГДА
       ПоступлениеТоваровУслугУслуги.Содержание
       ИНАЧЕ ВЫБОР КОГДА Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг.Услуги ТОГДА
               РеализацияТоваровУслугУслуги.Содержание
               ИНАЧЕ
               истина
               конец
       КОНЕЦ


Написал Несовместимые типы "ВЫБОР"
ИНАЧЕ <<?>>ВЫБОР КОГДА Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг.Услуги ТОГДА


Я думаю из-за того, что я к табличной части обращаюсь, ему это скорей всего не нравится

Ушла в отладку:)
8 Wobland
 
16.12.11
08:49
.Услуги выкинь в выборе
9 Wobland
 
16.12.11
08:49
и зачем иначе истина? у тебя ж там строки вроде
10 ponaroshku
 
16.12.11
08:50
(9) на "-" ругнулось, пока истина написала
11 Wobland
 
16.12.11
08:51
(10) в коде? ""-"" тогда
12 ponaroshku
 
16.12.11
08:52
(10) в коде, счас поставлю
13 Defender aka LINN
 
16.12.11
08:55
(7) Это потому, что Реализация не модет быть регистратором
14 Wobland
 
16.12.11
08:56
(13) или ТЧ у неё не может быть регистратором?
15 Defender aka LINN
 
16.12.11
08:57
(14) При чем тут ТЧ вообще?
16 ponaroshku
 
16.12.11
08:59
(13) (14) я конечно могу ошибаться, но думаю ошибка не в этом, ведь в конструкторе запросов в данном регистре как регистратор есть и поступление, и реализация, и ТЧ услуги в них

Сейчас убрала .Услуги и поставила ""-"", выдало
Синтаксическая ошибка "Написал"
<<?>>Написал Несовместимые типы "ВЫБОР"
17 Wobland
 
16.12.11
09:00
(15) я вот не знаю, как платформа такое воспримет
ССЫЛКА Документ.РеализацияТоваровУслуг.Услуги
18 ponaroshku
 
16.12.11
09:00
(15) выбираются только из ТЧ услуги данные
19 Wobland
 
16.12.11
09:00
(16) ну ты или голову включи или уж тогда больше информации выдавай
20 Defender aka LINN
 
16.12.11
09:02
(17) Уууу. Я че-то и не заметил даже :)
21 ponaroshku
 
16.12.11
09:03
(19) сделала "-"
теперь все выглядит как

ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ТОГДА
       ПоступлениеТоваровУслугУслуги.Содержание
      ИНАЧЕ ВЫБОР КОГДА Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ТОГДА
               РеализацияТоваровУслугУслуги.Содержание
               ИНАЧЕ
               "-"
               конец
       КОНЕЦ


Ошибка меняется на {(20, 5)}: Операция не разрешена в предложении "ГДЕ"
И <<?>>ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ТОГДА


я и так думаю, в сп зависаю, с этой конструкцией (выбор когда) сегодня впервые столкнулась
22 Wobland
 
16.12.11
09:06
в ГДЕ нельзя выбор использовать
23 Wobland
 
16.12.11
09:07
откуда это вообще в ГДЕ попало?
24 НЕА123
 
16.12.11
09:15
(22)
>в ГДЕ нельзя выбор использовать

использую. или есть какие-то ограничения?
25 Wobland
 
16.12.11
09:19
(24) хм, а у меня где-то не получалось
26 Wobland
 
16.12.11
09:21
что ж тогда ошибка в (21) значит?
Понарошка, давай уже весь запрос. ну или скажи, что всё работает уже
27 Defender aka LINN
 
16.12.11
09:22
(22) Нуну
28 ponaroshku
 
16.12.11
10:01
(23) в запрос же идет

(24) я в инете посмотрела примеры реализации, видела, что в где используется, поэтому и поставила

Вообщем весь запрос

 ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
   ВзаиморасчетыСКонтрагентамиОбороты.Организация КАК Организация,
   ВзаиморасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент,
   ВзаиморасчетыСКонтрагентамиОбороты.Регистратор КАК Регистратор,
   ВЫРАЗИТЬ(ПоступлениеТоваровУслугУслуги.Содержание КАК СТРОКА(100)) КАК УслугиПоступление,
   СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход) КАК СуммаВзаиморасчетовРасход,
   СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход) КАК СуммаВзаиморасчетовПриход,
   ВЫРАЗИТЬ(РеализацияТоваровУслугУслуги.Содержание КАК СТРОКА(100)) КАК УслугиРеализация

ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, , Авто, ) КАК ВзаиморасчетыСКонтрагентамиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
       ПО ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
       ПО ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Ссылка = РеализацияТоваровУслугУслуги.Ссылка
ГДЕ
   ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
   И ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг.Услуги ТОГДА
       ПоступлениеТоваровУслугУслуги.Содержание
       ИНАЧЕ ВЫБОР КОГДА Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг.Услуги ТОГДА
               РеализацияТоваровУслугУслуги.Содержание
               ИНАЧЕ
               "-"
               конец
       КОНЕЦ
   
СГРУППИРОВАТЬ ПО
   ВзаиморасчетыСКонтрагентамиОбороты.Организация,
   ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
   ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента,
   ВзаиморасчетыСКонтрагентамиОбороты.Регистратор,
   ВЫРАЗИТЬ(ПоступлениеТоваровУслугУслуги.Содержание КАК СТРОКА(100)),
   ВЫРАЗИТЬ(РеализацияТоваровУслугУслуги.Содержание КАК СТРОКА(100))

УПОРЯДОЧИТЬ ПО
   Организация,
   Контрагент,
   ДоговорКонтрагента,
   Регистратор,
   УслугиПоступление,
   УслугиРеализация,
   СуммаВзаиморасчетовПриход,
   СуммаВзаиморасчетовРасход


Ошибка {(19, 4)}: Операция не разрешена в предложении "ГДЕ"
И <<?>>ВЫБОР КОГДА Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг.Услуги ТОГДА


полазила по форуму, не могу найти что-нибудь похожее
29 ponaroshku
 
16.12.11
10:02
+(28) и без .Услуги пробовала тоже
30 Wobland
 
16.12.11
10:03
почему этот ВЫБОР в ГДЕ, а не в ВЫБРАТЬ?
31 Wobland
 
16.12.11
10:04
>ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
даты в параметры таблицы засунь
32 Wobland
 
16.12.11
10:05
и две таблицы, с которыми соединяешь, нафих тут не нужны
33 Wobland
 
16.12.11
10:08
Регистратор.Содержание вообще не проще вместо всяких ВЫБОРОВ?
34 Wobland
 
16.12.11
10:08
переписывай запрос, потом доложишь
35 ponaroshku
 
16.12.11
10:09
(33) Регистратор.Содержание не содержит этих данных, я пробовала просто его выводить, пустой
36 ponaroshku
 
16.12.11
10:09
(32) иначе если в поступлении есть доки, в реализации нет доки, результат запроса был пустым
37 Wobland
 
16.12.11
10:11
(35) там ТЧ, да, не заметил. из ГДЕ убери в ВЫБРАТЬ
2) даты в параметры таблицы
3) группировать на зачем? это обороты, там уже всё сгруппировано
38 ponaroshku
 
16.12.11
10:12
(37) просто выбрать разрешенные
               выбор.......
?

сейчас
39 teapot123
 
16.12.11
10:13
в ВЫБРАТЬ поставь "Регистратор.Содержание"
в ГДЕ: "Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ИЛИ Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг"
40 ponaroshku
 
16.12.11
10:15
(39) мне ТЧ нужна, Регистратор.Содержание не содержит данных из ТЧ услуги доков поступления и реализации

пробую по (37)
41 teapot123
 
16.12.11
10:17
(40)Регистратор.ТЧ.Содержание
42 Wobland
 
16.12.11
10:18
(41) какую строку из ТЧ? не взлетит
43 ponaroshku
 
16.12.11
10:19
(41) так нельзя, в регистраторе такого нет
44 Wobland
 
16.12.11
10:20
ну-ка вот это попробуй

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
   ВзаиморасчетыСКонтрагентамиОбороты.Организация КАК Организация,
   ВзаиморасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент,
   ВзаиморасчетыСКонтрагентамиОбороты.Регистратор КАК Регистратор,
   ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход,
   ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход,
   ВЫБОР
       КОГДА ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг.Услуги
           ТОГДА ПоступлениеТоваровУслугУслуги.Содержание
       КОГДА ВзаиморасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг.Услуги
           ТОГДА РеализацияТоваровУслугУслуги.Содержание
       ИНАЧЕ "-"
   КОНЕЦ КАК Поле1
ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&ДатаНачала, &ДатаОкончания, Авто, ) КАК ВзаиморасчетыСКонтрагентамиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
       ПО ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
       ПО ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.Ссылка = РеализацияТоваровУслугУслуги.Ссылка
45 Wobland
 
16.12.11
10:21
ПО ВзаиморасчетыСКонтрагентамиОбороты.Регистратор= ПоступлениеТоваровУслугУслуги.Ссылка

чуть правильнее будет
46 ponaroshku
 
16.12.11
10:26
(44) жесть:)
ошибка SDBL
ожидается , или ) (pos = 210)

и закрылось
47 Wobland
 
16.12.11
10:29
(46) сколько раз говорить одно и то же? ССЫЛКА Документ.РеализацияТоваровУслуг! а я тупо копипастил
48 ponaroshku
 
16.12.11
10:32
(47) я в другом ошиблась, регистратор неправильно поставила
всее:))) работает, спасибо
49 Wobland
 
16.12.11
10:33
неа, не работает. соединять надо не только по регистратору, но и по номенклатуре, характеристике, что ещё там...
50 ponaroshku
 
16.12.11
10:35
(49) я контрагента и договор контрагента еще включить думаю для полного счастья
51 Wobland
 
16.12.11
10:51
(50) у тебя это в строках ТЧ?