|   |   | 
| 
 | Не перезаписывает реквизиты тонкий клиент | ☑ | ||
|---|---|---|---|---|
| 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) Я бы использовал именно его или передзаписьюнасервере. 
  В последней процедуре есть сам объект, и то что будет записано(передается в текущий объект). Если новый элемент то например в этот момент объект.ссылка=пустая, а текущийобъект.ссылка = уже ссылка на объект который будет записываться в базу. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |