Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Динамический список + ТекущаяДата()          
DartRomanius Подменю пользователя
сообщение 19.07.11, 9:19
Сообщение #1

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Коллеги вопрос.

Как (и возможно ли?), не извращаясь с Обработкой Ожидания, засунуть текущую дату в произвольный запрос у динамического списка.

Спасибо за ответы заранее.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

logist Подменю пользователя
сообщение 19.07.11, 9:29
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Не претендую на истину и точность кода, но можно попробовать так:
В запросе использовать параметр &ТекДата, при открытии списка добавить процедуру
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
      Список.Параметры.Вставить("ТекДата");
      Список.Параметры.УстановитьЗначениеПараметра("ТекДата",  ТекущаяДата());
КонецПроцедуры


Signature
Личные бесплатные консультации не даю, для этого есть форум!

pablo Подменю пользователя
сообщение 19.07.11, 9:54
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Текущая дата должна изменяться в процессе отображения формы?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

DartRomanius Подменю пользователя
сообщение 19.07.11, 10:02
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(logist @ 19.07.11, 10:29) *
Не претендую на истину и точность кода, но можно попробовать так:
В запросе использовать параметр &ТекДата, при открытии списка добавить процедуру
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
      Список.Параметры.Вставить("ТекДата");
      Список.Параметры.УстановитьЗначениеПараметра("ТекДата",  ТекущаяДата());
КонецПроцедуры


Тут как раз понятно.

Задача в том, что требуется проводить сравнение с текущей датой при каждом обновлении динамического списка.
Грубо есть параметр получаемый из запроса, в запросе же он сравнивается с текущей датой, и вычисляемый параметр в зависимости от результатов сравнения.
К этому же вопросу стоит отнести и условное оформление в зависимости от текущей даты.

Пока ничего лучше чем привинчивать обработку ожидания не нашел. Из минусов, увеличение потока данных от сервера к клиенту. И некоторая погрешность (в секундах).

Цитата(pablo @ 19.07.11, 10:54) *
Текущая дата должна изменяться в процессе отображения формы?


Да. При каждом обновлении динамического списка. В моем случае раз в 30 секунд, хотя могу конечно увеличить и до минуты, что-бы снизить нагрузку.

ЗЫ: Что интересно в СКД подобный метод есть.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

pablo Подменю пользователя
сообщение 19.07.11, 10:29
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

То есть, если есть доки с временем А,Б,С и А<ТекущаяДата()<Б<С, отображается только А. Как только ТекущаяДата()>Б (с задержкой до минуты), то должен отобразиться и Б?

Сообщение отредактировал pablo - 19.07.11, 10:29


Signature
Правильно поставленный вопрос содержит до 90% ответа.

DartRomanius Подменю пользователя
сообщение 19.07.11, 10:55
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(pablo @ 19.07.11, 11:29) *
То есть, если есть доки с временем А,Б,С и А<ТекущаяДата()<Б<С, отображается только А. Как только ТекущаяДата()>Б (с задержкой до минуты), то должен отобразиться и Б?


Ну вроде того. Хотя у меня не отбор.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

pablo Подменю пользователя
сообщение 19.07.11, 11:00
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Цитата
Хотя у меня не отбор.
. Здесь важно, существуют ли доки с временем Б и С на момент открытия формы.
Если существуют, то другого решения, кроме Вашего, я не вижу. Если же они создаются во время отображения формы (пусть даже и не в этом экземпляре клиента), то есть куда покопаться.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

DartRomanius Подменю пользователя
сообщение 19.07.11, 11:14
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(pablo @ 19.07.11, 12:00) *
. Здесь важно, существуют ли доки с временем Б и С на момент открытия формы.
Если существуют, то другого решения, кроме Вашего, я не вижу. Если же они создаются во время отображения формы (пусть даже и не в этом экземпляре клиента), то есть куда покопаться.


А с этого момента поподробнее можно?


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

pablo Подменю пользователя
сообщение 19.07.11, 11:45
Сообщение #9

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Если док создается в этом же экземпляре клиента, то тут все просто:
ЭтаФорма.ОтобразитьИзменениеДанных(СсылкаНаДок,ВидИзмененияДанных.Добавление);

Если же в другом - то ... готового решения нет, в любом случае получаются дополнительные серверные вызовы. Я бы попробовал сделать РегламентноеЗадание и функцию ПоместитьВоВременноеХранилище(), которая "Также позволяет поместить данные из фонового задания в родительский сеанс."


Signature
Правильно поставленный вопрос содержит до 90% ответа.

DartRomanius Подменю пользователя
сообщение 19.07.11, 13:39
Сообщение #10

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

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

Грубо + 1 вызов сервера в минуту например.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 23.04.24, 10:48
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!