Итоги в динамическом списке
Разработка - Работа с интерфейсом
Добрый день, коллеги.
Сегодня столкнулся с необходимостью в динамическом списке посчитать итоги по колонкам, покопавшись на форумах, понял, что тема достаточно старая, и решения ее весьма разнообразные.
ВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента,
ВложенныйЗапрос.СуммаДокументаИтог КАК СуммаДокументаИтог
ИЗ
Документ.Документ1 КАК Документ1,
(ВЫБРАТЬ
СУММА(Документ1.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
Документ.Документ1 КАК Документ1) КАК ВложенныйЗапрос
ВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента
ПОМЕСТИТЬ ВТОсновнаяТаблица
ИЗ
Документ.Документ1 КАК Документ1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТОсновнаяТаблица.Ссылка КАК Ссылка,
ВТОсновнаяТаблица.ВерсияДанных КАК ВерсияДанных,
ВТОсновнаяТаблица.ПометкаУдаления КАК ПометкаУдаления,
ВТОсновнаяТаблица.Номер КАК Номер,
ВТОсновнаяТаблица.Дата КАК Дата,
ВТОсновнаяТаблица.Проведен КАК Проведен,
ВТОсновнаяТаблица.СуммаДокумента КАК СуммаДокумента,
ВложенныйЗапрос.СуммаДокументаИтоги КАК СуммаДокументаИтоги
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица
{ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ВТОсновнаяТаблица.СуммаДокумента) КАК СуммаДокументаИтоги
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) КАК ВложенныйЗапрос
ПО (ИСТИНА)}
2-й вариант запроса - это собственно запрос, который будет работать корректно в наших динамических списках:
ВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента
ПОМЕСТИТЬ ВТОсновнаяТаблица
ИЗ
Документ.Документ1 КАК Документ1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента,
ВложенныйЗапрос.СуммаДокументаИтог КАК СуммаДокументаИтог
ИЗ
Документ.Документ1 КАК Документ1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ВТОсновнаяТаблица.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) КАК ВложенныйЗапрос
ПО (ИСТИНА)
ГДЕ
Документ1.Ссылка В
(ВЫБРАТЬ
ВТОсновнаяТаблица.Ссылка КАК Ссылка
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица)



Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)
Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!
31720 руб.
27.03.2025 92198 69 44
Консолидация данных Работа с интерфейсом Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)
Знакомая ситуация? Пользователи, особенно менеджеры, уверены: отборов много не бывает. Идут пожелания добавить в форму списка еще один быстрый фильтр, еще два, еще пять... В итоге интерфейс превращается в нагромождение полей отбора, а потребность в «самом главном» отборе, который «вот прямо сейчас нужен», все равно не закрыта. Универсальное расширение, которое решает эту проблему элегантно и технологично. С его помощью в любую форму списка можно легко добавить панель настраиваемых кнопок-закладок, каждая из которых применяет сложный фильтр-запрос, а так же показывает актуальное количество элементов в реальном времени.
6088 руб.
17.10.2025 3625 3 0
Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)
Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.
36600 руб.
28.08.2025 10293 2 2
Работа с интерфейсом Разработчик Стажер 1С:Предприятие 8 Бесплатно (free)
Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна
20.08.2024 57294 mrXoxot 44
Работа с интерфейсом Разработчик 1С:Предприятие 8 Бесплатно (free)
Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.
27.05.2024 29956 smielka 39
Инструментарий разработчика Работа с интерфейсом Разработчик 1С 8.3 Абонемент ($m)
Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.
1 стартмани
10.04.2023 19413 190 acces969 31
Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)
Питничная фантазия на возможности в разработке интерфейсов формы с помощью Платформы 1С - делаем свою подсказку. Публикация содержит готовую библиотеку программного формирования данной подсказки.
12.08.2022 16902 top_1c 39
Работа с интерфейсом Разработчик 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)
"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.
1 стартмани
05.07.2022 17923 kalyaka 8
Возможно я сейчас ляпнул глупость так как мои познания SQL далеки от идеала, но судя по профайлеру и поведению платформы все это работает примерно так.
Я был бы признателен гуру SQL если они на примере данных профайлера объяснили мне что происходит при таком запросе динамического списка и какие здесь могут быть подводные камни.
На моих тестах в 10 колонок итогов в 50000 документах с учетом различных отборов и без, все считаются достаточно быстро.
у нас, например, 50к документов создаётся за 5 дней. поставьте эксперимент на 1млн документов
На карманных базах можно издеваться над эффективностью почти как угодно - запаса прочности хватает.
Но в промышленных базах десятки миллионов записей - это обыденность даже для таблиц документов. Где даже банальный запрос получения количества записей в таблице выполняется ощутимое время.
Когда поработаешь с большими потоками информации и посмотришь на возникающие на глазах проблемы - поневоле в первую очередь начинаешь задумываться в том числе и о масштабируемости.
Решение не лишено остроумности, но, к сожалению, плохо масштабируемо.
ИМХО, овчинка не стоит выделки. Если кому-то так уж важны общие итоги, то разумным компромиссом выглядит их получение "по кнопке". А это проще и логичнее делать через СКД.
Другое дело, что
1) если эти данные имеют самостоятельную ценность, то для этого обычно отчеты используются
2) если эти данные часть бизнес-процесса, влияющего на документооборот, то обычно такие бизнес-процессы автоматизируются более полно в рамках какого-нить рабочего стола на это заточенного
Просто пользователи в решении своих потребностей отталкиваются от того что имеют и редко способны самостоятельно сформулировать внятное техзадание.
Статья предназначается в первую очередь для ТЕХ кому это нужно.
По моему опыту в большинстве случаев это капризы пользователей, не нравится им работать с отчетами и они некоторые вещи хотят видеть сразу в списках, например суммы по отобранным документам ит.д . Тут даже не всегда получается объяснить не рациональность таких требований, а можно и работы лишиться в некоторых случаях. Если мы говорим про базы где производительность критерий номер 1 то да такой подход скорее фишка нежели что-то полезное - если же мы говорим про базы КФИС то тут это будет иметь смысл так как критерий номер 1 уже не производительность а максимально возможное количество аналитики (инталев тому пример) которую хотят видеть сразу на форме и не лезть в 100500 отчетов, и не жать дополнительные кнопки.
Как бы то ни было - у людей возникает потребности в итогах динамических списков , а решения которые находят для этого разработчики весьма изощрённые - собственно им и посвящается.
Сегодня у вас все довольны. А завтра подрастает документооборот или просто база проживет несколько лет. И у всех начинает все глючить и подтормаживать то тут то там, потому что конфа нафарширована костылями без оглядки на масштабируемость. И стоило ли бизнесу пришедшее в негодность решение, требующее больших затрат на оптимизацию (в том числе потому, что авторов давно уж нет) того года условно "красивой жизни" - большой и жирный вопрос. Бизнес вполне умеет слушать, если говорить с ним на языке денег и предлагать разумные альтернативы.
Сами итоги считать через СКД, как написано (уже давно) тут:
Причем, настройки можно анализировать и принимать соответствующие решения о необходимости пересчета итогов вообще, а также по этим настройкам можно узнать для каких полей нам нужно это делать, а для каких нет.
Я, как правило, делаю кнопку, по которой, после установки фильтров, пользователь делает необходимые расчеты. Иногда, вешаю обработку на событие "ПриАктивизацииСтроки", но обработчик этот глючный и не всегда срабатывает, например, после Ctrl+F в списке остается одна строка - событие есть, меняем условие поиска при котором у нас остается опять одна строка (другая) - события нет. Поэтому, добавляю обработчик и для "ПриАктивизацииЯчейки", т.е. сместились в строке - событие есть, короче, танцы.
Вот, в 8.3.10 пообещали обработчик "ПриПолученииДанныхНаСервере", сначала обрадовался ... но, обломали, вызов не контекстный, форму поменять нельзя, можно только строчки оформить, причем искать (сортировка, отбор и т.д.) по таким "данным" (их тама нету) бессмысленно.
Еще жду 8.3.11, там будет общение между сервером (фоновые задания) и клиентскими сеансами, не знаю, может там удастся прорваться, поживем увидим ...
Такого быстродействия не ожидал, если честно. Думаю, что такой подход, идеален, по сравнению с попыткой ловить события активизации в списке документов, что-то там анализировать и выполнять лишние серверные (причем контекстные) вызовы.
Небольшой косяк есть, это когда после поиска получаем пустой список, а потом что-то ищем и строки в списке есть, но нет активной строки, тогда имеем ТекущиеДанные = Неопределено и сумма итога не отображается, ес-но при переходе в список сумма появляется, но это фигня.
Позже погоняю справочник, к-нить иерархический, интересно как там будут фильтры отлавливаться.
Да мало, делал года два назад тесты на 50 тыс и 100 тыс для документов - нормально, хотя тоже не много. За это время платформа менялась, вроде там что-то еще улучшали, но больше не тестировал.
В одной рабочей базе 4-ый год использую, там около 3500 док/мес - работает быстро.
Может для этих целей вообще отказаться от динамического списка?? ДС в высоконагруженых системах - зло.
Если рассматривать ваши запросы, то поясните для чего нужна ВТ вообще? почему нельзя просто присоединить только готовую сумму из подзапроса?
Если требуется, то для наложения на подзапрос условий прописать в нем {где ...}. Кажется должно работать.
РаспоряжениеНаОтгрузку.Ссылка КАК Ссылка,
РаспоряжениеНаОтгрузку.ПометкаУдаления КАК ПометкаУдаления,
РаспоряжениеНаОтгрузку.Номер КАК Номер,
РаспоряжениеНаОтгрузку.Проведен КАК Проведен,
РаспоряжениеНаОтгрузку.СуммаДокумента КАК СуммаДокумента,
ВложенныйЗапрос.СуммаДокументаИтог КАК СуммаДокументаИтог,
РаспоряжениеНаОтгрузку.Дата КАК Дата
ИЗ
Документ.РаспоряжениеНаОтгрузку КАК РаспоряжениеНаОтгрузку
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ВТОсновнаяТаблица.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
Документ.РаспоряжениеНаОтгрузку КАК ВТОсновнаяТаблица
{ГДЕ
ВТОсновнаяТаблица.Ссылка.* как Ссылка}) КАК ВложенныйЗапрос
ПО (ИСТИНА)
{ГДЕ
РаспоряжениеНаОтгрузку.Ссылка.* как Ссылка} ПоказатьВЫБРАТЬ
Т.Ссылка КАК Ссылка,
ВложенныйЗапрос.СуммаДокументаИтог КАК СуммаДокументаИтог
ИЗ
Документ.Т КАК Т
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(П.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
Документ.Т КАК П
{ГДЕ
П.Ссылка.* как Ссылка}) КАК ВложенныйЗапрос
ПО (ИСТИНА)
{ГДЕ
Т.Ссылка.* как Ссылка} ПоказатьМожет подскажете, как у ДС сделать какую-либо (в моем случае не важно) строку текущей?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос("ВЫБРАТЬ
| ПоступлениеНаСчет.Ссылка КАК ДокументОплаты,
| ПоступлениеНаСчет.СуммаДокумента КАК СуммаДокумента
|ИЗ
| Документ.ПоступлениеНаСчет КАК ПоступлениеНаСчет
|ГДЕ
| ПоступлениеНаСчет.ДокументОснование = &ДокументОснование
| И ПоступлениеНаСчет.Проведен
|
|УПОРЯДОЧИТЬ ПО
| ПоступлениеНаСчет.Дата,
| ПоступлениеНаСчет.Ссылка");
Запрос.УстановитьПараметр("ДокументОснование", Объект.Ссылка);
ТаблицаОплат.Загрузить(Запрос.Выполнить().Выгрузить());
Элементы.ТаблицаОплатСуммаДокумента.ТекстПодвала = ТаблицаОплат.Итог("СуммаДокумента");
КонецПроцедуры
ПоказатьСделал расширение для формы списка документа Комплектация номенклатуры и
добавил в расширение Форму списка Комплектации, далее:
1. реквизит КоличествоИтог (Тип Число)
2. Использование Подвал - Да
3. Для колонки Количество - Текст подвала "Итого:" и Путь к данным новый реквизит КоличествоИтог
4. В модуль формы добавил код:
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
ОпределитьКоличествоКоличествоИтог();
КонецПроцедуры
&НаСервере
Процедура ОпределитьКоличествоКоличествоИтог()
Схема = Элементы.Список.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
Настройки = Элементы.Список.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема,Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
Результат = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КоличествоИтог = Результат.Итог("Количество");
КонецПроцедуры
&НаКлиенте
Процедура Расш1_СписокПриАктивизацииЯчейкиПосле(Элемент)
ОпределитьКоличествоКоличествоИтог();
КонецПроцедуры
&НаКлиенте
Процедура Расш1_ИзменитьВыделенныеПосле(Команда)
ОпределитьКоличествоКоличествоИтог();
КонецПроцедуры
Итоги в подвале показываются.
P.S. Есть некоторая особенность.
Если устанавливать/снимать Чекбоксы на форме (Вид операции и Организация), то обновление итогов произойдёт только после щелчка мышью в любой ячейке списка.
ГДЕ Документ1.ПометкаУдаления = ЛОЖЬВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента
ПОМЕСТИТЬ ВТОсновнаяТаблица
ИЗ
Документ.Документ1 КАК Документ1
ГДЕ Документ1.ПометкаУдаления = ЛОЖЬ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Документ1.Ссылка КАК Ссылка,
Документ1.ВерсияДанных КАК ВерсияДанных,
Документ1.ПометкаУдаления КАК ПометкаУдаления,
Документ1.Номер КАК Номер,
Документ1.Дата КАК Дата,
Документ1.Проведен КАК Проведен,
Документ1.СуммаДокумента КАК СуммаДокумента,
ВложенныйЗапрос.СуммаДокументаИтог КАК СуммаДокументаИтог
ИЗ
Документ.Документ1 КАК Документ1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ВТОсновнаяТаблица.СуммаДокумента) КАК СуммаДокументаИтог
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) КАК ВложенныйЗапрос
ПО (ИСТИНА)
ГДЕ
Документ1.Ссылка В
(ВЫБРАТЬ
ВТОсновнаяТаблица.Ссылка КАК Ссылка
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) ПоказатьПоэтому для корректной работы пришлось все поля, по которым я делаю поиск (через Ctrl+F).
Если делать через расширенный поиск, то всё работает ОК.
Также осталась проблема - после поиска Текущиеданные = Неопределено и приходится тыкать на любую стрчку, чтобы обновились итоги. Как решить - пока не разобрался
а вот размещение в подвале - нет
не выводится
Разместил под списком как итоги
хотелось бы понять
В запросе ДС добавить поле
"0 КАК Сумма_" - и вывести эту колонку на форму, и для списка добавить событие "СписокПриПолученииДанныхНаСервере".
&НаСервереБезКонтекста
Процедура _СписокПриПолученииДанныхНаСервереПосле(ИмяЭлемента, Настройки, Строки)
Для каждого Стр из Строки Цикл
Данные = Стр.Значение.Данные;
Данные.Сумма_ = Данные.Ссылка.Товары.Итог("Сумма_");
КонецЦикла;
КонецПроцедуры; Показать(пример для расширения)
В статье описан способ получения суммы строк по колонке в динамическом списке, а ты приводишь пример получения суммы из списка товаров документа и заполнение в строку динамического списка. Причем делаешь это в цикле, для каждой строки, и через ссылочное обращение. Т.е. твой код получает все данные документа в циле. Это еще хуже чем запрос в цикле. По хорошему, если тебе нужно получить сумму товаров, и вывести это в список, то нужно было делать в запросе. Но скорее всего у документа должен быть еще реквизит "СуммаДокумента" и тогда даже не придется обращаться к ТЧ товары и получать итог суммы.
Похоже, что отборы все таки накладываются не на первую, ВТ в запросе, как указано в статье, а на итоговую таблицу выборки.
========================
Сообразил. В первой ВТ были не все поля...
ВЫБРАТЬ
ДокументБПП_СчетНаОплату.Ссылка КАК Ссылка,
ДокументБПП_СчетНаОплату.ПометкаУдаления КАК ПометкаУдаления,
ДокументБПП_СчетНаОплату.Номер КАК Номер,
ДокументБПП_СчетНаОплату.Дата КАК Дата,
ДокументБПП_СчетНаОплату.Проведен КАК Проведен,
ДокументБПП_СчетНаОплату.ПотенциальныйПользователь КАК ПотенциальныйПользователь,
ДокументБПП_СчетНаОплату.ПериодЦен КАК ПериодЦен,
ДокументБПП_СчетНаОплату.СрокОплаты КАК СрокОплаты,
ДокументБПП_СчетНаОплату.НомерСчета КАК НомерСчета,
ДокументБПП_СчетНаОплату.Заказчик КАК Заказчик,
ДокументБПП_СчетНаОплату.СуммаПоставкиСНДС КАК СуммаПоставкиСНДС,
ДокументБПП_СчетНаОплату.СуммаВосстановленияСНДС КАК СуммаВосстановленияСНДС,
ДокументБПП_СчетНаОплату.СуммаПодключенияСНДС КАК СуммаПодключенияСНДС,
ДокументБПП_СчетНаОплату.СуммаАвансаНаОбслуживаниеСНДС КАК СуммаАвансаНаОбслуживаниеСНДС,
ДокументБПП_СчетНаОплату.СуммаТоварыСНДС КАК СуммаТоварыСНДС,
ДокументБПП_СчетНаОплату.СуммаОбщаяСНДС КАК СуммаОбщаяСНДС,
ДокументБПП_СчетНаОплату.Ответсвенный КАК Ответсвенный,
ДокументБПП_СчетНаОплату.ДатаСоздания КАК ДатаСоздания,
ДокументБПП_СчетНаОплату.ДатаПравки КАК ДатаПравки,
ДокументБПП_СчетНаОплату.ДСЦ КАК ДСЦ,
ДокументБПП_СчетНаОплату.ДатаОплаты КАК ДатаОплаты,
ДокументБПП_СчетНаОплату.ОтказОтОплаты КАК ОтказОтОплаты,
ДокументБПП_СчетНаОплату.МоментВремени КАК МоментВремени,
ДокументБПП_СчетНаОплату.ВКСПОбщий КАК ВКСПОбщий,
1 КАК ВсегоДокументов,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ДатаОплаты > ДАТАВРЕМЯ(1, 1, 1)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ОплаченоДокументов,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ОтказОтОплаты
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ОтказВОплате,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ДатаОплаты = ДАТАВРЕМЯ(1, 1, 1)
И НЕ ДокументБПП_СчетНаОплату.ОтказОтОплаты
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК ОжидающиеОплатыДокументы,
ДокументБПП_СчетНаОплату.ВКСПОбщий КАК ВсегоКГ,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ДатаОплаты > ДАТАВРЕМЯ(1, 1, 1)
ТОГДА ДокументБПП_СчетНаОплату.ВКСПОбщий
ИНАЧЕ 0
КОНЕЦ КАК ОплаченоКГ,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ОтказОтОплаты
ТОГДА ДокументБПП_СчетНаОплату.ВКСПОбщий
ИНАЧЕ 0
КОНЕЦ КАК ОтказВОплатеКГ,
ВЫБОР
КОГДА ДокументБПП_СчетНаОплату.ДатаОплаты = ДАТАВРЕМЯ(1, 1, 1)
И НЕ ДокументБПП_СчетНаОплату.ОтказОтОплаты
ТОГДА ДокументБПП_СчетНаОплату.ВКСПОбщий
ИНАЧЕ 0
КОНЕЦ КАК ОжидающиеОплатыКГ
ПОМЕСТИТЬ ВТОсновнаяТаблица
ИЗ
Документ.БПП_СчетНаОплату КАК ДокументБПП_СчетНаОплату
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
БПП_СчетНаОплату.Ссылка КАК Ссылка,
БПП_СчетНаОплату.ВерсияДанных КАК ВерсияДанных,
БПП_СчетНаОплату.ПометкаУдаления КАК ПометкаУдаления,
БПП_СчетНаОплату.Номер КАК Номер,
БПП_СчетНаОплату.Дата КАК Дата,
БПП_СчетНаОплату.Проведен КАК Проведен,
БПП_СчетНаОплату.ПотенциальныйПользователь КАК ПотенциальныйПользователь,
БПП_СчетНаОплату.ПериодЦен КАК ПериодЦен,
БПП_СчетНаОплату.СрокОплаты КАК СрокОплаты,
БПП_СчетНаОплату.НачалоСопровождения КАК НачалоСопровождения,
БПП_СчетНаОплату.НомерСчета КАК НомерСчета,
БПП_СчетНаОплату.Заказчик КАК Заказчик,
БПП_СчетНаОплату.СуммаПоставкиСНДС КАК СуммаПоставкиСНДС,
БПП_СчетНаОплату.СуммаВосстановленияСНДС КАК СуммаВосстановленияСНДС,
БПП_СчетНаОплату.СуммаПодключенияСНДС КАК СуммаПодключенияСНДС,
БПП_СчетНаОплату.СуммаАвансаНаОбслуживаниеСНДС КАК СуммаАвансаНаОбслуживаниеСНДС,
БПП_СчетНаОплату.СуммаТоварыСНДС КАК СуммаТоварыСНДС,
БПП_СчетНаОплату.СуммаОбщаяСНДС КАК СуммаОбщаяСНДС,
БПП_СчетНаОплату.Ответсвенный КАК Ответсвенный,
БПП_СчетНаОплату.ДатаСоздания КАК ДатаСоздания,
БПП_СчетНаОплату.ДатаПравки КАК ДатаПравки,
БПП_СчетНаОплату.ДСЦ КАК ДСЦ,
БПП_СчетНаОплату.ДатаОплаты КАК ДатаОплаты,
БПП_СчетНаОплату.ОтказОтОплаты КАК ОтказОтОплаты,
БПП_СчетНаОплату.ВКСПОбщий КАК ВКСПОбщий,
ВложенныйЗапрос.ВсегоДокументов КАК ВсегоДокументов,
ВложенныйЗапрос.ОплаченоДокументов КАК ОплаченоДокументов,
ВложенныйЗапрос.ОтказВОплате КАК ОтказаноВОплатеДокументов,
ВложенныйЗапрос.ОжидающиеОплатыДокументы КАК ОжидающиетОплатыДокументы,
ВложенныйЗапрос.ВсегоКГ КАК ВсегоКГ,
ВложенныйЗапрос.ОплаченоКГ КАК ОплаченоКГ,
ВложенныйЗапрос.ОтказВОплатеКГ КАК ОтказВОплатеКГ,
ВложенныйЗапрос.ОжидающиеОплатыКГ КАК ОжидающиетОплатыКГ,
БПП_СвойстваПотенциальныхКлиентов_Итоги.ПП_РИЦ КАК ОИС,
БПП_СвойстваПотенциальныхКлиентов_Итоги.ПП_МП КАК МП
ИЗ
Документ.БПП_СчетНаОплату КАК БПП_СчетНаОплату
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(ВТОсновнаяТаблица.ВсегоДокументов) КАК ВсегоДокументов,
СУММА(ВТОсновнаяТаблица.ОплаченоДокументов) КАК ОплаченоДокументов,
СУММА(ВТОсновнаяТаблица.ОтказВОплате) КАК ОтказВОплате,
СУММА(ВТОсновнаяТаблица.ОжидающиеОплатыДокументы) КАК ОжидающиеОплатыДокументы,
СУММА(ВТОсновнаяТаблица.ВсегоКГ) КАК ВсегоКГ,
СУММА(ВТОсновнаяТаблица.ОплаченоКГ) КАК ОплаченоКГ,
СУММА(ВТОсновнаяТаблица.ОтказВОплатеКГ) КАК ОтказВОплатеКГ,
СУММА(ВТОсновнаяТаблица.ОжидающиеОплатыКГ) КАК ОжидающиеОплатыКГ
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) КАК ВложенныйЗапрос
ПО (ИСТИНА)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.БПП_СвойстваПотенциальныхКлиентов_Итоги КАК БПП_СвойстваПотенциальныхКлиентов_Итоги
ПО БПП_СчетНаОплату.ПотенциальныйПользователь = БПП_СвойстваПотенциальныхКлиентов_Итоги.ПотенциальныйПользователь
ГДЕ
БПП_СчетНаОплату.Ссылка В
(ВЫБРАТЬ
ВТОсновнаяТаблица.Ссылка КАК Ссылка
ИЗ
ВТОсновнаяТаблица КАК ВТОсновнаяТаблица) ПоказатьВы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 605743
Создание 03.04.17 14:53
Обновление 03.04.17 14:53
Просмотры 52254
Загрузки 0
Рейтинг
68
Комментарии 45
Код открыт Да
Рубрики Работа с интерфейсом
Кому Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
