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

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 лет назад. Да еще и код не оформлен как код, соответствующими тегами.

Желаю удачи!
Оставьте свое сообщение
Вакансии
Аналитик 1C
Москва
зарплата от 120 000 руб. до 250 000 руб.
Полный день

Тестировщик 1С
Москва
зарплата от 125 000 руб.
Полный день

Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день