Имя: Пароль:
1C
1С v8
Изменение реквизита
,
0 Artyom20
 
27.11.14
11:46
Добрый день, помогите, пожалуйста, справиться на первый взгляд с непонятной задачей)))

В форме списка и в форме документа есть кнопка "Пауза" - это состояние документа, которые отменяет все его дальнейшие действия.
Нужно при нажатии кнопки в отдельное поле в документе (текстовое или реквизит какой-то неважно) писать "ПараметрыСеанса.ТекущийПользователь" + ": Изменил состояние документа на" + "Реквизит.Состояние" + "ДатаДокумента"
и что бы инфа дополнялась всегда
Нужно это для отслежки того, кто менял состояние в заказе.
Конечно у поля будет убрана "доступность" )
1 ДенисЧ
 
27.11.14
11:47
РС заведи.
2 ДенисЧ
 
27.11.14
11:48
Или вообще - версионирование из типовых
3 Wobland
 
27.11.14
11:48
>состояние документа, которые отменяет все его дальнейшие действия.
неплохо

нужно в регистр такое писать
4 Artyom20
 
27.11.14
11:49
(3) это отменяет на человеческом факторе
5 Artyom20
 
27.11.14
11:49
конфа ут 10,3
6 GreatOne
 
27.11.14
11:49
(4) а мне кажется запрещает дальнейшие действия. Не? Статус документа, не иначе.
7 Wobland
 
27.11.14
11:49
>это отменяет на человеческом факторе
бармен! мне того же, что и этому джентльмену!
8 Artyom20
 
27.11.14
11:51
задача не в изменении состояния, а в так называемых логах.
9 Wobland
 
27.11.14
11:52
(8) да мы поняли
10 Artyom20
 
27.11.14
11:53
как то помимо версионирования это можно сделать? достаточно просто текстового поля в доке, ку будет писаться
11 Wobland
 
27.11.14
11:54
(10) перед записью сравниваешь новое со старым, иногда пишешь в РС
12 GreatOne
 
27.11.14
11:54
(10) а чем не устраивает (1) и (3)?
13 Artyom20
 
27.11.14
11:58
Не хочеться в регистр это записывать, заполнять базу. это нужно просматривать крайне редко, по этому я думал просто в поле в доке писать.
14 Wobland
 
27.11.14
11:59
(13) отправляй на почту тогда. база будет без лишнего мусора
15 Artyom20
 
27.11.14
11:59
Такого я еще не умею ))
16 Wobland
 
27.11.14
12:01
(15) дарю:

    СистемнаяУчетнаяЗаписьДоступна=РаботаСПочтовымиСообщениями.ПроверитьСистемнаяУчетнаяЗаписьДоступна();
    Если (ОтправлятьПоПочте И СистемнаяУчетнаяЗаписьДоступна) ИЛИ ОтдаватьФайлКлиенту Тогда
        ДДанныеАрхива=Новый ДвоичныеДанные(ИмяФайлаАрхива);
        Если (ОтправлятьПоПочте И СистемнаяУчетнаяЗаписьДоступна) Тогда
            Тема="Выгрузка данных от "+Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
            Тело="Выгрузка данных за период "+Формат(Период, "ДФ=dd.MM.yyyy");
            Кому=Новый Массив;
            стрПолучатели=СтрЗаменить(Получатели, ";", Символы.ПС);
            стрПолучатели=СтрЗаменить(Получатели, ",", Символы.ПС);
            стрПолучатели=СтрЗаменить(Получатели, " ", Символы.ПС);
            Для й=1 По СтрЧислоСтрок(стрПолучатели) Цикл
                стр=СокрЛП(СтрПолучитьСтроку(стрПолучатели, й));
                Если НЕ ПустаяСтрока(стр) Тогда
                    Кому.Добавить(Новый Структура("Адрес, Представление", стр, ""));
                КонецЕсли;
            КонецЦикла;
            Вложения=Новый Соответствие;
            Вложения.Вставить(КороткоеИмяФайлаАрхива, ДДанныеАрхива);
            ПараметрыПисьма=Новый Структура("Кому, Тема, Тело, Вложения", Кому, Тема, Тело, Вложения);
            РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись(), ПараметрыПисьма);
            УдалитьФайлы(ИмяФайлаАрхива);
        КонецЕсли;
    КонецЕсли;
17 Artyom20
 
27.11.14
13:46
Спасибо;)