Имя: Пароль:
1C
 
Нужна помощь с расписанием регламентного задания
,
0 Bodrug
 
19.12.18
16:32
Всем добрый день!
1. Есть справочник "ЦиклическиеЗадачи", в нем реквизит "Расписание" типа "ХранилищеЗначений". В него при записи элемента справочника помещается объект типа "Расписание регламентного задания".
2. Есть регламентное задание со своим расписанием. Нужно в общем модуле получить все элементы справочника "ЦиклическиеЗадачи", и получить из каждого его расписание.
Вот проблема в том, что когда читаю (&НаСервере) ЦиклическаяЗадача.Расписание.Получить(), то получаю Неопределено, вместо значения расписания регл. задания.
1 Bodrug
 
19.12.18
16:33
База Клиент-серверная, управляемые формы
2 Bodrug
 
19.12.18
16:34
Процедура  ВыполнитьЦиклическиеЗадачи() Экспорт

    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
                   |    ткЦиклическиеЗадачи.Ссылка КАК Ссылка,
                   |    ткЦиклическиеЗадачи.Расписание КАК Расписание,
                   |    ткЦиклическиеЗадачи.ОбразецЗадачи КАК ОбразецЗадачи,
                   |    ткЦиклическиеЗадачи.Исполнитель КАК Исполнитель,
                   |    ткЦиклическиеЗадачиПодразделения.Подразделение КАК Подразделение,
                   |    ВыполнениеЦиклическихЗадач.ДатаНачалаВыполнения КАК ДатаНачалаВыполнения,
                   |    ВыполнениеЦиклическихЗадач.ДатаЗавершенияВыполнения КАК ДатаЗавершенияВыполнения,
                   |    &ТекущаяДатаСеанса КАК ТекущаяДатаСеанса
                   |ИЗ
                   |    Справочник.ткЦиклическиеЗадачи КАК ткЦиклическиеЗадачи
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ткЦиклическиеЗадачи.Подразделения КАК ткЦиклическиеЗадачиПодразделения
                   |        ПО ткЦиклическиеЗадачи.Ссылка = ткЦиклическиеЗадачиПодразделения.Ссылка
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВыполнениеЦиклическихЗадач КАК ВыполнениеЦиклическихЗадач
                   |        ПО ткЦиклическиеЗадачи.Ссылка = ВыполнениеЦиклическихЗадач.ЦиклическаяЗадача
                   |ГДЕ
                   |    НЕ ткЦиклическиеЗадачи.ПометкаУдаления";
    Запрос.УстановитьПараметр("ТекущаяДатаСеанса",ТекущаяДатаСеанса());
    Результат = Запрос.Выполнить().Выгрузить();

    Для Каждого Стр Из Результат Цикл
        Расписание = Стр.Расписание.Получить();//вот тут = Неопределено
        ДатаНачалаВыполнения = ?(ЗначениеЗаполнено(Стр.ДатаНачалаВыполнения),Стр.ДатаНачалаВыполнения,'00010101000000');
        ДатаЗавершенияВыполнения = ?(ЗначениеЗаполнено(Стр.ДатаЗавершенияВыполнения),Стр.ДатаЗавершенияВыполнения,'00010101000000');
        Если Расписание.ТребуетсяВыполнение(Стр.ТекущаяДатаСеанса,ДатаНачалаВыполнения, ДатаЗавершенияВыполнения) Тогда
                
        КонецЕсли;
    КонецЦикла;
    
    
КонецПроцедуры
3 Bodrug
 
19.12.18
16:35
Вот сама процедура
4 Bodrug
 
19.12.18
16:35
Код процедуры прилагается
5 Bodrug
 
19.12.18
16:38
В свойствах вызываемого общего модуля стоят флажки "Сервер", "Внешнее соединение", "Вызов сервера"
6 sandal_r
 
19.12.18
16:46
Запросы не умеют работать с типом ХранилищеЗначения.
Получайте через ссылку
стр.Ссылка.Расписание.Получить()
7 Bodrug
 
19.12.18
16:48
(6) Так, к сожалению тоже не работает
8 sandal_r
 
19.12.18
16:49
(7) стр.Ссылка.Расписание тоже Неопределено?
9 Bodrug
 
19.12.18
16:51
(8) Нет, Стр.Ссылка.Расписание = ХранилищеЗначения.
И Стр.Расписание = ХранилищеЗначения.
А Стр.Ссылка.Расписание.Получить() = Неопределено
10 Вафель
 
19.12.18
16:53
а как записываешь?
11 sandal_r
 
19.12.18
16:54
(9) ну значит в ХЗ положили Неопределено
12 Bodrug
 
19.12.18
17:00
(10)

Хранилище = Новый ХранилищеЗначения(Задание.Расписание);
        
    Расписание = Хранилище;

В модуле объекта справочника ПриЗаписи()
13 Bodrug
 
19.12.18
17:00
(11) ХЗ вычисляю при записи элемента справочника. И всё норм
14 sandal_r
 
20.12.18
11:15
(13) ну а в другом месте у вас срабатывает ХЗ.Получить()?
Может туда ничего и не кладётся?
15 youalex
 
20.12.18
11:22
(6) не надо так
16 CaIIIka
 
20.12.18
11:35
(0) Создай в конфе одно регламентное задание, в справочнике интерактивно создавай/удаляй регламентное задание и храни ссылку на это задание, напр. в реквизите "ИдентификаторРегламентногоЗадания" типа "Уникальный идентификатор".
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс