Дебиторы и кредиторы

1. user1513331 24.12.20 09:19 Сейчас в теме
Добрый день!
Нужна помощь.
Функция отслеживания кредиторов и дебиторов привязана к дате договора. Как изменить и привязать к дате поступления или отгрузки по накладной?
Дебиторы:
Процедура ВыбратьКлиенты(Реж)
Перем Фрм;
Перем Тек;
Если ВыбКлиенты.РазмерСписка()>0 Тогда
Тек=ВыбКлиенты.ПолучитьЗначение(ВыбКлиенты.ТекущаяСтрока());
КонецЕсли;
ОткрытьПодбор("Справочник.Контрагенты",,Фрм,Реж,Тек);
Фрм.ВыборГруппы(1);
КонецПроцедуры
//-----------------------------
Процедура ОбработкаПодбора(ЗначПод)
Если ЗначПод.Вид()="Контрагенты" Тогда
ВыбКлиенты.ДобавитьЗначение(ЗначПод);
ВыбКлиенты.ТекущаяСтрока(ВыбКлиенты.РазмерСписка());
КонецЕсли;
КонецПроцедуры
//-------------------------------
Процедура Сформировать()
т=создатьобъект("таблицазначений");
т.новаяколонка("клиент");
т.новаяколонка("группа");
т.новаяколонка("всего");
т.новаяколонка("до15");
т.новаяколонка("от15до30");
т.новаяколонка("от30до45");
т.новаяколонка("от45до60");
т.новаяколонка("от60до75");
т.новаяколонка("от75до90");
т.новаяколонка("от90до105");
т.новаяколонка("от105до120");
т.новаяколонка("от120до135");
т.новаяколонка("от135до150");
т.новаяколонка("от150");
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,0);
БИ.ИспользоватьСубконто(ВидыСубконто.Основание,,1,0);
БИ.ВключатьСубсчета(-1,1);
БИ.ВыполнитьЗапрос(,выбдата,СчетПоКоду( "62" ));
БИ.ВыбратьСубконто(1);
пока би.получитьсубконто(1)=1 цикл
Если ВыбКлиенты.РазмерСписка()<>0 Тогда
Если ВыбКлиенты.Принадлежит(БИ.субконто(1))<>1 Тогда
продолжить;
КонецЕсли;
КонецЕсли;
БИ.ВыбратьСубконто(2);
пока би.получитьсубконто(2)=1 цикл
т.новаястрока();
т.клиент=би.субконто(1);
т.группа=би.субконто(1).родитель;
т.всего=0;
если выбдата-би.субконто(2).ДатаДоговора<=15 тогда
т.до15=би.скд()-би.скк();
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>15) и (выбдата-би.субконто(2).ДатаДоговора<=30) тогда
т.от15до30=би.скд()-би.скк();
т.до15=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>30) и (выбдата-би.субконто(2).ДатаДоговора<=45) тогда
т.от30до45=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>45) и (выбдата-би.субконто(2).ДатаДоговора<=60) тогда
т.от45до60=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>60) и (выбдата-би.субконто(2).ДатаДоговора<=75) тогда
т.от60до75=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>75) и (выбдата-би.субконто(2).ДатаДоговора<=90) тогда
т.от75до90=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>90) и (выбдата-би.субконто(2).ДатаДоговора<=105) тогда
т.от90до105=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>105) и (выбдата-би.субконто(2).ДатаДоговора<=120) тогда
т.от105до120=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от120до135=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>120) и (выбдата-би.субконто(2).ДатаДоговора<=135) тогда
т.от120до135=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от135до150=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначеесли (выбдата-би.субконто(2).ДатаДоговора>135) и (выбдата-би.субконто(2).ДатаДоговора<=150) тогда
т.от135до150=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от150=0;
т.всего=би.скд()-би.скк();
иначе
т.от150=би.скд()-би.скк();
т.до15=0;
т.от15до30=0;
т.от30до45=0;
т.от45до60=0;
т.от60до75=0;
т.от75до90=0;
т.от90до105=0;
т.от105до120=0;
т.от120до135=0;
т.от135до150=0;
т.всего=би.скд()-би.скк();
конецесли;
конеццикла;
конеццикла;
т.свернуть("группа,клиент","всего,до15,от15до30,от30до45,от45до60,от60до75,от75до90,от90до105,от105до120,от120до135,от135до150,от150");
т.сортировать("+группа,+клиент");
Таб=СоздатьОбъект("Таблица");
Таб.ВывестиСекцию("Шапка");
Таб.ТолькоПросмотр(1);
Таб.Опции(0,0,0,0,"","");
гр="";
т.выбратьстроки();
пока т.получитьстроку()=1 цикл
если гр<>т.группа тогда
гр=т.группа;
Таб.ВывестиСекцию("Группа");
конецесли;
Таб.ВывестиСекцию("Строка");
конеццикла;
Таб.ВывестиСекцию("Итог");
Таб.ПараметрыСтраницы(1,,,,3,,,,,1,,);
Таб.Показать("" );
КонецПроцедуры

выбдата=рабочаядата();
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ishelper 24.12.20 09:51 Сейчас в теме
М-да. Автор, вы большой оптимист, если рассчитываете, что кто-то тут будет ковыряться в этой простыне кода для конфигурации 7.7, снятой с поддержки 9 лет назад. Да еще и код не оформлен как код, соответствующими тегами.

Желаю удачи!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот