|  0
            - 03.07.2012 - 14:07
         | УПП Обработка проверяет документы "Событие" иу которых стоит пометка "На отправку" рассылает электронную почту. Но документ может быть в данный момент открыт пользователем для редактирования и получается , что электронное письмо уйдет по реквизитам и с текстом которые он псоледний раз сохранил, пометку соответственно, что письмо отправлено поставить не удастся, и в следующий обход обработкой это сообщение будет отправлено повторно. Пытался проверить через СобытиеОбъект.ПолучитьФорму().Открыта() не реагирует - всегда свободно (ЛОЖЬ) Как еще можно проверить программно открыт ли документ ? |  | 
|  1
            - 03.07.2012 - 14:22
         | как узнаешь, что документ открыт именно для редактирования? ЗЫ. почитай про блокировки |  | 
|  2
            - 03.07.2012 - 15:00
         | Форма осуществляет запись только поверх той версии объекта, из которой она открывалась. В твоем примере, насколько я понял: 1. Открывается форма версии 1. 2. Обработка читает из БД документ версии 1 3. Обработка изменяет и записывает документов. Ставится версия 2 у этого документа. 4. При попытке записать форму, система проверяет текущую версию в БД (она там будет уже за номером 2). Найдя расхождение, система ругается. 5.... 6. ПРОФИТ! |  | 
|  3
            - 03.07.2012 - 17:05
         | (0) пометку соответственно, что письмо отправлено поставить не удастся Пробовал? Должно быть как в (2): т.е. с точностью до наоборот - пометку поставить удастся (и письмо отправиться "по реквизитам и с текстом которые он псоледний раз сохранил"), а вот наработанное в открытой форме пользователь сохранить не сумеет |  | 
|  4
            - 04.07.2012 - 12:15
         | 2-Lexusss >3-roma n > Попробовал Действительно так Но это тоже нехорошо, пользователь открыл - редактирует а в это время неотредактированный экземпляр уходит... Как бы все таки программно отслеживать, что документ в данный момент открыт ? |  | 
|  5
            - 04.07.2012 - 12:17
         | 4-med > |  | 
|  6
            - 04.07.2012 - 12:29
         | 5-Uho >А чуть развернетее можете ? Потому как гугль на "блокировки в 1с 8.2" выдает совсем не те блокировки , которые мне нужны, скажите еще какое нибудь ключевое слово. |  | 
|  7
            - 04.07.2012 - 12:35
         | например, ЗаблокироватьДанныеДляРедактирования() |  | 
|  8
            - 04.07.2012 - 14:13
         | 7-Uho > что то никак с ней не разбирусь... "ЗаблокироватьДанныеФормы:Для установки пессимистической блокировки" Написал в Основную Форму в процедуру Перед ОТкрытием КлючУникальности = Новый УникальныйИдентификатор; ЗаблокироватьДанныеДляРедактирования(ссылка,,КлючУ никальности); Создаю новый документ, записываю его (не провожу) произвожу в нем после этого изменения Запускается обработка документов она спокойно в этот документ заходит правит его, проводит.... Где ж тут блокировка ? |  | 
|  9
            - 04.07.2012 - 14:20
         | (4) Что за чушь? В данном применении, совершенно бредово сохранить отредактированное письмо, хотя отправлен был совершенно другой экземпляр. Опиши конкретную ситуацию, тогда и можно говорить. |  | 
|  10
            - 04.07.2012 - 14:44
         | 9-Lexusss > Хорошо ситуация был создан документ "Событие Отправка СМС" в него занесены , текст, контактное лицо, номер. Установилось состояние "на отправку", пользователь его записал , закрыл. И вдруг... вспомнил, что или в тексте ошибка или контактное лицо не то или еще что - ему надо поменять этот документ - открыл его меняет, ну мало ли отвлекли его на пару минут или еще что, а в это время по расписанию прошла отправка всех подготовленных СМС и СМС от этого документа тоже ушла , причем та - которая была сохранена изначально, а не эта, которую пользователь исправил, но не успел сохранить. Вот как отследить, что документ "Событие Отправка СМС" в данный момент открыт пользователем, и его пока не надо отправлять.? |  | 
|  11
            - 04.07.2012 - 14:53
         | 10-med > в обработке используй Попытка ЗаблокироватьДанныеДляРедактирования() Исключение КонецПопытки |  | 
|  12
            - 04.07.2012 - 23:36
         | Метод Рупора Абсурда |  | 
|  13
            - 05.07.2012 - 06:36
         | Лучше зайти с другой стороны, в документе "Событие Отправка СМС" сделать статус (Готов к отправке/Не готов) и возложить ответственность на пользователя по выбору статуса. Далее если произошла отправка смс, отслеживать при открытие документа и блокировать на редактирование в этом случае, если нужно корректировать после отправки - лучше обсудить с руководством как в этой ситуации быть: заново отправлять смс или. |  | 
|  14
            - 05.07.2012 - 07:09
         | 11-Uho >а в ЗаблокироватьДанныеДляРедактирования() вставить ссылку на проверяемый документ ? 13-Апосум > т .е. сделать еще один статус ? (сейчас уже при созаднии автоматически проставляется "На отправку" Так в том то и дело, после отправки документ блокируется тут проблем нет. Проблема когда документ открыт в момент отправки. |  | 
|  15
            - 05.07.2012 - 07:33
         | Вот такой код попробуй, при отправке проверка: Форма = ТвойДокумент.ПолучитьФорму(); Если Форма.Открыта() Тогда КонецЕсли; |  | 
|  16
            - 05.07.2012 - 07:39
         | 15-Апосум > в чьём сеансе это должно сработать? |  | 
|  17
            - 05.07.2012 - 08:05
         | 15-Апосум > а это не одно и тоже с |  | 
|  18
            - 05.07.2012 - 08:48
         | Метод Открыта() покажет только в пределах сеанса этого пользователя, а по всем пользователям не проверяет. Только что попробовал следующий способ: а)при открытие формы документа с которым работаем нужно написать Заблокировать() б)при отправки смс, Док = ДокСсылка.ПолучитьОбъект(); ФлагМожноОтправлять = Истина; Попытка Док.Заблокировать(); Исключение ФлагМожноОтправлять = Ложь; КонецПопытки; Метод Заблокирован() не отрабатывает и приходится через попытку снова вызывать метод Заблокировать(). |  | 
|  19
            - 05.07.2012 - 10:07
         | 18-Апосум > ваще то это все написано в СП |  | 
|  20
            - 05.07.2012 - 10:11
         | (10) Проведение документа - великая вещь. Равно как и запрет на не оперативное проведение. Задумайся об этом в терминах своей задачи. |  | 
| Интернет-форум Краснодарского края и Краснодара |