Имя: Пароль:
1C
1С v8
Как в запросе к Реализации отгруженных товаров подтянуть таблицу Товары
,
0 egorover
 
28.10.11
11:01
Есть запрос

ВЫБРАТЬ
   ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор,
   ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК ВидДеятельности,
   РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС,
   ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
   ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.Регистратор.Контрагент, ХозрасчетныйОборотыДтКт.Регистратор.ДокументОснование.Контрагент) КАК Справочник.Контрагенты) КАК Контрагент,
   НАЧАЛОПЕРИОДА(ХозрасчетныйОборотыДтКт.Период, МЕСЯЦ) КАК Период,
   ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) КАК Себестоимость,
   ЕСТЬNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотКт, 0) КАК КоличествоПоНоменклатуре,
   ВЫБОР
       КОГДА ЕСТЬNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотКт, 0) = 0
           ТОГДА 0
       ИНАЧЕ ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт
   КОНЕЦ КАК ЦенаПостПоНоменклатуре,
   ЕСТЬNULL(РеализацияТоваровУслугТовары.Цена, 0) КАК ЦенаРеалПоНоменклатуре,
   ВЫБОР
       КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
           ТОГДА ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0) - ЕСТЬNULL(РеализацияТоваровУслугТовары.СуммаНДС, 0)
       ИНАЧЕ ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0)
   КОНЕЦ КАК СуммаБезНДСПоНоменклатуре,
   ЕСТЬNULL(РеализацияТоваровУслугТовары.СуммаНДС, 0) КАК СуммаНДСПоНоменклатуре,
   ВЫБОР
       КОГДА РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС
           ТОГДА ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0)
       ИНАЧЕ ЕСТЬNULL(РеализацияТоваровУслугТовары.Сумма, 0) + ЕСТЬNULL(РеализацияТоваровУслугТовары.СуммаНДС, 0)
   КОНЕЦ КАК СуммаСНДСПоНоменклатуре
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Регистратор, СчетДт В ИЕРАРХИИ (&СчетаСебестоимости), , , , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СРЕДНЕЕ(ТОВАРЫ.Цена) КАК Цена,
           ТОВАРЫ.СтавкаНДС КАК СтавкаНДС,
           СУММА(ТОВАРЫ.Сумма) КАК Сумма,
           СУММА(ТОВАРЫ.СуммаНДС) КАК СуммаНДС,
           ТОВАРЫ.Ссылка КАК Ссылка,
           ТОВАРЫ.Номенклатура КАК Номенклатура
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК ТОВАРЫ
       
       СГРУППИРОВАТЬ ПО
           ТОВАРЫ.Номенклатура,
           ТОВАРЫ.СтавкаНДС,
           ТОВАРЫ.Ссылка) КАК РеализацияТоваровУслугТовары
       ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = РеализацияТоваровУслугТовары.Номенклатура
           И ХозрасчетныйОборотыДтКт.Регистратор = РеализацияТоваровУслугТовары.Ссылка
ГДЕ
   (ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
           ИЛИ ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.РеализацияОтгруженныхТоваров)
1 egorover
 
28.10.11
11:05
Вот Регистратор по движению РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт могут быть как документ Документ.РеализацияТоваровУслуг так и Документ.РеализацияОтгруженныхТоваров, если Регистратор Документ.РеализацияТоваровУслуг то все хорошо есть левое соединение -
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СРЕДНЕЕ(ТОВАРЫ.Цена) КАК Цена,
           ТОВАРЫ.СтавкаНДС КАК СтавкаНДС,
           СУММА(ТОВАРЫ.Сумма) КАК Сумма,
           СУММА(ТОВАРЫ.СуммаНДС) КАК СуммаНДС,
           ТОВАРЫ.Ссылка КАК Ссылка,
           ТОВАРЫ.Номенклатура КАК Номенклатура
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК ТОВАРЫ
2 egorover
 
28.10.11
11:07
а если Документ.РеализацияОтгруженныхТоваров то связи нет, как быть? Как соеденить таблицу Товары с Документ.РеализацияОтгруженныхТоваров (Связь между ними - Документ.РеализацияОтгруженныхТоваров.ДокументОтгрузки = Документ.РеализацияОтгруженныхТоваров)
3 egorover
 
28.10.11
11:35
Как бы связь между таблицами описать? -  ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = РеализацияТоваровУслугТовары.Номенклатура
           И (ВЫБОР
               КОГДА ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.РеализацияОтгруженныхТоваров
                   ТОГДА ХозрасчетныйОборотыДтКт.Регистратор.ДокументОтгрузки.Ссылка = РеализацияТоваровУслугТовары.Ссылка
               ИНАЧЕ ХозрасчетныйОборотыДтКт.Регистратор = РеализацияТоваровУслугТовары.Ссылка
           КОНЕЦ) - вот типа это, но это неправильно...
4 egorover
 
28.10.11
14:12
Почему запрос
ВЫБРАТЬ
           СРЕДНЕЕ(ТОВАРЫ.Цена) КАК Цена,
           ТОВАРЫ.СтавкаНДС КАК СтавкаНДС,
           СУММА(ТОВАРЫ.Сумма) КАК Сумма,
           СУММА(ТОВАРЫ.СуммаНДС) КАК СуммаНДС,
           ТОВАРЫ.Ссылка КАК Ссылка,
           ТОВАРЫ.Номенклатура КАК Номенклатура,
           РеализацияОтгруженныхТоваров.Ссылка КАК РеализацияОтгруженныхТоваровСсылка
       ИЗ
           Документ.РеализацияОтгруженныхТоваров КАК РеализацияОтгруженныхТоваров
               ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ТОВАРЫ
               ПО РеализацияОтгруженныхТоваров.ДокументОтгрузки.Ссылка = ТОВАРЫ.Ссылка
       
       СГРУППИРОВАТЬ ПО
           ТОВАРЫ.Номенклатура,
           ТОВАРЫ.СтавкаНДС,
           ТОВАРЫ.Ссылка,
           РеализацияОтгруженныхТоваров.Ссылка
работает
5 egorover
 
28.10.11
14:12
а начинаю соединять
6 egorover
 
28.10.11
14:15
ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = РеализацияТоваровУслугТовары.Номенклатура
           И ХозрасчетныйОборотыДтКт.Регистратор = РеализацияТоваровУслугТовары.РеализацияОтгруженныхТоваровСсылка.Ссылка
7 egorover
 
28.10.11
14:16
данные по таблице РеализацияТоваровУслугТовары не выводит
8 egorover
 
28.10.11
14:17
Господа я конечно понимаю что пятница, но хоть ещё один глас в пустыне может услышать?
9 NetDozor
 
28.10.11
14:32
Сделай так должно получиться:

ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = РеализацияТоваровУслугТовары.Номенклатура
           И (ВЫБОР
               КОГДА ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.РеализацияОтгруженныхТоваров
                   ТОГДА ХозрасчетныйОборотыДтКт.Регистратор.ДокументОтгрузки.Ссылка
               ИНАЧЕ ХозрасчетныйОборотыДтКт.Регистратор
          КОНЕЦ = РеализацияТоваровУслугТовары.Ссылка
10 NetDozor
 
28.10.11
14:33
скобочку в конце еще поставить забыл :)
11 egorover
 
28.10.11
15:10
10 Спасибо
12 egorover
 
28.10.11
15:11
это я дебил
13 egorover
 
28.10.11
15:13
ПО ХозрасчетныйОборотыДтКт.СубконтоКт1 = РеализацияТоваровУслугТовары.Номенклатура
          И ХозрасчетныйОборотыДтКт.Регистратор = РеализацияТоваровУслугТовары.РеализацияОтгруженныхТоваровСсылка.Ссылка

У меня ХозрасчетныйОборотыДтКт.СубконтоКт1 при РеализацияОтгруженныхТоваров Номенклатура должна соединяться по ПО ХозрасчетныйОборотыДтКт.СубконтоКт2 = РеализацияТоваровУслугТовары.Номенклатура

всем хорошей тяпницы
14 egorover
 
28.10.11
15:17
Напрасно думать, что мудрость - это привилегия старости. Дурак с возрастом не становится мудрецом - он становится старым дураком.