Здравствуйте как найти во всей группе. До этого не было в справочниках разделение на под группы.
То есть было (наша розница), а стало (наша розница/оптовики и наша розница/розница. см.скрин )
. и сейчас не отображается в отчете контрагенты которые были в этой группе . как сделать чтобы конраагенты брались со всей группы наша розщница.
То есть было (наша розница), а стало (наша розница/оптовики и наша розница/розница. см.скрин )
. и сейчас не отображается в отчете контрагенты которые были в этой группе . как сделать чтобы конраагенты брались со всей группы наша розщница.
Запрос.УстановитьПараметр("НашаРозница", Справочники.Контрагенты.НайтиПоКоду ("F00000023"));
Прикрепленные файлы:
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Процедура ПриОткрытии()
Нач = НачалоНедели(НачалоНедели(ТекущаяДата())-1);
Кон = НачалоНедели(ТекущаяДата())-1;
КонецПроцедуры
Процедура Запрос(Элемент)
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ТабДок.АвтоМасштаб = Истина;
ТабДок.Очистить();
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
Макет.Защита = Истина;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПродажиОбороты.Контрагент КАК Контрагент,
| ПродажиОбороты.Регистратор КАК Регистратор,
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры,
| ЕдиницыИзмерения.Коэффициент КАК Коэффициент,
| ВЫБОР
| КОГДА ПродажиОбороты.КоличествоОборот > 0
| ТОГДА ВЫРАЗИТЬ(ПродажиОбороты.КоличествоОборот / ЕдиницыИзмерения.Коэффициент - 0.5 КАК ЧИСЛО(15, 0))
| ИНАЧЕ ВЫРАЗИТЬ(ПродажиОбороты.КоличествоОборот / ЕдиницыИзмерения.Коэффициент + 0.5 КАК ЧИСЛО(15, 0))
| КОНЕЦ КАК Мешки,
| ВЫБОР
| КОГДА ПродажиОбороты.КоличествоОборот > 0
| ТОГДА (ВЫРАЗИТЬ(ПродажиОбороты.КоличествоОборот / ЕдиницыИзмерения.Коэффициент - 0.5 КАК ЧИСЛО(15, 0))) * ПродажиОбороты.Номенклатура.ВидНоменклатуры.Цена
| ИНАЧЕ (ВЫРАЗИТЬ(ПродажиОбороты.КоличествоОборот / ЕдиницыИзмерения.Коэффициент + 0.5 КАК ЧИСЛО(15, 0))) * ПродажиОбороты.Номенклатура.ВидНоменклатуры.Цена
| КОНЕЦ КАК СуммаМешков
|ИЗ
| РегистрНакопления.Продажи.Обороты(
| &Нач,
| &Кон,
| Регистратор,
| Номенклатура.ВидНоменклатуры <> &Товар
| И Контрагент.Родитель = &НашаРозница) КАК ПродажиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
| ПО ПродажиОбороты.Номенклатура = ЕдиницыИзмерения.Владелец
| И (ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &Упаковки) ";
Если НЕ Пустые Тогда
Запрос.Текст = Запрос.Текст + " ГДЕ (ПродажиОбороты.КоличествоОборот >= ЕдиницыИзмерения.Коэффициент ИЛИ -ПродажиОбороты.КоличествоОборот >= ЕдиницыИзмерения.Коэффициент) ";
КонецЕсли;
Запрос.Текст = Запрос.Текст + " ИТОГИ
| СУММА(КоличествоОборот),
| МАКСИМУМ(Коэффициент),
| СУММА(Мешки),
| СУММА(СуммаМешков)
|ПО
| Контрагент,
| НоменклатураВидНоменклатуры,
| Номенклатура";
Запрос.УстановитьПараметр("Нач", НачалоДня(Нач));
Запрос.УстановитьПараметр("Кон", КонецДня(Кон));
Запрос.УстановитьПараметр("Товар", Справочники.ВидыНоменклатуры.НайтиПоКоду("000000001"));
Запрос.УстановитьПараметр("НашаРозница", Справочники.КонтрагентыНайтиПоКоду ("F00000023")); ;
Запрос.УстановитьПараметр("Упаковки", Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("20"));
Результат = Запрос.Выполнить();
Голова = Макет.ПолучитьОбласть("Голова");
Магазин = Макет.ПолучитьОбласть("Магазин");
Тип = Макет.ПолучитьОбласть("Тип");
Номенклатура = Макет.ПолучитьОбласть("Номенклатура");
Регистратор = Макет.ПолучитьОбласть("Регистратор");
Всего = Макет.ПолучитьОбласть("Всего");
Голова.Параметры.Дата = ТекущаяДата();
Голова.Параметры.Нач = Формат(Нач, "ДЛФ=Д");
Голова.Параметры.Кон = Формат(Кон, "ДЛФ=Д");
ТабДок.Вывести(Голова);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаМагазин = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВсегоЧисло = 0;
Списание.Очистить();
ЭлементыФормы.Списать.Доступность = Истина;
Пока ВыборкаМагазин.Следующий() Цикл
Магазин.Параметры.Заполнить(ВыборкаМагазин);
ТабДок.Вывести(Магазин, ВыборкаМагазин.Уровень());
Строка = Списание.Добавить();
Строка.Контрагент = ВыборкаМагазин.Контрагент;
Строка.Сумма = ВыборкаМагазин.СуммаМешков;
ВыборкаТип = ВыборкаМагазин.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаТип.Следующий() Цикл
Тип.Параметры.Заполнить(ВыборкаТип);
ТабДок.Вывести(Тип, ВыборкаТип.Уровень());
ВыборкаНоменклатура = ВыборкаТип.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
Номенклатура.Параметры.Заполнить(ВыборкаНоменклатура);
ТабДок.Вывести(Номенклатура, ВыборкаНоменклатура.Уровень());
ВыборкаРегистратор = ВыборкаНоменклатура.Выбрать();
Пока ВыборкаРегистратор.Следующий() Цикл
Регистратор.Параметры.Заполнить(ВыборкаРегистратор);
ТабДок.Вывести(Регистратор, ВыборкаРегистратор.Уровень());
ВсегоЧисло = ВсегоЧисло + ВыборкаРегистратор.СуммаМешков;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.ПоказатьУровеньГруппировокСтрок(ТабДок.КоличествоУровнейГруппировокСтрок()-4);
Всего.Параметры.Всего = ВсегоЧисло;
ТабДок.Вывести(Всего);
КонецПроцедуры
Процедура ВыборПериодаНажатие(Элемент)
НастройкаПериода = Новый НастройкаПериода;
НастройкаПериода.УстановитьПериод(Нач, ?(Кон='0001-01-01', Кон, КонецДня(Кон)));
НастройкаПериода.РедактироватьКакИнтервал = Истина;
НастройкаПериода.РедактироватьКакПериод = Истина;
НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
НастройкаПериода.Редактировать();
Нач = НастройкаПериода.ПолучитьДатуНачала();
Кон = НастройкаПериода.ПолучитьДатуОкончания();
КонецПроцедуры
Процедура СписатьНажатие(Элемент)
Если Списание.Количество() > 0 Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РасчетыСКонтрагентамиОбороты.Регистратор.Ссылка КАК Ссылка,
| РасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент
|ИЗ
| РегистрНакопления.РасчетыСКонтрагентами.Обороты(&Дата, &Дата, Регистратор, Контрагент = &Контрагент) КАК РасчетыСКонтрагентамиОбороты";
Запрос.УстановитьПараметр("Дата", НачалоДня(НачалоДня(Кон)-1));
Запрос.УстановитьПараметр("Контрагент", Справочники.Контрагенты.НайтиПоКоду("000000497"));
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Количество() <> 0 Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Утром предпоследнего дня периода уже имеются документы списания мешков, удалить их?",Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Пока Результат.Следующий() Цикл
Докец = Результат.Ссылка;
Докум = Докец.ПолучитьОбъект();
Докум.Удалить();
КонецЦикла;
КонецЕсли;
КонецЕсли;
Для Каждого Строка Из Списание Цикл
Док = Документы.КорректировкаДолга.СоздатьДокумент();
Док.сам_ГруппыКомментарий = Справочники.сам_ГруппыКомментарийКорректировок.НайтиПоКоду("6");
Док.Комментарий = "мешкотара в рознице";
Док.ВалютаДокумента = Справочники.Валюты.НайтиПоКоду("000");
Док.ВидОперации = Перечисления.ВидыОперацийКорректировкаДолга.ПереносЗадолженности;
Док.Дата = НачалоДня(НачалоДня(Кон)-1);
Док.КонтрагентДебитор = Справочники.Контрагенты.НайтиПоКоду("000000497");
Док.КонтрагентКредитор = Строка.Контрагент;
Док.Организация = Справочники.Организации.НайтиПоКоду("000000000");
Строк = Док.СуммыДолга.Добавить();
Строк.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская;
Строк.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("00900");
Строк.КратностьВзаиморасчетов = 1;
Строк.КурсВзаиморасчетов = 1;
Строк.Сумма = Строка.Сумма;
Строк.СуммаРегл = Строка.Сумма;
Док.ДоговорКонтрагента = Строка.Контрагент.ОсновнойДоговорКонтрагента;
Док.ОтражатьВУправленческомУчете = Истина;
Док.Ответственный = Справочники.Пользователи.НайтиПоКоду(СокрЛП(ПользователиИнформационнойБазы.ТекущийПользователь().Имя));
Док.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Показать
Вот тут: Запрос.УстановитьПараметр("НашаРозница", Справочники.КонтрагентыНайтиПоКоду ("F00000023")); разве не так должно быть
Запрос.УстановитьПараметр("НашаРозница", Справочники.Контрагенты.НайтиПоКоду ("F00000023")); ?
Запрос.УстановитьПараметр("НашаРозница", Справочники.Контрагенты.НайтиПоКоду ("F00000023")); ?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот