ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг)
| И ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
| ТОГДА ТаблицаДокумента.Количество
| ИНАЧЕ ТаблицаДокумента.Количество2
| КОНЕЦ КАК Количество,
вот кусок кода, хочу сделать условие, что если текущий документ в запросе в ТаблицаДокумента.Ссылка есть РТИУ тогда выполняется код ниже
| КОГДА ТаблицаДокумента.Ссылка = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг)
| И ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
| ТОГДА ТаблицаДокумента.Количество
| ИНАЧЕ ТаблицаДокумента.Количество2
| КОНЕЦ КАК Количество,
вот кусок кода, хочу сделать условие, что если текущий документ в запросе в ТаблицаДокумента.Ссылка есть РТИУ тогда выполняется код ниже
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
"Оператор ССЫЛКА позволяет проверить, является ли значение выражения, указанного справа от него, ссылкой на таблицу, указанную слева. Если да – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ"
| КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
"Оператор ССЫЛКА позволяет проверить, является ли значение выражения, указанного справа от него, ссылкой на таблицу, указанную слева. Если да – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ"
как полностью тогда прописать условие?
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
И ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ВЫБОР
ТаблицаДокумента.Количество
КОНЕЦ
КОНЕЦ
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
И ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ВЫБОР
ТаблицаДокумента.Количество
КОНЕЦ
КОНЕЦ
хочу, что если ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг эта строка истина, то есть текущий документ - РТИУ, то происходит это:
ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ВЫБОР
ТаблицаДокумента.Количество
КОНЕЦ
Если же ТаблицаДокумента.ссылка не РТИУ тогда просто
ТаблицаДокумента.Количество
ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ВЫБОР
ТаблицаДокумента.Количество
КОНЕЦ
Если же ТаблицаДокумента.ссылка не РТИУ тогда просто
ТаблицаДокумента.Количество
{ВнешняяОбработка.ВПФ_Счет_Фактура.МодульОбъекта(344)}: Ошибка при вызове метода контекста (ВыполнитьПакет)
Результат = Запрос.ВыполнитьПакет();
по причине:
{(170, 33)}: Несовместимые типы "ССЫЛКА"
КОГДА ТаблицаДокумента.Ссылка <<?>>ССЫЛКА Документ.РеализацияТоваровУслуг
Результат = Запрос.ВыполнитьПакет();
по причине:
{(170, 33)}: Несовместимые типы "ССЫЛКА"
КОГДА ТаблицаДокумента.Ссылка <<?>>ССЫЛКА Документ.РеализацияТоваровУслуг
тпиа того, но все же не так:(
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
КОГДА ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ИНАЧЕ ТаблицаДокумента.Количество
КОНЕЦ
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
КОГДА ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
ИНАЧЕ ТаблицаДокумента.Количество
КОНЕЦ
Если используете врем таблицу, то логичнее вставить в нее ФлажокКоличество, что не было лишнего разыменования.
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
ТОГДА ВЫБОР
КОГДА НЕ ТаблицаДокумента.ФлажокКоличество
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ
ИНАЧЕ ТаблицаДокумента.Количество
КОНЕЦ
ВЫБОР
КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
ТОГДА ВЫБОР
КОГДА НЕ ТаблицаДокумента.ФлажокКоличество
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ
ИНАЧЕ ТаблицаДокумента.Количество
КОНЕЦ
вот функция:
Функция ТекстЗапросаДанныеДляПечатиСчетовФактур(НомераТаблиц)
НомераТаблиц.Вставить("ТаблицаДокумента", НомераТаблиц.Количество());
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.НомерТабЧасти КАК НомерТабЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаДокумента.Товар = ""СуммоваяРазница""
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаДокумента.Товар
| КОНЕЦ КАК Товар,
| ТаблицаДокумента.ТоварНаименование КАК ТоварНаименование,
| ТаблицаДокумента.СтранаПроисхождения КАК СтранаПроисхождения,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ЕСТЬNULL(СтраныМира.Наименование, """")
| КОНЕЦ КАК ПредставлениеСтраны,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ЕСТЬNULL(СтраныМира.Код, """")
| КОНЕЦ КАК СтранаПроисхожденияКод,
| ТаблицаДокумента.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ТаблицаДокумента.ПредставлениеГТД
| КОНЕЦ КАК ПредставлениеГТД,
| ЕСТЬNULL(КлассификаторЕдиницИзмерения.Наименование, """") КАК ЕдиницаИзмеренияНаименование,
| ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ВЫБОР
| КОГДА ТаблицаДокумента.Количество = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ((ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) / ТаблицаДокумента.Количество КАК ЧИСЛО(15, 2))
| КОНЕЦ
| ИНАЧЕ ТаблицаДокумента.Цена
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ТаблицаДокумента.Сумма
| ИНАЧЕ ТаблицаДокумента.Сумма + ТаблицаДокумента.СуммаНДС
| КОНЕЦ КАК Всего,
| ВЫБОР
| КОГДА ТаблицаДокумента.Товар = ""СуммоваяРазница""
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС
| ИНАЧЕ ТаблицаДокумента.Сумма
| КОНЕЦ
| КОНЕЦ КАК СуммаБезНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| &ТекстБезАкциза КАК Акциз,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ЭтоКомиссия,
| ТаблицаДокумента.ВсегоРуб,
| ТаблицаДокумента.НДСРуб,
| ТаблицаДокумента.СуммаБезНДСРуб,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ВЫБОР
| КОГДА НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
| ТОГДА ТаблицаДокумента.Количество
| ИНАЧЕ ТаблицаДокумента.Количество2
| КОНЕЦ
| ИНАЧЕ ТаблицаДокумента.Количество
| КОНЕЦ КАК Количество,
| ТаблицаДокумента.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| ТаблицаДокумента КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныМира
| ПО (СтраныМира.Ссылка = ТаблицаДокумента.СтранаПроисхождения)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторЕдиницИзмерения КАК КлассификаторЕдиницИзмерения
| ПО (КлассификаторЕдиницИзмерения.Ссылка = ТаблицаДокумента.ЕдиницаИзмерения)
|
|УПОРЯДОЧИТЬ ПО
| НомерТабЧасти,
| НомерСтроки";
Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();
КонецФункции
Тут нигде особо типов не задашь ведь
Функция ТекстЗапросаДанныеДляПечатиСчетовФактур(НомераТаблиц)
НомераТаблиц.Вставить("ТаблицаДокумента", НомераТаблиц.Количество());
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.НомерТабЧасти КАК НомерТабЧасти,
| ТаблицаДокумента.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ТаблицаДокумента.Товар = ""СуммоваяРазница""
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ ТаблицаДокумента.Товар
| КОНЕЦ КАК Товар,
| ТаблицаДокумента.ТоварНаименование КАК ТоварНаименование,
| ТаблицаДокумента.СтранаПроисхождения КАК СтранаПроисхождения,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ЕСТЬNULL(СтраныМира.Наименование, """")
| КОНЕЦ КАК ПредставлениеСтраны,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ЕСТЬNULL(СтраныМира.Код, """")
| КОНЕЦ КАК СтранаПроисхожденияКод,
| ТаблицаДокумента.НомерГТД КАК НомерГТД,
| ВЫБОР
| КОГДА ТаблицаДокумента.СтранаПроисхождения = ЗНАЧЕНИЕ(Справочник.СтраныМира.РОССИЯ)
| ТОГДА ""--""
| ИНАЧЕ ТаблицаДокумента.ПредставлениеГТД
| КОНЕЦ КАК ПредставлениеГТД,
| ЕСТЬNULL(КлассификаторЕдиницИзмерения.Наименование, """") КАК ЕдиницаИзмеренияНаименование,
| ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ВЫБОР
| КОГДА ТаблицаДокумента.Количество = 0
| ТОГДА 0
| ИНАЧЕ ВЫРАЗИТЬ((ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС) / ТаблицаДокумента.Количество КАК ЧИСЛО(15, 2))
| КОНЕЦ
| ИНАЧЕ ТаблицаДокумента.Цена
| КОНЕЦ КАК Цена,
| ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ТаблицаДокумента.Сумма
| ИНАЧЕ ТаблицаДокумента.Сумма + ТаблицаДокумента.СуммаНДС
| КОНЕЦ КАК Всего,
| ВЫБОР
| КОГДА ТаблицаДокумента.Товар = ""СуммоваяРазница""
| ТОГДА 0
| ИНАЧЕ ВЫБОР
| КОГДА ТаблицаДокумента.СуммаВключаетНДС
| ТОГДА ТаблицаДокумента.Сумма - ТаблицаДокумента.СуммаНДС
| ИНАЧЕ ТаблицаДокумента.Сумма
| КОНЕЦ
| КОНЕЦ КАК СуммаБезНДС,
| ТаблицаДокумента.СуммаНДС КАК СуммаНДС,
| ТаблицаДокумента.СтавкаНДС КАК СтавкаНДС,
| &ТекстБезАкциза КАК Акциз,
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.ЭтоКомиссия,
| ТаблицаДокумента.ВсегоРуб,
| ТаблицаДокумента.НДСРуб,
| ТаблицаДокумента.СуммаБезНДСРуб,
| ВЫБОР
| КОГДА ТаблицаДокумента.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
| ТОГДА ВЫБОР
| КОГДА НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
| ТОГДА ТаблицаДокумента.Количество
| ИНАЧЕ ТаблицаДокумента.Количество2
| КОНЕЦ
| ИНАЧЕ ТаблицаДокумента.Количество
| КОНЕЦ КАК Количество,
| ТаблицаДокумента.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| ТаблицаДокумента КАК ТаблицаДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СтраныМира КАК СтраныМира
| ПО (СтраныМира.Ссылка = ТаблицаДокумента.СтранаПроисхождения)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлассификаторЕдиницИзмерения КАК КлассификаторЕдиницИзмерения
| ПО (КлассификаторЕдиницИзмерения.Ссылка = ТаблицаДокумента.ЕдиницаИзмерения)
|
|УПОРЯДОЧИТЬ ПО
| НомерТабЧасти,
| НомерСтроки";
Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();
КонецФункции
Тут нигде особо типов не задашь ведь
Функция ТекстЗапросаДанныеДляПечатиСчетовФактур(НомераТаблиц) Экспорт
НомераТаблиц.Вставить("Реквизиты", НомераТаблиц.Количество());
НомераТаблиц.Вставить("ВТ_РублевыеСуммыДокументовВВалюте", НомераТаблиц.Количество());
НомераТаблиц.Вставить("ВременнаяТаблицаДокумента", НомераТаблиц.Количество());
ТекстЗапроса =
"ВЫБРАТЬ
| Реквизиты.Дата КАК ДатаОснования,
| Реквизиты.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Склад,
| Реквизиты.ПодразделениеОрганизации КАК Подразделение,
| ВЫБОР
| КОГДА Реквизиты.ПодразделениеОрганизации.ОбособленноеПодразделение
| ТОГДА Реквизиты.ПодразделениеОрганизации.ЦифровойИндексОбособленногоПодразделения
| ИНАЧЕ ВЫБОР
| КОГДА Реквизиты.Организация.ОбособленноеПодразделение
| ТОГДА Реквизиты.Организация.ЦифровойИндексОбособленногоПодразделения
| ИНАЧЕ """"
| КОНЕЦ
| КОНЕЦ КАК ЦифровойИндексОбособленногоПодразделения,
| ВЫБОР
| КОГДА Реквизиты.Организация.ОбособленноеПодразделение
| ТОГДА Реквизиты.Организация.ГоловнаяОрганизация
| ИНАЧЕ Реквизиты.Организация
| КОНЕЦ КАК Поставщик,
| Реквизиты.Организация.ИНН КАК ИННпоставщика,
| ВЫБОР
| КОГДА Реквизиты.ПодразделениеОрганизации.ОбособленноеПодразделение
| ТОГДА Реквизиты.ПодразделениеОрганизации.КПП
| ИНАЧЕ Реквизиты.Организация.КПП
| КОНЕЦ КАК КППпоставщика,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| ВЫБОР
| КОГДА Реквизиты.Контрагент.ОбособленноеПодразделение
| ТОГДА Реквизиты.Контрагент.ГоловнойКонтрагент
| ИНАЧЕ Реквизиты.Контрагент
| КОНЕЦ КАК Покупатель,
| Реквизиты.Контрагент.ИНН КАК ИННпокупателя,
| Реквизиты.Контрагент.КПП КАК КППпокупателя,
| НЕОПРЕДЕЛЕНО КАК Грузополучатель,
| Реквизиты.ВалютаДокумента КАК Валюта,
| Реквизиты.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Реквизиты.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
| Реквизиты.ДоговорКонтрагента.ВидДоговора КАК ВидДоговора,
| Реквизиты.ДоговорКонтрагента.Представление КАК Основание,
| Реквизиты.Исполнитель,
| Реквизиты.ИсполнительПоПриказу,
| НЕОПРЕДЕЛЕНО КАК ОтпускПроизвел,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьНомер,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьДата,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьВыдана,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьЧерезКого,
| ЛОЖЬ КАК ЕстьТовары,
| Реквизиты.Контрагент КАК Контрагент
|ИЗ
| Документ.АктОбОказанииПроизводственныхУслуг КАК Реквизиты
|ГДЕ
| Реквизиты.Ссылка = &ДокументОснование
|;
|
| X
|ВЫБРАТЬ
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.Всего,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НДС,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НалоговаяБазаНДС
|ПОМЕСТИТЬ РегистрСведенийРублевыеСуммыДокументовВВалюте
|ИЗ
| РегистрСведений.РублевыеСуммыДокументовВВалюте КАК РегистрСведенийРублевыеСуммыДокументовВВалюте
|ГДЕ
| РегистрСведенийРублевыеСуммыДокументовВВалюте.Регистратор = &ДокументОснование
|
|ИНДЕКСИРОВАТЬ ПО
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента
|;
|
| X
|ВЫБРАТЬ
| 1 КАК НомерТабЧасти,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Номенклатура КАК Товар,
| ТаблицаТовары.Номенклатура.Код КАК ТоварКод,
| ТаблицаТовары.Номенклатура.Артикул КАК ТоварАртикул,
| ТаблицаТовары.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| NULL КАК СтранаПроисхождения,
| NULL КАК ПредставлениеСтраны,
| NULL КАК НомерГТД,
| NULL КАК ПредставлениеГТД,
| ТаблицаТовары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ЛОЖЬ КАК ЭтоУслуга,
| ТаблицаТовары.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| ТаблицаТовары.Ссылка КАК Ссылка,
| ЛОЖЬ КАК ЭтоКомиссия,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.Всего, 0) КАК ВсегоРуб,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.НалоговаяБазаНДС, 0) КАК СуммаБезНДСРуб,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.НДС, 0) КАК НДСРуб,
| ТаблицаТовары.Количество2
|ПОМЕСТИТЬ ТаблицаДокумента
|ИЗ
| Документ.АктОбОказанииПроизводственныхУслуг.Услуги КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведенийРублевыеСуммыДокументовВВалюте КАК РегистрСведенийРублевыеСуммыДокументовВВалюте
| ПО ТаблицаТовары.НомерСтроки = РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента
| И (РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента = ЗНАЧЕНИЕ(Перечисление.ТабличныеЧастиДокументов.Услуги))
| И (ТаблицаТовары.Ссылка.ВалютаДокумента <> &ВалютаРеглУчета)
|ГДЕ
| ТаблицаТовары.Ссылка = &ДокументОснование";
Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();
КонецФункции
вот отсюда берется для формирования по Акту об оказании услуг, тоже тип задавать особо не выйдет
НомераТаблиц.Вставить("Реквизиты", НомераТаблиц.Количество());
НомераТаблиц.Вставить("ВТ_РублевыеСуммыДокументовВВалюте", НомераТаблиц.Количество());
НомераТаблиц.Вставить("ВременнаяТаблицаДокумента", НомераТаблиц.Количество());
ТекстЗапроса =
"ВЫБРАТЬ
| Реквизиты.Дата КАК ДатаОснования,
| Реквизиты.Организация КАК Организация,
| НЕОПРЕДЕЛЕНО КАК Склад,
| Реквизиты.ПодразделениеОрганизации КАК Подразделение,
| ВЫБОР
| КОГДА Реквизиты.ПодразделениеОрганизации.ОбособленноеПодразделение
| ТОГДА Реквизиты.ПодразделениеОрганизации.ЦифровойИндексОбособленногоПодразделения
| ИНАЧЕ ВЫБОР
| КОГДА Реквизиты.Организация.ОбособленноеПодразделение
| ТОГДА Реквизиты.Организация.ЦифровойИндексОбособленногоПодразделения
| ИНАЧЕ """"
| КОНЕЦ
| КОНЕЦ КАК ЦифровойИндексОбособленногоПодразделения,
| ВЫБОР
| КОГДА Реквизиты.Организация.ОбособленноеПодразделение
| ТОГДА Реквизиты.Организация.ГоловнаяОрганизация
| ИНАЧЕ Реквизиты.Организация
| КОНЕЦ КАК Поставщик,
| Реквизиты.Организация.ИНН КАК ИННпоставщика,
| ВЫБОР
| КОГДА Реквизиты.ПодразделениеОрганизации.ОбособленноеПодразделение
| ТОГДА Реквизиты.ПодразделениеОрганизации.КПП
| ИНАЧЕ Реквизиты.Организация.КПП
| КОНЕЦ КАК КППпоставщика,
| НЕОПРЕДЕЛЕНО КАК Грузоотправитель,
| ВЫБОР
| КОГДА Реквизиты.Контрагент.ОбособленноеПодразделение
| ТОГДА Реквизиты.Контрагент.ГоловнойКонтрагент
| ИНАЧЕ Реквизиты.Контрагент
| КОНЕЦ КАК Покупатель,
| Реквизиты.Контрагент.ИНН КАК ИННпокупателя,
| Реквизиты.Контрагент.КПП КАК КППпокупателя,
| НЕОПРЕДЕЛЕНО КАК Грузополучатель,
| Реквизиты.ВалютаДокумента КАК Валюта,
| Реквизиты.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| Реквизиты.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах,
| Реквизиты.ДоговорКонтрагента.ВидДоговора КАК ВидДоговора,
| Реквизиты.ДоговорКонтрагента.Представление КАК Основание,
| Реквизиты.Исполнитель,
| Реквизиты.ИсполнительПоПриказу,
| НЕОПРЕДЕЛЕНО КАК ОтпускПроизвел,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьНомер,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьДата,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьВыдана,
| НЕОПРЕДЕЛЕНО КАК ДоверенностьЧерезКого,
| ЛОЖЬ КАК ЕстьТовары,
| Реквизиты.Контрагент КАК Контрагент
|ИЗ
| Документ.АктОбОказанииПроизводственныхУслуг КАК Реквизиты
|ГДЕ
| Реквизиты.Ссылка = &ДокументОснование
|;
|
| X
|ВЫБРАТЬ
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.Всего,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НДС,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НалоговаяБазаНДС
|ПОМЕСТИТЬ РегистрСведенийРублевыеСуммыДокументовВВалюте
|ИЗ
| РегистрСведений.РублевыеСуммыДокументовВВалюте КАК РегистрСведенийРублевыеСуммыДокументовВВалюте
|ГДЕ
| РегистрСведенийРублевыеСуммыДокументовВВалюте.Регистратор = &ДокументОснование
|
|ИНДЕКСИРОВАТЬ ПО
| РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента,
| РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента
|;
|
| X
|ВЫБРАТЬ
| 1 КАК НомерТабЧасти,
| ТаблицаТовары.НомерСтроки КАК НомерСтроки,
| ТаблицаТовары.Номенклатура КАК Товар,
| ТаблицаТовары.Номенклатура.Код КАК ТоварКод,
| ТаблицаТовары.Номенклатура.Артикул КАК ТоварАртикул,
| ТаблицаТовары.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| NULL КАК СтранаПроисхождения,
| NULL КАК ПредставлениеСтраны,
| NULL КАК НомерГТД,
| NULL КАК ПредставлениеГТД,
| ТаблицаТовары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ТаблицаТовары.Количество КАК Количество,
| ТаблицаТовары.Цена КАК Цена,
| ТаблицаТовары.Сумма КАК Сумма,
| ТаблицаТовары.СуммаНДС КАК СуммаНДС,
| ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
| ЛОЖЬ КАК ЭтоУслуга,
| ТаблицаТовары.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| ТаблицаТовары.Ссылка КАК Ссылка,
| ЛОЖЬ КАК ЭтоКомиссия,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.Всего, 0) КАК ВсегоРуб,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.НалоговаяБазаНДС, 0) КАК СуммаБезНДСРуб,
| ЕСТЬNULL(РегистрСведенийРублевыеСуммыДокументовВВалюте.НДС, 0) КАК НДСРуб,
| ТаблицаТовары.Количество2
|ПОМЕСТИТЬ ТаблицаДокумента
|ИЗ
| Документ.АктОбОказанииПроизводственныхУслуг.Услуги КАК ТаблицаТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведенийРублевыеСуммыДокументовВВалюте КАК РегистрСведенийРублевыеСуммыДокументовВВалюте
| ПО ТаблицаТовары.НомерСтроки = РегистрСведенийРублевыеСуммыДокументовВВалюте.НомерСтрокиДокумента
| И (РегистрСведенийРублевыеСуммыДокументовВВалюте.ТабличнаяЧастьДокумента = ЗНАЧЕНИЕ(Перечисление.ТабличныеЧастиДокументов.Услуги))
| И (ТаблицаТовары.Ссылка.ВалютаДокумента <> &ВалютаРеглУчета)
|ГДЕ
| ТаблицаТовары.Ссылка = &ДокументОснование";
Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();
КонецФункции
вот отсюда берется для формирования по Акту об оказании услуг, тоже тип задавать особо не выйдет
(30)Для начала определиться с задачей. Откуда вы хотите взять исходные данные и зачем вообще временные таблицы? Сравните 1 и 2 запрос. В первом создается только описание ВТ, а во втором данные выбираются из документов и помещаются в ВТ. Это принципиальная разница.
Такой еще вопрос, у меня есть 2 ТЧ товары и услуги, в товарах есть количество и количество 2, в услугах только количество, как прописать условие на соответствующюю ТЧ?
ВЫБОР
КОГДА НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ
вот в таком случае из ТЧ товары и услуги будет браться количество2, а нужно, чтобы из товары табличной части в зависимости от условия брались данные, а количествов ТЧ услуги всегда бралось из колонки количество
ВЫБОР
КОГДА НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ
вот в таком случае из ТЧ товары и услуги будет браться количество2, а нужно, чтобы из товары табличной части в зависимости от условия брались данные, а количествов ТЧ услуги всегда бралось из колонки количество
Нужно объединить 2 ТЧ во временной таблице и завести служебное поле "ТоварУслуга" например. Для ТЧ товаров во врем таблице указать ТоварУслуга = "Товар", а для ТЧ услуг Товаруслуга = "Услуга". А после весить условия в зависимости от значения поля ТоварУслуга
(36)
курить запрос до просветления.
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка,
РеализацияТоваровУслуг.Организация,
NULL КАК Контрагент
ПОМЕСТИТЬ ВТРТиУ
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ПоступлениеТоваровУслуг.Ссылка,
NULL,
ПоступлениеТоваровУслуг.Контрагент
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
;
X
ВЫБРАТЬ
ВЫБОР
КОГДА ВТРТиУ.Ссылка ССЫЛКА Документ.РеализацияТоваровУслуг
ТОГДА ВТРТиУ.Организация
ИНАЧЕ ВТРТиУ.Контрагент
КОНЕЦ КАК ПолеПоУсловиюВидДокумента
ИЗ
ВТРТиУ КАК ВТРТиУ
Показатькурить запрос до просветления.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот