Текущая дата и момент времени

1. 23.06.22 17:11 Сейчас в теме +0.12 $m
Здравствуйте друзья, есть документ оформление долга.. Проблема в чем мне нужно было при выборе контрагента что бы показывал мне его долг или если иначе то мой долг.. Написал код...

Переменная = Новый Структура;
Переменная.Вставить("Контрагент",Объект.Контрагент);
Табостатки = РегистрыНакопления.РассчетДолга.Остатки(ТекущаяДата(),Переменная);
Долг = " ";
Элементы.Текст.Заголовок = Долг;
Если Табостатки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
СтрокаОстаток = Табостатки[0];
Остаток = СтрокаОстаток.Сумма;
ЗаголовокНашДолг = "Мой Долг ";
ЗаголовокДолгКонтрагента = "Долг Контрагента ";

Если Остаток < 0 Тогда
Элементы.Текст.Заголовок = ЗаголовокДолгКонтрагента + Остаток + " AZN";
ИначеЕсли
Остаток > 0 Тогда
Элементы.Текст.Заголовок = ЗаголовокНашДолг + Остаток + " AZN";

КонецЕсли;

Теперь Нужно при открытие сделать так что бы например я открыл документ уже готовый и там все таки показал долг. Но один и тот же код скапировать и поставить на событие при открытие не тот эффект потому что покажет мне на текущую дату долг. а Мне нужно вроде бы на момент времени...
ПРобовал так что "Обьект.ссылка.Моментвремени". Но при открытие задает ошибку элемент не выбран...

Прошу помочь
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. RustamZz 23.06.22 17:15 Сейчас в теме
(1) Момент времени можно получить только у записанного в базе объекта. У нового его нет, поэтому текущаядата() будет правильно.
2. FatPanzer 16 23.06.22 17:13 Сейчас в теме
Вместо даты использовать Границу.
3. user1087014 23.06.22 17:14 Сейчас в теме
5. FatPanzer 16 23.06.22 17:19 Сейчас в теме
(3) Более подробно в учебниках.
8. user1087014 23.06.22 17:40 Сейчас в теме
(5) Да ты что ?))) Я не знал) спасибо за совет )))
6. soft_wind 23.06.22 17:30 Сейчас в теме
и не ТекущуюДату() надо брать а Дату документа
а граница просто создается
лкГраница = Новый Граница(Объект.Дата, ВидГраницы.Исключая);
7. user1087014 23.06.22 17:40 Сейчас в теме
Спасибо сделал очень просто, поставил условие на контрагент.

&НаСервере
Процедура ПриОткрытииНаСервере()
если ЗначениеЗаполнено(Объект.Контрагент) тогда
Переменная = Новый Структура;
Переменная.Вставить("Контрагент",Объект.Контрагент);
Табостатки = РегистрыНакопления.РассчетДолга.Остатки(Объект.Ссылка.МоментВремени(),Переменная);
Долг = " ";
Элементы.Текст.Заголовок = Долг;
Если Табостатки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
СтрокаОстаток = Табостатки[0];
Остаток = СтрокаОстаток.Сумма;
ЗаголовокНашДолг = "Мой Долг ";
ЗаголовокДолгНам = "Долг Контрагента ";

Если Остаток < 0 Тогда
Элементы.Текст.Заголовок = ЗаголовокДолгНам + Остаток + " AZN";
ИначеЕсли
Остаток > 0 Тогда
Элементы.Текст.Заголовок = ЗаголовокНашДолг + Остаток + " AZN";

КонецЕсли;

ИначеЕсли Объект.Контрагент.Пустая() Тогда
КонецЕсли;
КонецПроцедуры
Оставьте свое сообщение
Вакансии
Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 190 000 руб.
Полный день

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

1С:Эксперт по производительности
Москва
зарплата от 400 000 руб. до 950 000 руб.
Полный день

Ведущий аналитик 1С (ERP, ЗУП)
Краснодар
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Тверь
зарплата от 150 000 руб. до 250 000 руб.
Полный день