|
Не срабатывает ПриНачалеРедактирования 1с 8.2 | ☑ | ||
---|---|---|---|---|
0
IT_PROGRAMMIST
30.01.13
✎
21:37
|
Добрый вечер. УПП, пл. 8.2.16.368.упр.формы.
Такая проблема: Есть табличная часть документа. В ней блокированы некоторые ячейки(Элементы.МояТЧ.ПодчиненныеЭлементы.МояТЧДата.Толькопросмотр = Истина) . При использовании данной блокировки не срабатывает функция табличной части ПриНачалеРедактирования().Я хочу при копировании строки поменять реквизит скопируемой строки табличной части. В чем прикол???? |
|||
1
IT_PROGRAMMIST
30.01.13
✎
21:38
|
+(0 блокировка ячейки в функции ПриАктивизацииЯчейки())
|
|||
2
Defender aka LINN
30.01.13
✎
21:38
|
(0) Чего курил? Если элемент только для просмотра, его ВНЕЗАПНО изменить нельзя.
|
|||
3
IT_PROGRAMMIST
30.01.13
✎
21:40
|
так я же не хочу изменять блокируемый реквизит, а хочу менять другой. Как быть?
|
|||
4
Defender aka LINN
30.01.13
✎
21:41
|
(3) В табличной части есть ПередНачаломДобавления
|
|||
5
IT_PROGRAMMIST
30.01.13
✎
21:42
|
(4) перед началом добавления не даст возможность изменить реквизит будущей добавленной строки, так как срабатывает перед добавлением
|
|||
6
Defender aka LINN
30.01.13
✎
21:42
|
(5) говорите за себя
|
|||
7
IT_PROGRAMMIST
30.01.13
✎
21:43
|
(6) тогда изменится и реквизит из копируемой строки.
|
|||
8
DrShad
30.01.13
✎
21:45
|
говорите за себя
|
|||
9
IT_PROGRAMMIST
30.01.13
✎
21:49
|
(8) к примеру, пишу в
&НаКлиенте Процедура МояТЧПередНачаломДобавления(Элемент,Отказ,Копирование,Родитель,Отказ) Если Копирование тогда Элемент.ТекущиеДанные.НужноРедактирРеквизит = "бла бла"; КонецЕсли КонецПроцедуры Результат изменит текущее заполнение, так как будущей строки ещё НЕТ |
|||
10
IT_PROGRAMMIST
30.01.13
✎
21:53
|
а ПриНачалеРедактирования() должен сразу отработать после добавления.
ПриНачалеРедактирования(Элемент,НоваяСтрока, Копирование) <НоваяСтрока> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Определяет режим копирования. Если установлено Истина, то происходит копирование строки. |
|||
11
IT_PROGRAMMIST
30.01.13
✎
21:54
|
ребят, где я ошибаюсь? Вроде простой вопрос.
|
|||
12
DrShad
30.01.13
✎
21:54
|
*рукаяйцо* что он несет?
|
|||
13
IT_PROGRAMMIST
30.01.13
✎
21:57
|
(12) по человечески можешь объяснить?
|
|||
14
DrShad
30.01.13
✎
22:00
|
ты не слушаешь все равно :(
ты зачем при начале добавления текущую строку меняешь? |
|||
15
DrShad
30.01.13
✎
22:00
|
[(Элемент,Отказ,Копирование,Родитель,Отказ)] и откуда два отказа!?
|
|||
16
IT_PROGRAMMIST
30.01.13
✎
22:01
|
(14) Даже если я непишу Элементы.МояТч.ТекущиеДанные.МойРеквизит ничего не поменятеся, так как строки ещё нет
|
|||
17
IT_PROGRAMMIST
30.01.13
✎
22:01
|
(15)Отказ то при копировании ошибка
|
|||
18
IT_PROGRAMMIST
30.01.13
✎
22:02
|
(16) в конце нет отказа
|
|||
19
DrShad
30.01.13
✎
22:06
|
а откуда копировал? ибо код не рабочий совершенно
|
|||
20
IT_PROGRAMMIST
30.01.13
✎
22:06
|
в ручную набирал
|
|||
21
DrShad
30.01.13
✎
22:08
|
не хорошо обманывать старших!
|
|||
22
IT_PROGRAMMIST
30.01.13
✎
22:08
|
(9 ) там Процедура МояТЧПередНачаломДобавления(Элемент,Отказ,Копирование,Родитель,Группа)
|
|||
23
IT_PROGRAMMIST
30.01.13
✎
22:16
|
может есть кто обходил эту ситуацию?
|
|||
24
IT_PROGRAMMIST
30.01.13
✎
22:30
|
эх..................
|
|||
25
servs
30.01.13
✎
22:32
|
поддерживаю (12) :D
|
|||
26
servs
30.01.13
✎
22:33
|
в базу знаний!))
|
|||
27
IT_PROGRAMMIST
30.01.13
✎
22:37
|
(26) лучше кодом подскажи.Как выйти из этой ситуации?
|
|||
28
IT_PROGRAMMIST
30.01.13
✎
22:37
|
хоть примерчек какой-нибудь
|
|||
29
hhhh
30.01.13
✎
22:51
|
а процедура ПриНачалеРедактирования() привязана к какому-нибудь событию? Или просто так в воздухе висит?
|
|||
30
IT_PROGRAMMIST
30.01.13
✎
23:03
|
(29)(это событие табличного поля)
|
|||
31
DrShad
30.01.13
✎
23:06
|
ТабличноеПоле (TableBox)
ПриНачалеРедактирования (OnStartEdit) Синтаксис: ПриНачалеРедактирования(<НоваяСтрока>, <Копирование>) Параметры: <НоваяСтрока> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Если данный параметр имеет значение Истина, то выполняется копирование строки. Описание: Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений. Примечание: Возникает, если редактирование производится непосредственно в табличном поле. Перед данным событием возникает событие ПередНачаломИзменения. См. также: ТабличноеПоле, событие ПередНачаломИзменения |
|||
32
DrShad
30.01.13
✎
23:06
|
если новая строка, то какого же ты берешь текущие данные?
|
|||
33
IT_PROGRAMMIST
30.01.13
✎
23:09
|
(32) ввобще-то я пример к функции привел ПередНачаломДобавления в (9). ПриНачалеРедактирования() я и использую. Но возникает проблема описаная в (0)
|
|||
34
DrShad
30.01.13
✎
23:12
|
(33) у тебя в ноль просто поток сознания
|
|||
35
IT_PROGRAMMIST
30.01.13
✎
23:14
|
в (0) суть в том, что когда заблокирована любая ячейка табличного поля (только просмотр = истина), то не заходит при копировании в процедуру ПриНачалеРедактирования()
|
|||
36
DrShad
30.01.13
✎
23:17
|
уверен?
|
|||
37
IT_PROGRAMMIST
30.01.13
✎
23:20
|
да, отладчиком проверено. 10 раз проверял. Как только ограничение на просморт с ячейки снимается в процедуру заходит.
|
|||
38
DrShad
30.01.13
✎
23:36
|
ну я не проверяю сейчас, поэтому просто поверю на слово
|
|||
39
DrShad
30.01.13
✎
23:37
|
а поставь в перед началом добавления Отказ в истину и добавь программно - будешь иметь новую строку
|
|||
40
hhhh
30.01.13
✎
23:47
|
(37) МояТЧДата.Доступность = ложь пробовал?
|
|||
41
IT_PROGRAMMIST
30.01.13
✎
23:53
|
сейчас попробую (39), (40)
|
|||
42
IT_PROGRAMMIST
31.01.13
✎
00:07
|
Все верно. Сделал как сказал в (39) ПОЛУЧИЛОСЬ. Спасибо тебе большое за помошь.Только так получилось. А по поводу ситуации в (0), напишу в 1С пускай объясняют, видно типовая фигня.
Сделал так: &НаКлиенте Процедура ОтработанноеВремяПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) Если Копирование тогда Отказ = Истина; НоваяСтрока = Объект.ОтработанноеВремя.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,Элемент.ТекущиеДанные); НоваяСтрока.СостояниеОборудования = Справочники.ПереченьСостоянийОборудования.ПустаяСсылка(); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |