|
Не перезаписывает реквизиты тонкий клиент | ☑ | ||
---|---|---|---|---|
0
manti
16.05.13
✎
12:43
|
В процедуре ПриЗаписи() документа перезаписываю реквизиты контрагент и пользователь
ЭтотОбъект.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Результат.Пользователь); ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Результат.Контрагент); Реквизиты типа СправочникСсылка.Пользователи и СправочникСсылка.Контрагенты соответственно. Результат.Контрагент и Результат.Пользователь имеют такой же тип. В итоге при записи на форме отображается перезаписанный сотрудник, закрываю, открываю фрму документа - поля пусты. Как это исправить? |
|||
1
5 Элемент
16.05.13
✎
12:44
|
Описание:
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. |
|||
2
manti
16.05.13
✎
12:45
|
(1) И как это применить к моему случаю?
|
|||
3
5 Элемент
16.05.13
✎
12:46
|
Используй ПередЗаписью
|
|||
4
ale-sarin
16.05.13
✎
12:46
|
(2) Чти внимательно. ПередЗаписью() надо.
|
|||
5
manti
16.05.13
✎
12:47
|
(3) (4) не могу перед записью - там еще нет ссылки на документ, а у мен запрос пстроен на документе целиком((
|
|||
6
5 Элемент
16.05.13
✎
12:49
|
Опиши какую задачу решаешь
|
|||
7
manti
16.05.13
✎
15:11
|
(6) Отлучался))
При записи документа перед проведением нужно получить пользоателя и контрагента из соответствующего документа. Запросом я беру номер пользователя и номер контрагента из документа. Получется при даннм раскладе нужно переделывать запрос, что не хотелось бы)) Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект); Запрос.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон); Запрос.Текст = "ВЫБРАТЬ | Вызов.Ссылка, | Вызов.Номер1, | Вызов.Номер2, | Вызов.CallerID1, | ""%"" + Вызов.CallerID2 КАК CallerID2 |ПОМЕСТИТЬ ДокументВызов |ИЗ | Документ.Вызов КАК Вызов |ГДЕ | Вызов.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ""%"" + (ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(15))) КАК Контакт, | КонтактнаяИнформация.Объект |ПОМЕСТИТЬ РегистрКонтакты |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Тип = &Тип |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Линии.Пользователь, | Линии.Наименование, | Вызов.Номер1, | Вызов.Ссылка |ПОМЕСТИТЬ Ном |ИЗ | Документ.Вызов КАК Вызов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Линии КАК Линии | ПО (Линии.Наименование = Вызов.CallerID1) |ГДЕ | Вызов.Ссылка = &Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Ном.Ссылка, | ДокументВызов.Номер2, | ДокументВызов.CallerID1, | ДокументВызов.CallerID2, | РегистрКонтакты.Объект КАК Контрагент, | РегистрКонтакты.Контакт, | Ном.Пользователь, | Ном.Номер1 |ИЗ | ДокументВызов КАК ДокументВызов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрКонтакты КАК РегистрКонтакты | ПО (ДокументВызов.CallerID2 ПОДОБНО РегистрКонтакты.Контакт | ИЛИ РегистрКонтакты.Контакт ПОДОБНО ДокументВызов.CallerID2), | Ном КАК Ном | |СГРУППИРОВАТЬ ПО | РегистрКонтакты.Объект, | Ном.Ссылка, | ДокументВызов.Номер2, | ДокументВызов.CallerID1, | ДокументВызов.CallerID2, | РегистрКонтакты.Контакт, | Ном.Пользователь, | Ном.Номер1"; Результат = Запрос.Выполнить().Выбрать(); |
|||
8
Borteg
16.05.13
✎
15:28
|
Наверное лучше использовать ПриЗаписиНаСервере и использовать ТекущийОбъект
но могу ошибаться) |
|||
9
drongo-god
16.05.13
✎
15:34
|
ПриЗаписи
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. |
|||
10
drongo-god
16.05.13
✎
15:34
|
Ты пытаешся изменить реквизит после того как объект уже записан?
|
|||
11
manti
16.05.13
✎
15:42
|
(10) нет еще нет как такоой записи объекта - ссылки на него, которая используется в запросе.
|
|||
12
manti
16.05.13
✎
15:43
|
(8) тут модуль объекта, а не моуль формы
|
|||
13
Borteg
16.05.13
✎
15:48
|
(12) Я бы использовал именно его или передзаписьюнасервере.
В последней процедуре есть сам объект, и то что будет записано(передается в текущий объект). Если новый элемент то например в этот момент объект.ссылка=пустая, а текущийобъект.ссылка = уже ссылка на объект который будет записываться в базу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |