Группа: Пользователи
Сообщений: 2
Спасибо сказали: 0 раз
Рейтинг: 0
Здравствуйте УТ 10.3 Версия 8.3 столкнулся проблемой, Валовая прибыль по поставщику не считает валюту Доллар из за этого в отчете показывает минуса, Но основную валюты считает и всё нормально, помогите решить проблема пожалуйста. PS> Валовая Прибыль по поставщику сделанна Универсальным отчётам
//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ НАЧАЛЬНОЙ НАСТРОЙКИ ОТЧЕТА
// Процедура установки начальных настроек отчета с использованием текста запроса // Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
// Настройка общих параметров универсального отчета
// Содержит название отчета, которое будет выводиться в шапке. // Тип: Строка. // Пример: // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета"; УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
// Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
// Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета. // Тип: Строка. // Пример: // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
// Содержит признак необходимости вывода отрицательных значений показателей красным цветом. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
// Содержит признак необходимости вывода в отчет общих итогов. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
// Содержит признак необходимости вывода детальных записей в отчет. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
// Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки. // Тип: Булево. // Значение по умолчанию: Истина. // Пример: УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Истина;
// Содержит признак использования свойств и категорий при заполнении настроек отчета. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
// Содержит признак использования простой формы настроек отчета без группировок колонок. // Тип: Булево. // Значение по умолчанию: Ложь. // Пример: // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
// Дополнительные параметры, переданные из отчета, вызвавшего расшифровку. // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована // для реализации специфичных для данного отчета параметрических настроек.
// Описание исходного текста запроса.
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.Поставщик КАК Поставщик, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.ДокументОприходования КАК ДокументОприходования, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Поставщик) КАК ПоставщикПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДокументОприходования) КАК ДокументОприходованияПредставление, | ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление, | ВложенныйЗапрос.Период КАК Период, | ВложенныйЗапрос.ПериодДень КАК ПериодДень, | ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя, | ВложенныйЗапрос.ПериодДекада КАК ПериодДекада, | ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие, | ВложенныйЗапрос.ПериодГод КАК ПериодГод, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС, | ВложенныйЗапрос.НДС КАК НДС, | ВложенныйЗапрос.Стоимость КАК Стоимость, | ВложенныйЗапрос.Себестоимость КАК Себестоимость, | ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность КАК Эффективность, | ВложенныйЗапрос.Рентабельность КАК Рентабельность | //ПОЛЯ_СВОЙСТВА | //ПОЛЯ_КАТЕГОРИИ |{ВЫБРАТЬ | Организация.*, | Проект.*, | Подразделение.*, | Поставщик.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | ЗаказПокупателя.*, | ДокументОприходования.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | НДС, | Стоимость, | Себестоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |} |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Организация КАК Организация, | ВложенныйЗапрос.Проект КАК Проект, | ВложенныйЗапрос.Подразделение КАК Подразделение, | ВложенныйЗапрос.ДокументОприходования.Контрагент КАК Поставщик, | ВложенныйЗапрос.Покупатель КАК Покупатель, | ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | ВложенныйЗапрос.ДокументОприходования КАК ДокументОприходования, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ВложенныйЗапрос.Период КАК Период, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод, | СУММА(ВложенныйЗапрос.Количество) КАК Количество, | СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов, | СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц, | СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) КАК СтоимостьБезНДС, | СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.НДС | ИНАЧЕ ВложенныйЗапрос.НДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) КАК НДС, | СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) КАК Стоимость, | СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) | ИНАЧЕ СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) | КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) > 0 | ТОГДА (СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВложенныйЗапрос.Себестоимость) > 0 | ТОГДА (СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВложенныйЗапрос.Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) > 0 | ТОГДА (СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.СтоимостьБезНДС | ИНАЧЕ ВложенныйЗапрос.СтоимостьБезНДС * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) > 0 | ТОГДА (СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) - СУММА(ВложенныйЗапрос.Себестоимость)) / СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность | {ВЫБРАТЬ | Организация, | Проект, | Подразделение, | Поставщик, | Покупатель, | ДоговорПокупателя, | Номенклатура, | ХарактеристикаНоменклатуры, | СерияНоменклатуры, | ЗаказПокупателя, | ДокументОприходования, | Регистратор, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} | ИЗ | (ВЫБРАТЬ | ПродажиОбороты.Организация КАК Организация, | ПродажиОбороты.Проект КАК Проект, | ПродажиОбороты.Подразделение КАК Подразделение, | ПродажиОбороты.Контрагент КАК Покупатель, | ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя, | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиОбороты.СерияНоменклатуры КАК СерияНоменклатуры, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ТаблицаРегистраПродажиСебестоимость.ДокументОприходования КАК ДокументОприходования, | ПродажиОбороты.Регистратор КАК Регистратор, | ПродажиОбороты.Период КАК Период, | ПродажиОбороты.КоличествоОборот КАК КоличествоПродажи, | ТаблицаРегистраПродажиСебестоимость.Количество КАК Количество, | ТаблицаРегистраПродажиСебестоимость.Количество * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов, | ТаблицаРегистраПродажиСебестоимость.Количество * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц, | ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС, | ПродажиОбороты.НДСОборот КАК НДС, | ПродажиОбороты.СтоимостьОборот КАК Стоимость, | ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот КАК Себестоимость | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {Организация.* КАК Организация, Проект.* КАК Проект, Подразделение.* КАК Подразделение, Контрагент.* КАК Покупатель, ДоговорКонтрагента.* КАК ДоговорПокупателя, Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя}) КАК ПродажиОбороты | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.Номенклатура КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.СерияНоменклатуры КАК СерияНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ПродажиСебестоимость.ДокументОприходования КАК ДокументОприходования, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Количество) КАК Количество, | СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ГДЕ | ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца | {ГДЕ | ПродажиСебестоимость.Проект.* КАК Проект, | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.ДокументОприходования.* КАК ДокументОприходования, | ПродажиСебестоимость.ДокументОприходования.Контрагент.* КАК Поставщик, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры, | ПродажиСебестоимость.СерияНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя, | ПродажиСебестоимость.ДокументОприходования, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость | ПО ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура | И ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры | И ТаблицаРегистраПродажиСебестоимость.СерияНоменклатуры = ПродажиОбороты.СерияНоменклатуры | И ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя | И ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ПродажиОбороты.Организация, | ПродажиОбороты.Проект, | ПродажиОбороты.Подразделение, | ПродажиОбороты.Контрагент, | ПродажиОбороты.ДоговорКонтрагента, | ПродажиОбороты.Номенклатура, | ПродажиОбороты.ХарактеристикаНоменклатуры, | ПродажиОбороты.СерияНоменклатуры, | ПродажиОбороты.ЗаказПокупателя, | НЕОПРЕДЕЛЕНО, | ПродажиОбороты.Регистратор, | ПродажиОбороты.Период, | ПродажиОбороты.КоличествоОборот, | ПродажиОбороты.КоличествоОборот - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.Количество, 0), | (ПродажиОбороты.КоличествоОборот - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.Количество, 0)) * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1), | (ПродажиОбороты.КоличествоОборот - ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.Количество, 0)) * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1), | ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот, | ПродажиОбороты.НДСОборот, | ПродажиОбороты.СтоимостьОборот, | 0 | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {Организация.* КАК Организация, Проект.* КАК Проект, Подразделение.* КАК Подразделение, Контрагент.* КАК Покупатель, ДоговорКонтрагента.* КАК ДоговорПокупателя, Номенклатура.* КАК Номенклатура, ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ЗаказПокупателя.* КАК ЗаказПокупателя}) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.Номенклатура КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.СерияНоменклатуры КАК СерияНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Количество) КАК Количество, | СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ГДЕ | ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца | {ГДЕ | ПродажиСебестоимость.Проект.* КАК Проект, | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.ДокументОприходования.* КАК ДокументОприходования, | ПродажиСебестоимость.ДокументОприходования.Контрагент.* КАК Поставщик, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.СерияНоменклатуры.* КАК СерияНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры, | ПродажиСебестоимость.СерияНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость | ПО ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура | И ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры | И ТаблицаРегистраПродажиСебестоимость.СерияНоменклатуры = ПродажиОбороты.СерияНоменклатуры | И ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя | И ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор) КАК ВложенныйЗапрос | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Организация, | ВложенныйЗапрос.Проект, | ВложенныйЗапрос.Подразделение, | ВложенныйЗапрос.ДокументОприходования.Контрагент, | ВложенныйЗапрос.Покупатель, | ВложенныйЗапрос.ДоговорПокупателя, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.СерияНоменклатуры, | ВложенныйЗапрос.ЗаказПокупателя, | ВложенныйЗапрос.ДокументОприходования, | ВложенныйЗапрос.Регистратор, | ВложенныйЗапрос.Период | | ИМЕЮЩИЕ | (СУММА(ВложенныйЗапрос.Количество) <> 0 | ИЛИ СУММА(ВложенныйЗапрос.Себестоимость) <> 0 | ИЛИ СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоПродажи = 0 | ТОГДА ВложенныйЗапрос.Стоимость | ИНАЧЕ ВложенныйЗапрос.Стоимость * ВложенныйЗапрос.Количество / ВложенныйЗапрос.КоличествоПродажи | КОНЕЦ) <> 0)) КАК ВложенныйЗапрос | //СОЕДИНЕНИЯ |{ГДЕ | ВложенныйЗапрос.ДокументОприходования.* КАК ДокументОприходования, | ВложенныйЗапрос.Поставщик.* КАК Поставщик, | ВложенныйЗапрос.Регистратор.*, | ВложенныйЗапрос.Период, | ВложенныйЗапрос.ПериодДень, | ВложенныйЗапрос.ПериодНеделя, | ВложенныйЗапрос.ПериодДекада, | ВложенныйЗапрос.ПериодМесяц, | ВложенныйЗапрос.ПериодКвартал, | ВложенныйЗапрос.ПериодПолугодие, | ВложенныйЗапрос.ПериодГод, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.КоличествоЕдиницОтчетов, | ВложенныйЗапрос.КоличествоБазовыхЕдиниц, | ВложенныйЗапрос.СтоимостьБезНДС, | ВложенныйЗапрос.НДС, | ВложенныйЗапрос.Стоимость, | ВложенныйЗапрос.Себестоимость, | ВложенныйЗапрос.ВаловаяПрибыль, | ВложенныйЗапрос.Эффективность, | ВложенныйЗапрос.Рентабельность | //УСЛОВИЯ_СВОЙСТВА | //УСЛОВИЯ_КАТЕГОРИИ |} |{УПОРЯДОЧИТЬ ПО | Организация.*, | Проект.*, | Подразделение.*, | Поставщик.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | ЗаказПокупателя.*, | ДокументОприходования.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Количество, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕдиниц, | СтоимостьБезНДС, | НДС, | Стоимость, | Себестоимость, | ВаловаяПрибыль, | Эффективность, | Рентабельность | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |} |ИТОГИ | СУММА(Количество), | СУММА(КоличествоЕдиницОтчетов), | СУММА(КоличествоБазовыхЕдиниц), | СУММА(СтоимостьБезНДС), | СУММА(НДС), | СУММА(Стоимость), | СУММА(Себестоимость), | ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА СУММА(СтоимостьБезНДС) | ИНАЧЕ СУММА(Стоимость) | КОНЕЦ - СУММА(Себестоимость) КАК ВаловаяПрибыль, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(Себестоимость) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(Себестоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Себестоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Эффективность, | 100 * ВЫБОР | КОГДА &НеВключатьНДСВСтоимостьПартий | ТОГДА ВЫБОР | КОГДА СУММА(СтоимостьБезНДС) <> 0 | ТОГДА (СУММА(СтоимостьБезНДС) - СУММА(Себестоимость)) / СУММА(СтоимостьБезНДС) | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА СУММА(Стоимость) <> 0 | ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / СУММА(Стоимость) | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК Рентабельность | //ИТОГИ_СВОЙСТВА | //ИТОГИ_КАТЕГОРИИ |ПО | ОБЩИЕ |{ИТОГИ ПО | Организация.*, | Проект.*, | Подразделение.*, | Поставщик.*, | Покупатель.*, | ДоговорПокупателя.*, | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | СерияНоменклатуры.*, | ЗаказПокупателя.*, | ДокументОприходования.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод | //ПСЕВДОНИМЫ_СВОЙСТВА | //ПСЕВДОНИМЫ_КАТЕГОРИИ |}";
// В универсальном отчете включен флаг использования свойств и категорий. Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда
// Добавление свойств и категорий поля запроса в таблицу полей. // Необходимо вызывать для каждого поля запроса, предоставляющего возможность использования свойств и категорий.
// Добавление свойств и категорий в исходный текст запроса. УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);
КонецЕсли;
// Инициализация текста запроса построителя отчета УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
// Представления полей отчета. // Необходимо вызывать для каждого поля запроса. // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СтоимостьБезНДС", "Стоимость продажи без НДС"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("НДС", "НДС продажи"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Стоимость", "Стоимость продажи с НДС");
// Добавление предопределенных группировок строк отчета. // Необходимо вызывать для каждой добавляемой группировки строки. // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Поставщик"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Покупатель");
// Добавление предопределенных группировок колонок отчета. // Необходимо вызывать для каждой добавляемой группировки колонки. // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
// Добавление предопределенных отборов отчета. // Необходимо вызывать для каждого добавляемого отбора. // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьОтбор("Организация"); УниверсальныйОтчет.ДобавитьОтбор("Подразделение"); УниверсальныйОтчет.ДобавитьОтбор("Поставщик"); УниверсальныйОтчет.ДобавитьОтбор("Покупатель"); УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");
// Добавление предопределенных полей порядка отчета. // Необходимо вызывать для каждого добавляемого поля порядка. // УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>);
// Установка связи подчиненных и родительских полей // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДаннымРодитель>);
// Установка связи полей и измерений // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);
// Установка представлений полей УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
// Установка типов значений свойств в отборах отчета УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();
// Добавление дополнительных полей // Необходимо вызывать для каждого добавляемого дополнительного поля. // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>);
КонецПроцедуры // УстановитьНачальныеНастройки()
//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ОТЧЕТА
// Процедура формирования отчета // Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
// Перед формирование отчета можно установить необходимые параметры универсального отчета. Отказ = Ложь; УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(?(Не ЗначениеЗаполнено(УниверсальныйОтчет.ДатаКон), ТекущаяДата(), УниверсальныйОтчет.ДатаКон), Отказ); УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("НеВключатьНДСВСтоимостьПартий", ?(Отказ, Ложь, УчетнаяПолитика.НеВключатьНДСВСтоимостьПартий));
//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
// Процедура - обработчик события при открытии формы // Процедура ПриОткрытии()
//УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма,,, Новый Действие("ПолеВводаВидСравненияПриИзменении"), Новый Действие("ПолеВводаЗначениеПриИзменении")); УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении"); УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении = Новый Действие("ПолеВводаЗначениеПриИзменении"); УниверсальныйОтчет.мДействиеКоманднаяПанельФормыПечать = Новый Действие("КоманднаяПанельФормыПечать");
// Дополнительные параметры в расшифровывающий отчет можно передать // посредством инициализации переменной "ДополнительныеПараметры". ДополнительныеПараметры = Неопределено;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!