19.04.2019, 22:27 [+3 UTC]
в нашей команде: 3 551 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.74 (12.04.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
09.03.2019, 10:08

Форум:
19.04.2019, 22:23

Последний вопрос:
19.04.2019, 18:03
Всего: 149309

Последний ответ:
19.04.2019, 21:38
Всего: 258211

Последняя рассылка:
19.04.2019, 17:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
31.05.2016, 11:57 »
malich.e
Спасибо ! Дана исчерпывающая информация. Благодарю за помощь . [вопрос № 189520, ответ № 273899]
07.07.2010, 19:58 »
Викол Василий
Спасибо ОГРОМНОЕ за помощь!!! [вопрос № 179435, ответ № 262447]

РАЗДЕЛ [неизвестная рассылка]

[администратор рассылки: [неизвестный]]

Лучшие эксперты в этом разделе


Перейти к консультации №:
 

Консультация онлайн # 141809
Раздел: [неизвестная рассылка]
Автор вопроса: Gummy020985
Отправлена: 20.08.2008, 10:05
Поступило ответов: 0

Ребята, помогите! Есть конфигуряция, изначально была ТИС 7.7, но изрядно переписанная. В ней есть 2 фирмы: ИП Иванов, ИП Петров. ИП
Иванов напрямую может делать только оптовые родажи. Для того, чтоб сделать с ИП Иванова розничные, формируется транзит: поступление Реализация ИП Петров-ИП иванов, поступление ИП Иванов. Вот бухгалтеру в отчете по продажам (анализ продаж) захотелось видеть, что, если поставить галочку "учитывать транзиты", чтоб отдельно выводилось ИП Иванов, и ИП Иванов транзит. Как это сделат ь, если фирма-то по сути одна, и формируя запрос, у нас при выводе группи ровки она идет тож как одна фирма. За правильный ответ фото топлесс smile

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 141809
Владимир (1С)

# 1

= общий = | 20.08.2008, 11:03

Укажите в запросе дополнительную переменную ИПТранзит:

...
|ИпТранзит = Документ.Транзит.Фирма;
...
...
|

Владимир (1С)

# 2

= общий = | 20.08.2008, 11:05

Еще приведите пример запроса отчета - это поможет Вам помочь

неизвестный

# 3

= общий = | 20.08.2008, 11:47

у меня у документа нет физического признака транзит, и выводить мне нужно одновременно и транзиты этой фирмы, и нет. Т.е. установка признака мне не сильно поможет, все равно из общей кучи по ип иванов их придется выдергивать
/
Процедура ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "")

ТЗ=СоздатьОбъект("ТаблицаЗначений");
ДЗ=Запрос.ТекДок;
Если ПустоеЗначение(ДЗ)=0 Тогда
Док=СоздатьОбъект("Документ");
Док.ВыбратьПодчиненныедокументы(,,ДЗ);
Если Док.ПолучитьДокумент()=1 Тогда
А=Док.Вид();
КонецЕсли;

КонецЕсли;

ПечЕд = "";
Если (Ном >= НомерГруппировкиПоТМЦ) Тогда
Если Запрос.ЭтоГруппа("Номенклатура") = 0 Тогда
ПечЕд = ?(ВидЕдиницы=1,Запрос.Номенклатура.ОсновнаяЕдиница,Запрос.Номенклатура.БазоваяЕдиница);
// БАВ 10,08,06
// ПечКол = глФРМКоличество(Запрос.СуммаКоличество - Запрос.СуммаКоличествоВ,ПечЕд);
ПечКол = глФРМКоличество(Запрос.СуммаКоличество,ПечЕд);
ПечКолВозврат = глФРМКоличество(Запрос.СуммаКоличествоВ,ПечЕд);
печКонОстПартииКолво = глФРМКоличество(Запрос.КонОстПартииКолво,ПечЕд);
Иначе
// если не в базовых единицах, то не имеет смысла количество
// БАВ 10,08,06
// ПечКол = ?(ВидЕдиницы=1,"",глФРМКоличество(Запрос.СуммаКоличество - Запрос.СуммаКоличествоВ,ПечЕд));
ПечКол = ?(ВидЕдиницы=1,"",глФРМКоличество(Запрос.СуммаКоличество,ПечЕд));
ПечКолВозврат = ?(ВидЕдиницы=1,"",глФРМКоличество(Запрос.СуммаКоличествоВ,ПечЕд));
печКонОстПартииКолво = ?(ВидЕдиницы=1,"",глФРМКоличество(Запрос.КонОстПартииКолво,ПечЕд));
КонецЕсли;
Иначе
ПечКол = "";
КонецЕсли;

ПечКол = Запрос.СуммаКоличество;
ПечКолВозврат = Запрос.СуммаКоличествоВ;
печКонОстПартииКолво = Запрос.КонОстПартииКолво;


Себест = Запрос.СуммаСебест;
СебестВозврат = Запрос.СуммаСебестВ;
ПродСт = Запрос.СуммаПродСт;
ПродСтВозврат = Запрос.СуммаПродСтВ;
Профит = ПродСт - ПродСтВозврат - (Себест - СебестВозврат);

// печОстатокКол = Запрос.КонОстКолво;
КонОстПартииСуммаРуб = Запрос.КонОстПартииСуммаРуб;

ЗнакПрофит = ?(ПродСт<0,-1,1);

ПрофитПроц = ?(Себест = 0, 0,Профит/Себест);
КонОстПродажнаяСуммаРуб = КонОстПартииСуммаРуб*(1+ПрофитПроц);

ПечСебест = глФРМ(Себест,"");
ПечСебестВозврат = глФРМ(СебестВозврат,"");
ПечПродСт = глФРМ(ПродСт,"");
ПечПродСтВозврат = глФРМ(ПродСтВозврат,"");
ПечПрофит = глФРМ(Профит,"");
ПечПрофитПроц = ?(Себест = 0, "",СокрЛ(Формат(ЗнакПрофит*Профит/Себест*100,"Ч12.2")+"%"));

// печОстатокКол = ОстатокКол;
// печОстатокСумма = глФРМ(ОстатокСумма,"");
печКонОстПартииСуммаРуб = глФРМ(КонОстПартииСуммаРуб,"");
печКонОстПродажнаяСуммаРуб= глФРМ(КонОстПродажнаяСуммаРуб,"");

//Если печОстатокКол <> печКонОстПартииКолво тогда
// Коэфф = печОстатокКол / печКонОстПартииКолво ;
// печКонОстПартииКолво = печОстатокКол;
// печКонОстПартииСуммаРуб = глФРМ(КонОстПартииСуммаРуб*Коэфф,"");
// печКонОстПродажнаяСуммаРуб= глФРМ(КонОстПродажнаяСуммаРуб*Коэфф,"");
//КонецЕсли;

//сООБЩИТЬ(НазваниеСекции);
//Lord
Если (ТолькоГруппы=1) и (Ном = НомерГруппировкиПоТМЦ) Тогда
Если (Запрос.ЭтоГруппа("Номенклатура") = 1) и (Запрос.Номенклатура.Уровень() = 1) тогда
// Если (ПечКол <> "") Или (ПечЕд <> "") Тогда Возврат; КонецЕсли;
Таб.ВывестиСекцию(НазваниеСекции);
КонецЕсли;
Иначе
Таб.ВывестиСекцию(НазваниеСекции);
КонецЕсли;

глОживить(1);

КонецПроцедуры //ПечатьСтроки()

//******************************************************************************
// ВывестиГруппировку(Запрос,Ном)
//
// Параметры:
// Запрос - объект "Запрос"
// Ном - номер выводимой группировки
//
// Возвращаемое значение:
// Нет
//
// Вызывается из формул элементов диалога:
//
// Описание:
// Выводит в печатную форму одну группировку запроса. Если
// Есть нижележащие группировки, они выводятся также с использованием рекурсивного
// вызова этой же процедуры.
//
Процедура ВывестиГруппировку(Запрос,Ном)

Если Ном <= КоличествоГруппировок Тогда

НазваниеГруппировки = СписокГруппировок.ПолучитьЗначение(Ном);
Пока Запрос.Группировка(Ном) = 1 Цикл

Если НазваниеГруппировки = "Документ" Тогда
НазваниеСекции="Документ";
// БАВ ИначеЕсли Запрос.ЭтоГруппа(НазваниеГруппировки) = 1 Тогда
ИначеЕсли Ном < КоличествоГруппировок Тогда
НазваниеСекции="Строка"+СокрЛП(Ном)+"Г";
Иначе
НазваниеСекции="Строка"+Ном;
КонецЕсли;
ПечТекстСтроки = Запрос.ПолучитьАтрибут(НазваниеГруппировки);
Расшифровка = ПечТекстСтроки;
Если НазваниеГруппировки = "Документ" Тогда
ПечТекстСтроки = ""+глНазваниеДокументаВЖурнале(ПечТекстСтроки)+" № "+ПечТекстСтроки.НомерДок;
ИначеЕсли НазваниеГруппировки = "Номенклатура" Тогда
ПечТекстСтроки = "" + ПечТекстСтроки + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Запрос.Номенклатура.Артикул), "")
КонецЕсли;


ПечТекстСтроки = ?(ПустоеЗначение(ПечТекстСтроки)=1,глПредставлениеПустогоЗначения(НазваниеГруппировки),ПечТекстСтроки);
Если (НазваниеГруппировки="Номенклатура") и (Транзит=1) и (СОКРЛП(Запрос.Фирма)="ИП Демина Галина Алексеевна") Тогда
ПечатьСтрокиТ(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,Расшифровка);
КонецЕсли;
Для нГрп = 1 по Ном-1 Цикл
ПечТекстСтроки = " "+ПечТекстСтроки;
КонецЦикла;

//Если НазваниеГруппировки = "Номенклатура" Тогда
// Если (ТолькоГруппы = 0 ) или (Запрос.Номенклатура.Уровень() = 1) тогда
// ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,Расшифровка);
// КонецЕсли;
//Иначе
ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,Расшифровка);
//КонецЕсли;
// если есть более детальная группировка - выведем ее
Если КоличествоГруппировок > Ном Тогда
ВывестиГруппировку(Запрос,Ном+1);
КонецЕсли;

КонецЦикла;
КонецЕсли;

КонецПроцедуры // ВывестиГруппировку()

//******************************************************************************
// Сформировать(ЗакрытьДиалог=0)
//
// Параметры:
// ЗакрытьДиалог - флаг того, что после формирования отчета надо закрыть диалог
//
// Возвращаемое значение:
// Нет
//
// Вызывается из формул элементов диалога:
// кнопки "Сформировать" и "ОК"
//
// Описание:
// Запускает отчет.
//
Процедура Сформировать(ЗакрытьДиалог=0)

Перем Запрос, ТекстЗапроса;

Если глПроверкаДаты(ДатаНачала,ДатаКонца)=0 Тогда
Возврат;
КонецЕсли;

Если (ТипЗначенияСтр(Таб) <> "Таблица") ИЛИ (Обновить = 0) Тогда
Таб = СоздатьОбъект("Таблица");
Иначе
Таб.Очистить();
КонецЕсли;

Таб.ИсходнаяТаблица( "АнализПродаж" );

// Здесь формируется отчет, который использует регистры, критичные к
// последовательности проведения документов
// поэтому сравним установленные даты периода формируемого отчета с ГП
// Если глПроверкаАктуальностиОтчета(ДатаНачала,ДатаКонца,Последовательность.ОсновнаяПоследовательность)=0 Тогда
// Возврат;
// КонецЕсли;



Расшифровка = СоздатьОбъект("СписокЗначений");
Расшифровка.Установить("Отчет", "АнализПродаж");

// все настройки помещаем в список
Расшифровка.Установить("ДатаНачала", ДатаНачала);
Расшифровка.Установить("ДатаКонца", ДатаКонца);
Расшифровка.Установить("ВыбРазделитель1",ВыбРазделитель1);
Расшифровка.Установить("ВыбРазделитель2",ВыбРазделитель2);
Расшифровка.Установить("ВыбРазделитель3",ВыбРазделитель3);
Расшифровка.Установить("ВидРазделителя",ВидРазделителя);

Расшифровка.Установить("ВыбТМЦ", ВыбТМЦ);
Расшифровка.Установить("ВыбПокупатель", ВыбПокупатель);
Расшифровка.Установить("ВыбПоставщик", ВыбПоставщик);
Расшифровка.Установить("Группировки", Группировки);
Расшифровка.Установить("ВидЕдиницы", ВидЕдиницы);
Расшифровка.Установить("ПоГруппам", ПоГруппам);

Расшифровка.Установить("ВыбСвойствоТМЦ", ВыбСвойствоТМЦ);
Расшифровка.Установить("ВыбСвойствоПокупателя", ВыбСвойствоПокупателя);
Расшифровка.Установить("ВыбСвойствоПоставщика", ВыбСвойствоПоставщика);


глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были

// запомним МФ только если он задан
Если глМножественныйФильтрЗадан(ТаблицаМФ) = 1 Тогда
Расшифровка.Установить("ТаблицаМФ", ТаблицаМФ);
КонецЕсли;

//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ДатаНачала по ДатаКонца;
|Фирма = Регистр.Продажи.Фирма,
|Регистр.ОстаткиТМЦ.Фирма,
|Регистр.ПартииНаличие.Фирма;
|МОЛ = Регистр.ПартииНаличие.Мол;
|УпрАналитика = Регистр.Продажи.Фирма.УпрАналитика;
|ЮрЛицо = Регистр.Продажи.Фирма.ЮрЛицо;
|Покупатель = Регистр.Продажи.Покупатель;
|СвойствоПок = Регистр.Продажи.Покупатель.ОсновноеСвойство.ЗначениеСвойства;
|Номенклатура = Регистр.Продажи.Номенклатура,
|Регистр.ОстаткиТМЦ.Номенклатура,
|Регистр.ПартииНаличие.Партия.Владелец,
|Регистр.ПартииНаличие.Номенклатура;
|СвойствоТМЦ = Регистр.Продажи.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
|Регистр.ОстаткиТМЦ.Номенклатура.ОсновноеСвойство.ЗначениеСвойства,
|Регистр.ПартииНаличие.Номенклатура.ОсновноеСвойство.ЗначениеСвойства;
|Поставщик = Регистр.Продажи.Поставщик,
|Регистр.ПартииНаличие.Партия.Поставщик;
|ТекДок= Регистр.партииналичие.текущийдокумент,
| Регистр.продажи.текущийдокумент;
|СвойствоПост = Регистр.Продажи.Поставщик.ОсновноеСвойство.ЗначениеСвойства;
|";

ЕстьАвтор = 0;
ЕстьПроект = 0;
ЕстьПроизводитель= 0;
НомСтроки = 0;
НомКолонки = 0;

// Проверка на необходимость включения в запрос переменной "Автор"
// Сначала проверим, есть ли множественный фильтр по автору.
Если ТаблицаМФ.НайтиЗначение("Автор", НомСтроки, НомКолонки) = 1 Тогда
Если ТаблицаМФ.ПолучитьЗначение(НомСтроки, "ФлВкл") = 2 Тогда
ЕстьАвтор = 1;
КонецЕсли;
КонецЕсли;

// Если фильтра нет, то возможно есть группировка
Если ЕстьАвтор = 0 Тогда
НомСтроки = Группировки.НайтиЗначение("Автор");
Если НомСтроки > 0 Тогда
Если Группировки.Пометка(НомСтроки)=1 Тогда
ЕстьАвтор = 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;

// Проверка на необходимость включения в запрос переменной "Производитель"
// Сначала проверим, есть ли множественный фильтр по Производитель\ю.
Если ТаблицаМФ.НайтиЗначение("ПроизводительТМЦ", НомСтроки, НомКолонки) = 1 Тогда
Если ТаблицаМФ.ПолучитьЗначение(НомСтроки, "ФлВкл") = 2 Тогда
ЕстьПроизводитель = 1;
КонецЕсли;
КонецЕсли;

// Если фильтра нет, то возможно есть группировка
Если ЕстьАвтор = 0 Тогда
НомСтроки = Группировки.НайтиЗначение("ПроизводительТМЦ");
Если НомСтроки > 0 Тогда
Если Группировки.Пометка(НомСтроки)=1 Тогда
ЕстьПроизводитель = 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;


// Проверка на необходимость включения в запрос переменной "Проект"
НомСтроки = 0;
НомКолонки = 0;
Если ТаблицаМФ.НайтиЗначение("Проект", НомСтроки, НомКолонки) = 1 Тогда
Если ТаблицаМФ.ПолучитьЗначение(НомСтроки, "ФлВкл") = 2 Тогда
ЕстьПроект = 1;
КонецЕсли;
КонецЕсли;
Если ЕстьПроект = 0 Тогда
НомСтроки = Группировки.НайтиЗначение("Проект");
Если НомСтроки > 0 Тогда
Если Группировки.Пометка(НомСтроки)=1 Тогда
ЕстьПроект = 1;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если ЕстьАвтор=1 Тогда
ТекстЗапроса = ТекстЗапроса +
"
|Автор = Регистр.Продажи.ТекущийДокумент.Автор;";
КонецЕсли;

Если ЕстьПроект=1 Тогда
ТекстЗапроса = ТекстЗапроса +
"
// |Проект = Регистр.Продажи.ТекущийДокумент.Проект;";
|Проект = Регистр.Продажи.ТекущийДокумент.Реализация.Договор.Проект,
|Регистр.Продажи.ТекущийДокумент.ВозвратОтПокупателя.Договор.Проект,
|Регистр.ПартииНаличие.ТекущийДокумент.Реализация.Договор.Проект,
|Регистр.ПартииНаличие.ТекущийДокумент.ВозвратОтПокупателя.Договор.Проект;";

КонецЕсли;

Если ЕстьПроизводитель=1 Тогда
ТекстЗапроса = ТекстЗапроса +
"
|ПроизводительТМЦ = Регистр.Продажи.Номенклатура.Родитель.Производитель,Регистр.Продажи.Номенклатура.Производитель,
|Регистр.ОстаткиТМЦ.Номенклатура.Родитель.Производитель,Регистр.ОстаткиТМЦ.Номенклатура.Производитель,
|Регистр.ПартииНаличие.Номенклатура.Родитель.Производитель,Регистр.ПартииНаличие.Номенклатура.Производитель;
|";
КонецЕсли;

ТекстЗапроса = ТекстЗапроса +
"
|Себест = Регистр.Продажи.Себестоимость;
|Количество = Регистр.Продажи.Количество;
|ПродСт = Регистр.Продажи.ПродСтоимость;
|СебестВ = Регистр.Продажи.СебестоимостьВ;
|КоличествоВ = Регистр.Продажи.КоличествоВ;
|ПродСтВ = Регистр.Продажи.ПродСтоимостьВ;
// БАВ
|ОстКолво = Регистр.ОстаткиТМЦ.Количество;
// |ОстЦенаПрод = Регистр.ОстаткиТМЦ.ЦенаПрод;
//
|ПартииКолво = Регистр.ПартииНаличие.Количество;
|ПартииСуммаРуб = Регистр.ПартииНаличие.СуммаРуб;
//
|Функция СуммаСебест = Сумма(Себест);
|Функция СуммаКоличество = Сумма(Количество);
|Функция СуммаПродСт = Сумма(ПродСт);
|Функция СуммаСебестВ = Сумма(СебестВ);
|Функция СуммаКоличествоВ = Сумма(КоличествоВ);
|Функция СуммаПродСтВ = Сумма(ПродСтВ);
//
|Функция КонОстПартииКолво = КонОст(ПартииКолво);
|Функция КонОстПартииСуммаРуб = КонОст(ПартииСуммаРуб);";

// Если ВыбСклад.Выбран() = 1 Тогда
// ТекстЗапроса = ТекстЗапроса +"
// |Функция КонОстКолво = КонОст(ОстКолво) когда (Склад = ВыбСклад);";
//
// КонецЕсли;
Загол="";

НетОш = 1; // нет ошибок при наложении фильтров
Если ВидРазделителя = 1 Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Фирма",ВыбРазделитель1,"ВыбРазделитель1",ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "ЮрЛицо",,,ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "УпрАналитика",,,ТекстЗапроса,Загол);
ИначеЕсли ВидРазделителя = 2 Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "ЮрЛицо",ВыбРазделитель2,"ВыбРазделитель2",ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Фирма",,,ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "УпрАналитика",,,ТекстЗапроса,Загол);
ИначеЕсли ВидРазделителя = 3 Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "УпрАналитика",ВыбРазделитель3,"ВыбРазделитель3",ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Фирма",,,ТекстЗапроса,Загол);
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "ЮрЛицо",,,ТекстЗапроса,Загол);
КонецЕсли;

//Если ВыбСклад.Выбран()=1 Тогда
// Загол = Загол+" Остатки по складу: "+ВыбСклад+".";
//
//КонецЕсли;

НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "МОЛ",ВыбСклад, "ВыбСклад",ТекстЗапроса,Загол,"СвойстваНоменклатуры");

НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Номенклатура",ВыбТМЦ, "ВыбТМЦ",ТекстЗапроса,Загол,"СвойстваНоменклатуры");
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Поставщик", ВыбПоставщик, "ВыбПоставщик",ТекстЗапроса,Загол,"СвойстваКонтрагентов");
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Покупатель", ВыбПокупатель, "ВыбПокупатель",ТекстЗапроса,Загол,"СвойстваКонтрагентов");

Если (ВыбСвойствоТМЦ.Выбран() = 1) Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "СвойствоТМЦ", ВыбСвойствоТМЦ, "ВыбСвойствоТМЦ", ТекстЗапроса,Загол);
КонецЕсли;
Если (ВыбСвойствоПоставщика.Выбран() = 1) Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "СвойствоПост",ВыбСвойствоПоставщика,"ВыбСвойствоПоставщика",ТекстЗапроса,Загол);
КонецЕсли;
Если (ВыбСвойствоПокупателя.Выбран() = 1) Тогда
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "СвойствоПок", ВыбСвойствоПокупателя,"ВыбСвойствоПокупателя",ТекстЗапроса,Загол);
КонецЕсли;
Если НетОш = 0 Тогда
Возврат;
КонецЕсли;
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Автор", , ,ТекстЗапроса,Загол,"Автор");
НетОш = НетОш * глФильтрПоПеременнойЗапроса(ТаблицаМФ, "Проект", , ,ТекстЗапроса,Загол,"Проект");

ПечЗаголовок = "Общий Анализ продаж ("+глДоллары.Наименование+")";

ПечЗаголовокСтолбца = "";
УстановитьГруппировкиЗапроса(ТекстЗапроса, ПечЗаголовокСтолбца);
КоличествоГруппировок = СписокГруппировок.РазмерСписка();

Если КоличествоГруппировок > 5 Тогда
Предупреждение("Нельзя сделать больше 5 группировок!",60);
Возврат;
КонецЕсли;

// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

ТЗТранз=СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(Тзтранз,,);
ТЗТранз.выбратьстроку();

глЧислоСтрок = 0;

Таб.ВывестиСекцию("Кнопки");
НачПовт = Таб.ВысотаСекции("Кнопки");

Таб.ВывестиСекцию("Шапка");
НачПовт = НачПовт + Таб.ВысотаСекции("Шапка");

Таб.ВывестиСекцию("ЗаголовокТаблицы");
КонПовт = НачПовт + Таб.ВысотаСекции("ЗаголовокТаблицы");
Таб.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт);

глОживить(1);

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0, "АнализПродаж", "АнализПродаж");

// ВЫВОД ГРУППИРОВОК ЗАПРОСА
ВывестиГруппировку(Запрос,1);

ПечатьСтроки(Запрос,0,"Всего","Всего:");

Таб.ОбластьПечати(3);

// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда
Таб.Защита(1);
КонецЕсли;

Таб.Показать("Анализ продаж", "");

Если (Обновить = 2)ИЛИ(ЗакрытьДиалог=1) Тогда
СтрокаДействийФормы = "#Закрыть";
КонецЕсли;
Если Вэксель=1 Тогда
ФВ=КаталогПользователя()+"report_"+ДатаЧисло(ТекущаяДата());
Таб.Записать(ФВ,1);
Предупреждение("Прайс будет сохранен под именем "+СОКРЛП(ФВ));
КонецЕсли
КонецПроцедуры // Сформировать()

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16536 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.74 от 12.04.2019
Версия JS: 1.33 | Версия CSS: 3.35