|
В ссылке одно значение в объекте другое | ☑ | ||
---|---|---|---|---|
0
Лялечка
22.09.11
✎
11:33
|
Добрый день! Подскажите, пожалуйста. Ситуация такая.
Есть объект "Задача". На форме элемента расположено поле HTML документа. Необходимо его очистить. Пишу код: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | CRM_Задача.Ссылка |ИЗ | Задача.CRM_Задача КАК CRM_Задача |ГДЕ | CRM_Задача.Номер = ""000006941"""; Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл ОбъектЗадача = Результат.Ссылка.ПолучитьОбъект(); ОбъектЗадача.ОписаниеТочкиМаршрута = ""; ОбъектЗадача.Записать(); Сообщить("Записана задача " + Результат.Ссылка); КонецЦикла; Проверяю в отладчике, ОбъектЗадача.ОписаниеТочкиМаршрута = "". При открытии формы задачи: ... ОбластьЧтения = СформироватьОписаниеТочкиМаршрута(); ЭлементыФормы.ОбластьЧтенияHTMLОписаниеТочкиМаршрута.УстановитьТекст(ОбластьЧтения); ... Функция СформироватьОписаниеТочкиМаршрута() Экспорт СтрРазделитель = "____________________________________________________________________</BR>"; СтрОписаниеТочкиМаршрута = "<FONT color=#a52a2a>"+СокрЛП(ОписаниеТочкиМаршрута)+"</FONT></BR>"; ... ИтоговаяСтрока = СтрОписаниеТочкиМаршрута+?(СтрПереадресаций<>"",СтрРазделитель+СтрПереадресаций,""); Возврат ИтоговаяСтрока; КонецФункции Так вот Ссылка.ОписаниеТочкиМаршрута = "", а ЭтотОбъект.ОписаниеТочкиМаршрута = "парам пам пам". В результате при открытии формы поле все равно остается заполнено:( ОписаниеТочкиМаршрута - реквизит задачи, тип Строка Почему же в ссылке значение пустое, а в объекте нет? Как очистить реквизит объекта? |
|||
1
Axel2009
22.09.11
✎
11:37
|
объект не записан. поэтому ссылка. = пусто
|
|||
2
zbv
22.09.11
✎
11:39
|
ну так он наверное очищен. Проверь в отладчике при открытии объекта.
Просто в процедуре СформироватьОписаниеТочкиМаршрута генерируется какой-то текст по умолчанию. |
|||
3
Лялечка
22.09.11
✎
11:39
|
(1) Почему, если я выполнила:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | CRM_Задача.Ссылка |ИЗ | Задача.CRM_Задача КАК CRM_Задача |ГДЕ | CRM_Задача.Номер = ""000006941"""; Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл ОбъектЗадача = Результат.Ссылка.ПолучитьОбъект(); ОбъектЗадача.ОписаниеТочкиМаршрута = ""; ОбъектЗадача.Записать(); Сообщить("Записана задача " + Результат.Ссылка); КонецЦикла; В объекте не поменялось значение... |
|||
4
Ненавижу 1С
гуру
22.09.11
✎
11:43
|
я так понял форма привязана к одному объекту, а тут идет работа (запись) через другой
может стоит тогда у объекта формы снова Прочитать() ? |
|||
5
Лялечка
22.09.11
✎
11:44
|
(2) При открытии ЭтотОбъект.ОписаниеТочкиМаршрута = "", почему же в СформироватьОписаниеТочкиМаршрута() ЭтотОбъект.ОписаниеТочкиМаршрута = "парам пам пам"
|
|||
6
zbv
22.09.11
✎
11:46
|
(5) Процедура СформироватьОписаниеТочкиМаршрута - большая ?
если нет, то давай ее в студию. Скорее всего там происходит заполнение реквизита. Кстати, после открытия модифицированность изменяется ? |
|||
7
Лялечка
22.09.11
✎
11:48
|
(6)
Функция СформироватьОписаниеТочкиМаршрута() Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | CRM_ИсторияПереадресацииЗадач.Задача.Ссылка, | CRM_ИсторияПереадресацииЗадач.Период КАК Период, | CRM_ИсторияПереадресацииЗадач.Исполнитель, | CRM_ИсторияПереадресацииЗадач.Переадресовал, | CRM_ИсторияПереадресацииЗадач.НовыйИсполнитель, | CRM_ИсторияПереадресацииЗадач.ДатаПринятияКИсполнению, | CRM_ИсторияПереадресацииЗадач.Комментарий |ИЗ | РегистрСведений.CRM_ИсторияПереадресацииЗадач КАК CRM_ИсторияПереадресацииЗадач |ГДЕ | CRM_ИсторияПереадресацииЗадач.Задача = &Задача | |УПОРЯДОЧИТЬ ПО | Период"; Запрос.УстановитьПараметр("Задача", Ссылка); Данные = Запрос.Выполнить().Выгрузить(); СтрРазделитель = "____________________________________________________________________</BR>"; //СтрОписаниеТочкиМаршрута = "<B>Задание: </B></BR>"; СтрОписаниеТочкиМаршрута = "<FONT color=#a52a2a>"+СокрЛП(ОписаниеТочкиМаршрута)+"</FONT></BR>"; СтрПереадресаций = ""; Для Каждого СтрокаДанных ИЗ Данные Цикл Если СтрокаДанных.ДатаПринятияКИсполнению <> Дата('00010101') Тогда СтрПереадресаций = СтрПереадресаций + "Принял к исполнению:"+" "+ "("+Формат(СтрокаДанных.ДатаПринятияКИсполнению,"ДЛФ=DT")+")" + " " + СтрокаДанных.Исполнитель+"</BR>"; КонецЕсли; СтрПереадресаций = СтрПереадресаций + "Переадресовал: "+" "+ "("+Формат(СтрокаДанных.Период,"ДЛФ=DT")+")" + " " + СтрокаДанных.Переадресовал+"</BR>"; СтрПереадресаций = СтрПереадресаций + "Комментарий: "+ СокрЛП(СтрокаДанных.Комментарий)+"</BR>"; СтрПереадресаций = СтрПереадресаций + СтрРазделитель; КонецЦикла; ИтоговаяСтрока = СтрОписаниеТочкиМаршрута+?(СтрПереадресаций<>"",СтрРазделитель+СтрПереадресаций,""); ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, Символы.ПС, "</BR>"); ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, Символы.Таб, " "); Возврат "<FONT Size = 2>" + ИтоговаяСтрока + "</FONT>"; КонецФункции |
|||
8
Лялечка
22.09.11
✎
11:50
|
(6) ничего не меняется вроде...
|
|||
9
Лялечка
22.09.11
✎
11:50
|
СтрОписаниеТочкиМаршрута = "<FONT color=#a52a2a>"+СокрЛП(ОписаниеТочкиМаршрута)+"</FONT></BR>";
В этой строчке ОписаниеТочкиМаршрута = "парам пам пам" |
|||
10
zbv
22.09.11
✎
11:51
|
(7) А вот это "ЭтотОбъект.ОписаниеТочкиМаршрута = "парам пам пам" - точно так ?
или "парам пам пам" - это у тебя на форме отображается ? |
|||
11
zbv
22.09.11
✎
11:52
|
(9) а равно именно "парам пам пам" или какой-то вразумительный текст ?
(10) - отменяется |
|||
12
Лялечка
22.09.11
✎
11:52
|
(11) вразумительный текст
|
|||
13
Ненавижу 1С
гуру
22.09.11
✎
11:53
|
(12) секретный?
|
|||
14
Лялечка
22.09.11
✎
11:53
|
(13) я думаю, что не принципиально, какой текст
|
|||
15
Лялечка
22.09.11
✎
11:55
|
текст этот взялся из шаблона БП. Кто-то его там заполнил когда-то и БП стартовал. Он попал в задачу. Теперь шаблон поправили, задачу надо исправить тоже.
|
|||
16
hhhh
22.09.11
✎
11:57
|
(13) но ведь ясно какой текст.
Принял к исполнению Переадресовал Комментарий Возврат "<FONT Size = 2>" + ИтоговаяСтрока + "</FONT>"; |
|||
17
Лялечка
22.09.11
✎
11:58
|
(13) нет, выводится одна конкретная строка, которая была заполнена в шаблоне, как задание на этап. Задачу не переадресовывали.
|
|||
18
Лялечка
22.09.11
✎
12:02
|
как мне в задаче этот текст убрать:( он не нужен там абсолютно
|
|||
19
hhhh
22.09.11
✎
12:03
|
(17) но из регистра РегистрСведений.CRM_ИсторияПереадресацииЗадач вы жестко удалили эту строчку? Или пока еще продумываете этот момент?
|
|||
20
zbv
22.09.11
✎
12:03
|
(18) модифициорованность объекта меняется после открытия ?
или запись объекта после объект происходит ? |
|||
21
Лялечка
22.09.11
✎
12:10
|
(19) в регистре сведений этой строки нет вообще, потому что задачу не переадресовывали
|
|||
22
Лялечка
22.09.11
✎
12:11
|
(20) ничего после открытия не меняется...или я что-то не понимаю...
"или запись объекта после объект происходит ?" - это как понять? |
|||
23
zbv
22.09.11
✎
12:20
|
(22) после открытия имелось ввиду. в журнале регистрации посмотри не записывается ли объект после открытия
|
|||
24
Лялечка
22.09.11
✎
12:25
|
(23) все, всем спасибо за помощь, нашла в чем причина.
|
|||
25
Лялечка
22.09.11
✎
12:28
|
просто в регистр МаршрутБП прописались данные. Теперь вопрос. Если я выполню следующий код:
ЗадачаТек = Задачи.CRM_Задача.НайтиПоНомеру("000006941"); регМаршрут = РегистрыСведений.CRM_МаршрутБизнесПроцесса.СоздатьНаборЗаписей(); регМаршрут.Отбор.БизнесПроцесс.Установить(ЗадачаТек.БизнесПроцесс); регМаршрут.Отбор.ТочкаМаршрута.Установить(ЗадачаТек.ТочкаМаршрута); регМаршрут.Прочитать(); регМаршрут[0].Комментарий = ""; регМаршрут.Записать(); У меня только данная запись изменится? только одна строка? остальные записи регистра останутся как и были? |
|||
26
Лялечка
22.09.11
✎
12:40
|
Все, всем спасибо за помощь. Во всем разобралась
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |