Имя: Пароль:
1C
1С v8
БП 30 Как вклинится в запрос?
0 НикДляЗапросов
 
25.04.13
12:32
Есть мега запрос, есть табличная часть товары в нее добавлен реквизит содержание, как заменить ТаблицаДокумента.ТоварНаименование КАК ТоварНаименование на ТаблицаДокумента.Содержание КАК ТоварНаименование? При выполнение запроса ошибка на ТаблицаДокумента.Содержание

ВЫБРАТЬ
   ТЧПоставщики.Поставщик,
   ТЧПоставщики.КлючСтроки,
   ТЧПоставщики.Ссылка,
   ЕСТЬNULL(ТЧПоставщики.Партия.Грузоотправитель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК Грузоотправитель,
   ЕСТЬNULL(ТЧПоставщики.Партия.Грузополучатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК Грузополучатель
ПОМЕСТИТЬ ВТ_КлючиСтрок
ИЗ
   Документ.ОтчетКомитентуОПродажах.Поставщики КАК ТЧПоставщики
ГДЕ
   ТЧПоставщики.Ссылка = &ДокументОснование
   И ТЧПоставщики.СчетФактура = &СчетФактура
   И ТЧПоставщики.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)

ИНДЕКСИРОВАТЬ ПО
   ТЧПоставщики.КлючСтроки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МАКСИМУМ(ТЧПоставщики.Поставщик) КАК Продавец,
   МАКСИМУМ(ТЧПоставщики.Грузоотправитель) КАК Грузоотправитель,
   МАКСИМУМ(ТЧПоставщики.Грузополучатель) КАК Грузополучатель,
   ТЧПоставщики.Ссылка
ПОМЕСТИТЬ ВТ_Поставщики
ИЗ
   ВТ_КлючиСтрок КАК ТЧПоставщики

СГРУППИРОВАТЬ ПО
   ТЧПоставщики.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Реквизиты.Дата КАК ДатаОснования,
   Реквизиты.Организация КАК Организация,
   Реквизиты.ПодразделениеОрганизации КАК Подразделение,
   ВЫБОР
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Продавец, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
               И ВТ_Поставщики.Продавец.ОбособленноеПодразделение
           ТОГДА ВТ_Поставщики.Продавец.ГоловнойКонтрагент
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Продавец, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
           ТОГДА ВТ_Поставщики.Продавец
       ИНАЧЕ Реквизиты.Организация
   КОНЕЦ КАК Поставщик,
   ВЫБОР
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Продавец, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
           ТОГДА ВТ_Поставщики.Продавец.ИНН
       ИНАЧЕ Реквизиты.Организация.ИНН
   КОНЕЦ КАК ИННпоставщика,
   ВЫБОР
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Продавец, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
           ТОГДА ВТ_Поставщики.Продавец.КПП
       КОГДА Реквизиты.ПодразделениеОрганизации.ОбособленноеПодразделение
           ТОГДА Реквизиты.ПодразделениеОрганизации.КПП
       ИНАЧЕ Реквизиты.Организация.КПП
   КОНЕЦ КАК КППпоставщика,
   ВЫБОР
       КОГДА ВТ_Поставщики.Грузоотправитель = ВТ_Поставщики.Продавец
           ТОГДА "он же"
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Грузоотправитель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
           ТОГДА ВТ_Поставщики.Грузоотправитель
       КОГДА НЕ ВТ_Поставщики.Грузоотправитель ЕСТЬ NULL
           ТОГДА "он же"
       ИНАЧЕ ""
   КОНЕЦ КАК Грузоотправитель,
   ВЫБОР
       КОГДА Реквизиты.Контрагент.ОбособленноеПодразделение
           ТОГДА Реквизиты.Контрагент.ГоловнойКонтрагент
       ИНАЧЕ Реквизиты.Контрагент
   КОНЕЦ КАК Покупатель,
   Реквизиты.Контрагент.ИНН КАК ИННпокупателя,
   Реквизиты.Контрагент.КПП КАК КППпокупателя,
   ВЫБОР
       КОГДА ЕСТЬNULL(ВТ_Поставщики.Грузополучатель, ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
           ТОГДА ВТ_Поставщики.Грузополучатель
       КОГДА НЕ ВТ_Поставщики.Грузополучатель ЕСТЬ NULL
           ТОГДА Реквизиты.Организация
       ИНАЧЕ НЕОПРЕДЕЛЕНО
   КОНЕЦ КАК Грузополучатель,
   Реквизиты.ВалютаДокумента КАК Валюта,
   Реквизиты.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
   Реквизиты.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
   ВЫБОР
       КОГДА Реквизиты.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийОтчетКомитентуОПродажах.ОтчетОЗакупках)
           ТОГДА ИСТИНА
       ИНАЧЕ ЛОЖЬ
   КОНЕЦ КАК ЕстьТовары
ИЗ
   Документ.ОтчетКомитентуОПродажах КАК Реквизиты
       ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Поставщики КАК ВТ_Поставщики
       ПО Реквизиты.Ссылка = ВТ_Поставщики.Ссылка
ГДЕ
   Реквизиты.Ссылка = &ДокументОснование
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   &ДокументОснование КАК ДокументОснование,
   0 КАК Всего,
   0 КАК ВсегоНДС
;

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

СГРУППИРОВАТЬ ПО
   Реквизиты.УслугаПоВознаграждению,
   Реквизиты.СуммаВключаетНДС,
   Реквизиты.Ссылка,
   Реквизиты.СтавкаНДСВознаграждения,
   ЕСТЬNULL(СправочникНоменклатура.НаименованиеПолное, &ТекстКомиссионноеВознаграждение)

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТаблицаДокумента.НомерТабЧасти КАК НомерТабЧасти,
   ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
   ВЫБОР
       КОГДА ТаблицаДокумента.Товар = "СуммоваяРазница"
           ТОГДА НЕОПРЕДЕЛЕНО
       ИНАЧЕ ТаблицаДокумента.Товар
   КОНЕЦ КАК Товар,
   ТаблицаДокумента.ТоварНаименование КАК ТоварНаименование,        
   ТаблицаДокумента.СтранаПроисхождения КАК СтранаПроисхождения,
   ВЫБОР
       КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
           ТОГДА "--"
       ИНАЧЕ ЕСТЬNULL(СтраныМира.Наименование, "")
   КОНЕЦ КАК ПредставлениеСтраны,
   ВЫБОР
       КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
           ТОГДА "--"
       ИНАЧЕ ЕСТЬNULL(СтраныМира.Код, "")
   КОНЕЦ КАК СтранаПроисхожденияКод,
   ТаблицаДокумента.НомерГТД КАК НомерГТД,
   ВЫБОР
       КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
           ТОГДА "--"
       ИНАЧЕ ТаблицаДокумента.ПредставлениеГТД
   КОНЕЦ КАК ПредставлениеГТД,
   ТаблицаДокумента.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   ЕСТЬNULL(КлассификаторЕдиницИзмерения.Код, "") КАК ЕдиницаИзмеренияКод,
   ЕСТЬNULL(КлассификаторЕдиницИзмерения.Наименование, "") КАК ЕдиницаИзмеренияНаименование,
   ТаблицаДокумента.Количество КАК Количество,    
   ВЫБОР
       КОГДА ТаблицаДокумента.СуммаВключаетНДС
           ТОГДА ВЫБОР
                   КОГДА ТаблицаДокумента.Количество = 0
                       ТОГДА 0
                   ИНАЧЕ ВЫРАЗИТЬ((ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) / ТаблицаДокумента.Количество КАК ЧИСЛО(15, 2))
               КОНЕЦ
       ИНАЧЕ ТаблицаДокумента.Цена
   КОНЕЦ КАК Цена,
   ВЫБОР
       КОГДА ТаблицаДокумента.СуммаВключаетНДС
           ТОГДА ТаблицаДокумента.Сумма
       ИНАЧЕ ТаблицаДокумента.Сумма + ТаблицаДокумента.СуммаНДС
   КОНЕЦ КАК Всего,
   ВЫБОР
       КОГДА ТаблицаДокумента.Товар = "СуммоваяРазница"
           ТОГДА 0
       ИНАЧЕ ВЫБОР
               КОГДА ТаблицаДокумента.СуммаВключаетНДС
                   ТОГДА ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС
               ИНАЧЕ ТаблицаДокумента.Сумма
           КОНЕЦ
   КОНЕЦ КАК СуммаБезНДС,
   ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
   ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
   &ТекстБезАкциза КАК Акциз,
   ТаблицаДокумента.Ссылка КАК Ссылка,
   ТаблицаДокумента.ЭтоКомиссия
ИЗ
   ТаблицаДокумента КАК ТаблицаДокумента
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныМира
       ПО (СтраныМира.Ссылка = ТаблицаДокумента.СтранаПроисхождения)
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторЕдиницИзмерения КАК КлассификаторЕдиницИзмерения
       ПО (КлассификаторЕдиницИзмерения.Ссылка = ТаблицаДокумента.ЕдиницаИзмерения)

УПОРЯДОЧИТЬ ПО
   НомерТабЧасти,
   НомерСтроки
;

////////////////////////////////////////////////////////////////////////////////
1 НикДляЗапросов
 
25.04.13
12:32
Это самое я помощи не особо жду тут само понять надо, но с запросами у меня плохо, может что подскажите
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.