БП1.6. Просроченная задолженность по 62 счету. Продолжение разговора

02.04.10

Учетные задачи - Взаиморасчеты

Свободное скачивание.
Для бухгалтера : подробный отчет о просроченных долгах контрагентов по 62 счету.
Для программиста : как одним  запросом получить выходную таблицу просроченных долгов ? Развитие темы  "Подведем итоги. Нарастающие" http://infostart.ru/public/61295/

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки для того, чтобы самостоятельно ее доработать для вашей базы данных. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в вашей базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке Купить один файл
ЗадолженностьПокупателейПоСрокамДолга_1_3.erf
.erf 29,89Kb
517
517
0 SM
Скачать

Общий вид отчета :

Для бухгалтера.

Для каждой пары контрагент-договор  на дату отчета определяется сумма сальдо по 62 счету в целом (колонка" Общий долг"). На эту сумму сальдо в обратном хронологическом порядке набираются документы отгрузки (дебетовые обороты счета 62.01). Для каждого документа отгрузки  определяется  количество дней от даты отчета. Это количество сравнивается с количеством дней , установленным в договоре и определяется просрочен долг по документу или нет (колонки "Просрочено" или "Не просрочено"). Если в договоре документа не указан реквизит Срок оплаты , то берется значение из формы отчета - "Срок Оплаты". Колонку "Просрочено" можно развернуть по назначенным интервалам(кнопка "Интервалы")  и дням. См рисунок.

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

Для программиста.

На тему "Просроченный долг" на ИС опубликовано немало решений . Принципиальное отличие текущей разработки прежде всего в методе получения просроченного долга.

Запрос для получения выходной таблицы получен без кодинга. Только при помощи конструктора запроса. Автору представляется такой подход к построению отчета   наиболее оптимальным для клиент-серверного варианта базы. Мы практически отвязываемся от "слабости" клиента и основную обработку перекладываем на сервер БД. Алгоритм, используемый в отчете и описанный в статье //infostart.ru/public/61295/,  должен быть эффективен при использовании как на малых , так и на средних (>30 Гб) и  больших базах (>100 Гб). Автор будет особенно признателен авторам отзывов , которые будут тестировать отчет на средних и больших базах.
В представленном внешнем отчете для оформления использованы процедуры и функции типового отчета БП 1.6 "Задолженность покупателей по срокам долга". Функционирование отчета протестировано на релизах БП с 1.6.15 по 1.6.22.
Для выделения строки в табличном документе отчета использована разработка "Активный крест в табличном документе" //infostart.ru/public/19519/

 

Для любопытных.

Задача просроченных долгов - лишь частный случай задачи списания по методу ФИФО.
Действительно, в задаче просроченного долга :
S- сумма долга контрагента
C1,C2,.....Сk - последовательность сумм документов отгрузки
Нужно определить такую последовательность Сm,Cm+1....Cn , чтобы
S=Сm+Cm+1+....+Cn
Грубо говоря , мы набираем на сумму S суммы документов отгрузки.

Если вместо S определить последовательность приходов S1,S2,.....Sk , то получим задачу списания по методу ФИФО.

В настоящий момент автор полагает , что такая задача может быть решена без кодинга при помощи одного пакета запросов, набранного в конструкторе. Возможно, построение такого запроса , будет рассмотрено позднее.

"Позднее" наступило 02.04.2010 //infostart.ru/public/68225/

См. также

SALE! %

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

45650 26673 руб.

24.04.2015    191951    136    240    

271

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    22990    190    7    

170

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

12000 руб.

13.03.2018    57678    190    76    

117

Взаиморасчеты Бухгалтер Пользователь Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Один из лучших вариантов отчета по дебиторской задолженности. Отображает сроки возникновения задолженности, просроченной задолженности с точностью до регистратора, а также многое другое, вне зависимости от схемы взаиморасчетов (online / offline) и объекта расчетов (УТ 11.3, 11.4, 11.5, КА 2.4, 2.5, ERP 2.4, 2.5), состояния флажка "по документам расчета" ( УТ 10, КА 1.1, УПП 1.3) в договоре. Группирует задолженность по интервалам. Имеет большое количество настроек. Не требует доработок конфигурации.

15120 руб.

28.09.2012    95489    592    281    

143

Учет доходов и расходов Взаиморасчеты БДР, БДДС Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Мы доработали типовой платежный календарь, добавив в него планируемые постоянные расходы. Теперь можно видеть картину денежных средств в совокупности с текущей динамикой ожидаемых поступлений и расходов. Отчет позволяет увидеть остатки денежных средств в кассе и банке, их движение в разрезе статей ДДС с возможностью выбрать любой период (день, неделя, месяц). Данный отчет подходит для всех основных конфигураций линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289): 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.77.95), 1С:Управление торговлей, 1С:Комплексная автоматизация 2 (2.4.11.67), Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2 (2.4.13.111). Также есть возможность адаптации отчета под другие конфигурации. Мобильное приложение работает как на Android, так и на IOS.

2880 руб.

16.03.2021    21166    5    13    

24

Взаиморасчеты Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Знаем о взаиморасчетах в Управлении нашей фирмой все, что только можно знать. Самая большая проблема взаиморасчетов в УНФ в том, что зависают непонятные долги и предоплаты, в Пульсе бизнеса показываются неадекватные цифры, отчеты по долгам показывают не пойми что. Автоматический зачет авансов в 1С:УНФ поможет решить эту проблему.

12000 руб.

22.07.2021    24319    28    34    

36
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ValeriTim 20 14.01.10 10:21 Сейчас в теме
Вот действительно классный отчет с отличной реализацией. Можно было бы поставить +10 - поставил бы :!:
2. anig99 2846 16.01.10 20:18 Сейчас в теме
гыгы... плюсы за идею уже ставил... отчет может и хороший, но я такие не юзаю, поэтому ничего пока не поставлю....(:
3. Ish_2 1105 16.01.10 23:16 Сейчас в теме
4. мсе 18.01.10 11:43 Сейчас в теме
Очень приятно, что можно увидеть дату возникновения задолженности.
5. пользователь 18.01.10 17:38
Сообщение было скрыто модератором.
...
6. Ish_2 1105 18.01.10 17:43 Сейчас в теме
(5) Да , ладно ,Женя. Чего там..
7. пользователь 18.01.10 17:48
Сообщение было скрыто модератором.
...
8. пользователь 18.01.10 17:50
Сообщение было скрыто модератором.
...
9. bb1962 992 20.01.10 09:53 Сейчас в теме
(0) > такая задача может быть решена без кодинга при помощи одного пакета запросов
Всегда ли это хорошо? По этому пути идут разработчики 1С, но каково потом вносить изменения в эти "многоэтажные запросы".
10. Ish_2 1105 20.01.10 11:31 Сейчас в теме
(9) Вопрос закономерный : Всегда ли это хорошо ?

Для данной конкретной задачи - считаю , что ДА.

1. Переносим всю обработку на Сервер БД(отвязываемся от слабости клиента).

2. Для больших БД такой подход более эффективен (обладает высоким быстродействием), чем кодинг.

3. "Многоэтажный" запрос - это совокупность небольших простых запросов , последовательное получение временных таблиц. Такой запрос легко может быть разбит при отладке и есть возможность просмотра промежуточных результатов.

11. KapasMordorov 428 20.01.10 12:33 Сейчас в теме
(9)
(10)
Я тут sql.ru пошарил.
Вроде бы ФИФО запросами они там сделали.
Но пришли к выводу, что цикл в хранимой процедуре быстрее.
12. Ish_2 1105 20.01.10 12:53 Сейчас в теме
(11) Речь идет методе списания ФИФО ?
Эффективность реализации метода списания ФИФО - как "все в одном запросе", разумеется, будет определяться по результатам тестирования и сравнения. На SQL.ru я задавал этот вопрос . Кроме общих скептических соображений ничего не услышал и ссылок никто не привел.
Пока речь идет лишь о решениии некоей абстрактной задачи
http://infostart.ru/public/63048/?PAGEN_1=3#comm340515
13. KapasMordorov 428 20.01.10 13:37 Сейчас в теме
Сегодня НДС и не помню какой текст в яндексе вчера набирал для поиска. Попадаю в другую ветку sql.ru
Будет время, поищу
14. I_G_O_R 69 23.01.10 20:47 Сейчас в теме
Зачем запрос отдельно от СКД?
15. Ish_2 1105 23.01.10 22:40 Сейчас в теме
(14) Заметил -таки.
Вначале я планировал так :
Наборы данных :
Первый - это сам запрос.
Второй - это таблица интервалов дней ( вводится пользователем), каждая строка которой содержит два значения "с" и "по" .
Делаем левое соединение и ОК.
Но левое соединение в СКД предполагает только соединения по равенству.
Моё же левое соединение должно быть по условию вхождения в интервал
> "с" и <="до" (двойное неравенство).
Поэтому пришлось всё делать вне СКД.

А ты еще помнишь тему "Языком запросов раздать N яблок M складам"
http://infostart.ru/public/21564/
Ноги третьего абзаца "для любопытных" растут из неё .
16. I_G_O_R 69 23.01.10 23:01 Сейчас в теме
да я давно заметил, просто сказать было нечего, да и посмотрел только

а в чем проблема соединение делать в запросе и использовать один набор данны?
СтрЗаменить - тоже не нравится, я бы все-таки сделал полностью в СКД, в настройках бы добавил отборы, но включал их только если значения заполнены


Ноги третьего абзаца
- не понял что это

17. Ish_2 1105 23.01.10 23:34 Сейчас в теме
(16)
В одном наборе данных , т.е. в одном запросе в СКД нельзя использовать данные из внешнего источника.
Т.е. тот запрос из текста как есть в СКД не засунешь, т.к. он содержит
&ВнешнийИсточник.

Третий абзац текущей темы "Для любопытных" содержит описание задачи
списания по ФИФО.
В первый раз я описал эту задачу в коммментарии № 8 твоей темы про яблоки.
18. nikola_piter 24.01.10 00:15 Сейчас в теме
19. I_G_O_R 69 24.01.10 13:31 Сейчас в теме
а задача с периодами решается вообще в режиме предприятие с помощью пользовательских полей или таким запросом
ВЫБРАТЬ
	1 КАК НомерИнтервала,
	1 КАК НачалоИнтервала,
	7 КАК КонецИнтервала,
	"от 1 до 7 дней" КАК ИмяИнтервала
ПОМЕСТИТЬ ТабИнтервалы

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	2,
	8,
	15,
	"от 8 до 15 дней"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	3,
	16,
	30,
	"от 16 до 30 дней"
;
Показать
Прикрепленные файлы:
20. Ish_2 1105 24.01.10 15:03 Сейчас в теме
(19) Такой подход к пострению в запроса оправдан, если интервалы вечны и неизменны.Но так как пользователь должен произвольно назначать интервалы , то такой путь построения запроса сомнителен.

А на скриншоте у тебя показано то же,что и в моём отчете по кнопке "интервалы". Т.е. пользователь интерактивно заполняет таблицу интервалов, которая потом через параметр &ВнешнийИсточник используется в запросе.
21. WKBAPKA 214 24.01.10 16:39 Сейчас в теме
:oops: нифига себе запрос
22. Ish_2 1105 24.01.10 20:35 Сейчас в теме
(21) Георгий, ты конструктивен. И лаконичен.
(19) Не сразу понял , что ты вел речь о настройке в типовых отчетах для СКД.
23. WKBAPKA 214 24.01.10 21:10 Сейчас в теме
Вот запрос который решает проблему для меня в УТ, правда при обходе нужно расчитать коэффициент. Кстати, может укажите мне на мои ошибки:
ВЫБРАТЬ
	ВзаиморасчетыСКонтрагентами.Регистратор КАК Регистратор,
	ВзаиморасчетыСКонтрагентами.Сделка КАК Сделка,
	ВзаиморасчетыСКонтрагентами.Контрагент.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
	ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента КАК ДоговорКонтрагента,
	ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
	ВзаиморасчетыСКонтрагентами.Контрагент.ГоловнойКонтрагент.ОсновнойМенеджерПокупателя КАК Менеджер,
	ЕСТЬNULL(ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК СуммаВзаиморасчетовНачальныйОстаток,
	ЕСТЬNULL(ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток, 0) КАК СуммаВзаиморасчетовКонечныйОстаток,
	ЕСТЬNULL(ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот, 0) КАК СуммаВзаиморасчетовОборот,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаРеализацияТовара,
	ВЫБОР
		КОГДА (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
				ИЛИ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер)
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаОплатыТовара,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаВозвратаТовара,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаПоступленияТовараПоставщик,
	ВЫБОР
		КОГДА (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеИсходящее
				ИЛИ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер)
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаОплатыТовараПоставщик,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаВозвратаТовараПоставщик,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаДолга
				И ВзаиморасчетыСКонтрагентами.Регистратор.Дата >= &Дата1
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовОборот
	КОНЕЦ КАК СуммаКорректировкиДолга,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток < 0
			ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток
		ИНАЧЕ 0
	КОНЕЦ КАК Предоплата,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток > 0
			ТОГДА ВЫБОР
					КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом.Дата, &Дата2, ДЕНЬ) <= ВзаиморасчетыСКонтрагентами.Контрагент.ДопустимоеЧислоДнейЗадолженности
						ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 0
	КОНЕЦ КАК Текущая,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток > 0
			ТОГДА ВЫБОР
					КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом.Дата, &Дата2, ДЕНЬ) > ВзаиморасчетыСКонтрагентами.Контрагент.ДопустимоеЧислоДнейЗадолженности
							И РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом.Дата, &Дата2, ДЕНЬ) <= ВзаиморасчетыСКонтрагентами.Контрагент.ДопустимоеЧислоДнейЗадолженности + &ЧислоДней
						ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 0
	КОНЕЦ КАК Лояльная,
	ВЫБОР
		КОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток > 0
			ТОГДА ВЫБОР
					КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом.Дата, &Дата2, ДЕНЬ) > ВзаиморасчетыСКонтрагентами.Контрагент.ДопустимоеЧислоДнейЗадолженности + &ЧислоДней
						ТОГДА ВзаиморасчетыСКонтрагентами.СуммаВзаиморасчетовКонечныйОстаток
				КОНЕЦ
	КОНЕЦ КАК Просроченная
ИЗ
	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, Движения, Контрагент В ИЕРАРХИИ (&Параметр1)) КАК ВзаиморасчетыСКонтрагентами
ГДЕ
	ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента.БонусДилера = ЛОЖЬ

УПОРЯДОЧИТЬ ПО
	ВзаиморасчетыСКонтрагентами.Сделка.Дата,
	ВзаиморасчетыСКонтрагентами.ДокументРасчетовСКонтрагентом.Дата
ИТОГИ
	СУММА(СуммаВзаиморасчетовНачальныйОстаток),
	СУММА(СуммаВзаиморасчетовКонечныйОстаток),
	СУММА(СуммаВзаиморасчетовОборот),
	СУММА(СуммаРеализацияТовара),
	СУММА(СуммаОплатыТовара),
	СУММА(СуммаВозвратаТовара),
	СУММА(СуммаПоступленияТовараПоставщик),
	СУММА(СуммаОплатыТовараПоставщик),
	СУММА(СуммаВозвратаТовараПоставщик),
	СУММА(СуммаКорректировкиДолга),
	СУММА(Текущая),
	СУММА(Лояльная),
	СУММА(Просроченная)
ПО
	ОБЩИЕ,
	ГоловнойКонтрагент ИЕРАРХИЯ КАК ГоловнойКонтрагент,
	ДоговорКонтрагента КАК ДоговорКонтрагента,
	Сделка КАК Сделка,
	ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
	Регистратор КАК Регистратор


Показать
24. I_G_O_R 69 25.01.10 00:27 Сейчас в теме
(23)
ГДЕ 
   ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента.БонусДилера = ЛОЖЬ
- это нужно запихать в параметры виртуальной таблицы, но как я понимаю, таких договоров большинство, так что скорости скорее всего не сильно прибавит.
ОстаткиИОбороты - сама по себе очень тормозная таблица, смотрел в MS SQL Profiler, 1С генерирует кучу запросов;
еще нужно заменить
ВзаиморасчетыСКонтрагентами.Регистратор.Дата
на
ВЫРАЗИТЬ(ВзаиморасчетыСКонтрагентами.Регистратор КАК Документ.РеализацияТоваровУслуг).Дата

- это из базы знаний 1С http://kb.1c.ru/articleView.jsp?id=44#dot_after_component_type
25. Ish_2 1105 25.01.10 07:35 Сейчас в теме
(23) Скажи , Георгий , зависит ли правильность результата отчета от последовательности проведения документов ?
26. WKBAPKA 214 25.01.10 09:52 Сейчас в теме
2(25): меня зовут не Георгий, а Ярослав...
я так понимаю, что речь идет о дате возникновения долга... прежде всего, я пользуюсь регистром "Взаиморасчеты с контрагентами по документам расчета". Этот регистр, насколько я понял, используется только тогда, когда для договора контрагента установлен признак "Вести учет по документам расчетов". Т.к. я для себя установил такой признак для всех, то соответственно я использую измерения "Документ расчетов с контрагентом" в качестве отправной точки для расчета задолженности. В этом случае для меня последовательность не важна, т.к. фактически я получаю сальдо по этому измерению, а не по регистратору. А т.к. на предприятии в 99% случаев всегда идет цепочка Заказ - Расход то в моем случае задача упрощается...
помучаться пришлось с одним, и то, потому как туповат стал... результат запрос по виртуальным показателям по каждой группировке суммируется, чем больше регисраторов тем в большее количество раз, соответственно, при обходе пришлось брать полученный результат делить на конечный долг, получать коэффициент и уже после этого делить полученный результат на этот коэффициент...
28. Ish_2 1105 25.01.10 09:56 Сейчас в теме
29. WKBAPKA 214 25.01.10 10:00 Сейчас в теме
как бы задача решилась, но не приятный остаток остался ...
2(28): скажите, а манипулирование виртуальными таблицами, кроме хранения промежуточных результатов, что дает?
например, могу ли я выполнить запрос с подсчетом итогов с помощью предложения "ИТОГИ ПО", поместить результат в виртуальную таблицу, и в другом запросе обратиться к этому результату, выбрать необходимые данные и опять подсчитать итоги... или виртуальные таблицы просто позволяют делить большие запросы на подзапросы с последовательным (каскадным) исполнением, и предназначены сугубо для оптимизации?
31. Ish_2 1105 25.01.10 10:04 Сейчас в теме
(29) Кажется не совру , если скажу :
Предложение "ИТОГИ" нельзя использовать при помещении результата во временную таблицу (опция ПОМЕСТИТЬ)
32. Ish_2 1105 25.01.10 10:05 Сейчас в теме
(29)
виртуальные таблицы просто позволяют делить большие запросы на подзапросы с последовательным (каскадным) исполнением, и предназначены сугубо для оптимизации?


Согласен.
35. tango 543 25.01.10 10:13 Сейчас в теме
(29),(31)
Прикрепленные файлы:
37. WKBAPKA 214 25.01.10 10:17 Сейчас в теме
2(35): логично, если использовать таблицу значений... есть один нюанс, по крайней мере у меня не получалось, если поле составного типа, то запрос к такой таблице значений не будет работать... требует исключительно типизированные поля...
и еще, и желательно индексировать поля ТЗ, иначе медленно работает
38. Ish_2 1105 25.01.10 10:25 Сейчас в теме
(35) Ты привёл пример как обойти ограничение : невозможность совместного использования опций ИТОГИ и ПОМЕСТИТЬ.
Но разумнее , мне кажется, подход , где используется две врем. таблицы :
1. Запрос без итогов
2. Запрос с опцией СГРУППИРОВАТЬ
30. Ish_2 1105 25.01.10 10:02 Сейчас в теме
(26) Можно сказать , что решение тобой предлагаемое - частное.
Т.е. в случае если не установлен флаг "Вести учет по документам расчетов", то предложенный тобой алгоритм неприменим при нарушении псоледовательности.


33. WKBAPKA 214 25.01.10 10:08 Сейчас в теме
2(30): совершенно верно... это сильно упростило задачу... дело в том, что в типовой сделали закрытие реализации по фифо в платежных документах, но только для этого регистра, грех было не воспользоваться...
34. Ish_2 1105 25.01.10 10:11 Сейчас в теме
(33) Ты договаривай до конца : объем данных регистра после установки расчета по документам резко вырос.
36. WKBAPKA 214 25.01.10 10:13 Сейчас в теме
2(34): ыщо пока не проверял... но если учитывать туеву кучу регистров, что натулили в типовой, добавление еще одного регистра особо как то не повлияет на скорострельность...
но по скорости роста базы, прирост не значителен...
27. WKBAPKA 214 25.01.10 09:52 Сейчас в теме
39. Dimel 30.04.10 05:33 Сейчас в теме
Спасибо - хороший отчет только мелкий косячок в запрос передается дата конца дня а при работе с таблицей остатков надо бы границу ;)
40. ivan07 27.01.12 13:59 Сейчас в теме
Спасибо, воспользовался вашим отчетом, все отлично
41. Motor24 06.12.12 11:31 Сейчас в теме
Скачал, спасибо, надеюсь на БП 2.0 (8.2) переконвертируется нормально.
42. пользователь 16.04.14 16:33
Сообщение было скрыто модератором.
...
43. Ish_2 1105 16.04.14 19:22 Сейчас в теме
(42) Здесь скорее интерес для программиста.
Оставьте свое сообщение