![]() |
![]() |
![]() |
|
Ввод текста в текстовое поле как в аське | ☑ | ||
---|---|---|---|---|
0
AnisaL
28.02.13
✎
14:23
|
Добрый день! В документе 2 текстовых поля: одно большое - закрыто для пользователя, второе открыто. Юзер вводит текст в него, нажимает ентер и
текст попадает в 1-е поле. Т.е. как в аське получается. Подставляется дата, время и фио пользователя. Как сделать так, чтобы дата выводилась за одно открытие документа, а не с каждой строчкой? |
|||
1
AnisaL
28.02.13
✎
14:24
|
Вот эта функция
Функция СформироватьКоммент() Если (Коментарий = "") Тогда ТекКоммент = Строка(ТекущаяДата()) + " " + Строка(глТекущийПользователь.Наименование) + " """+СокрЛП(ПолеВводаКомментарий)+""""; Иначе ТекКоммент = Коментарий + Символы.ПС + Строка(ТекущаяДата()) + " " + Строка(глТекущийПользователь.Наименование) + " """+СокрЛП(ПолеВводаКомментарий)+""""; КонецЕсли; Возврат ТекКоммент; КонецФункции; |
|||
2
kosts
28.02.13
✎
14:25
|
(0) Флаг какой нибудь используй, что уже вывел дату
|
|||
3
AnisaL
28.02.13
✎
14:25
|
(2) Только флаг? А какого-нибудь хитрого способа нету?
|
|||
4
kosts
28.02.13
✎
14:26
|
(3) Можно проанализировать полный коммент и смотреть есть там дата или нет...
|
|||
5
andreymongol82
28.02.13
✎
14:27
|
При открытии куда-нибудь запоминаем дату (датаоткрытия - текущаяДата())
и к примеру здесь ТекКоммент = Строка(ТекущаяДата()) + " " + Строка(глТекущийПользователь.Наименование) + " """+СокрЛП(ПолеВводаКомментарий)+""""; заменяем ТекущаяДата() на ДатаОткрытия |
|||
6
MSII
28.02.13
✎
14:27
|
(3) Флаг (переменная) самый хитрый. Все остальное затратнее. ИМХО.
|
|||
7
AnisaL
28.02.13
✎
14:30
|
(5) ну если заменим, то получится тоже самое
|
|||
8
andreymongol82
28.02.13
✎
14:31
|
(7) Как так?
|
|||
9
AnisaL
28.02.13
✎
14:32
|
(8) Ну что и было, я не поняла что этой заменой получим-то?
|
|||
10
kosts
28.02.13
✎
14:33
|
Может разрешить пользователю редактировать все новые добавленные строки комментария. А перед записью добавить к сохраняемому комментарию.
|
|||
11
AnisaL
28.02.13
✎
14:37
|
(10) Ну хотелось бы чтоб второе поле оставалось маленьким, комментарии бывают очень длинными
|
|||
12
MSII
28.02.13
✎
14:37
|
Да вы чего. Переменная модуля формы ПользовательУжеДобавилКомментарий при открытии формы выставляется в Ложь, при изменении ПолеВводаКомментарий в Истину, в функции СформироватьКоммент() проверяется. 3 строчки кода.
|
|||
13
AnisaL
28.02.13
✎
14:41
|
(12) Да, так проще всего )) Спасибо )
|
|||
14
kosts
28.02.13
✎
14:46
|
(13) Самое простое решение не всегда самое удобное
|
|||
15
AnisaL
28.02.13
✎
14:50
|
(14) Может быть) предложи другое))
|
|||
16
AnisaL
28.02.13
✎
15:07
|
Функция СформироватьКоммент()
Если (ПользовательУжеДобавилКомментарий = Ложь)И(Коментарий = "") Тогда ТекКоммент = Строка(ТекущаяДата()) + " " + Строка(глТекущийПользователь.Наименование) + Символы.ПС +СокрЛП(ПолеВводаКомментарий); ИначеЕсли (Коментарий <> "")И(ПользовательУжеДобавилКомментарий = Ложь) Тогда ТекКоммент = Коментарий + Символы.ПС + Строка(ТекущаяДата())+ " " + Строка(глТекущийПользователь.Наименование) + Символы.ПС+СокрЛП(ПолеВводаКомментарий); Иначе ТекКоммент = Коментарий + Символы.ПС + " " + СокрЛП(ПолеВводаКомментарий); КонецЕсли; Возврат ТекКоммент; КонецФункции; Вот что получилось |
|||
17
kosts
28.02.13
✎
15:07
|
(15) По крайней мере как нибудь сделал бы как в (10)
|
|||
18
AnisaL
28.02.13
✎
15:12
|
(17) а где их можно будет редактировать , в 1 или 2-м поле?
|
|||
19
kosts
28.02.13
✎
15:16
|
(16)
В 8-ке можно проще:
(18) Не в первом точно. Можно добавить кнопку "Редактировать" рядом первым полем где-то. По ней можно будет поменять открыть и поменять весь текст который еще не записан в БД. Возможно так. Может еще какие варианты есть. |
|||
20
AnisaL
28.02.13
✎
15:34
|
(19) Да, точно) у меня после 7-ки привычка осталась (это к первому комменту)
|
|||
21
AnisaL
28.02.13
✎
15:36
|
(19) Ладно, пока на сегодня так оставлю) завтра поразбираюсь;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |