|
v7: Изменение периодического реквизита из модуля формы элемента справочника | ☑ | ||
---|---|---|---|---|
0
MiracMC
12.08.11
✎
19:20
|
День добрый, коллеги.
с пятницей всех! пол дня в ступоре. не могу записать периодический реквизит в справочнике, находясь в элементе справочника. по сути я открываю форму элемента справочника и меняю периодичский реквизит. потом, после этого, по нажатию на кнопку вызываю процедуру, которая в себе вызывает функцию запись(). так вот до этого вызова в моем периодическом реквизите есть значение, а после - нет( вот код: Процедура кЗаписать() Пассворд = "222222"; .... Сообщить("Пассворд1 " + СокрЛП(Пассворд)); .... Сообщить("Пассворд2 " + СокрЛП(Пассворд)); Записать(); Сообщить("Пассворд3 " + СокрЛП(Пассворд)); КонецПроцедуры в результате получаю вот такую штуку: Пассворд1 222222 Пассворд2 222222 Пассворд3 Пытался обратится к периодическому реквизиту через Пассворд.Установить(), но получаю ошибку, что мол нет у моего "Пассворд" опции "Установить". собственно так же, как и "получить". но он 10000% периодический и с ручным изменением. так же удивил тот факт, что после вызова Записать() входа в предопределенную процедуру "ПриЗаписи()" так же не было... так же не было таблички выбора изменяемых значений периодических реквизитов (????) уже все перепробовал. подскажите как это сделать правельно.... заранее благодарен. |
|||
1
Нуф-Нуф
12.08.11
✎
19:23
|
7ка? юзай объект периодический
|
|||
2
DimaSar
12.08.11
✎
19:30
|
ИспользоватьДату
|
|||
3
DimaSar
12.08.11
✎
19:33
|
если у тебя какая то типовая конфа посмотри обработку ЗаписьПериодическихРеквизитов, так записываются все реквизиты периодические в типовых конфигурациях, вызывается глЗаписьПериодическихРеквизитов(Контекст)
|
|||
4
MiracMC
12.08.11
✎
19:34
|
1 да 7-рка
2 в ПриОткрытии() делаю ИспользоватьДату(ТекущаяДата()). не помогает( |
|||
5
MiracMC
12.08.11
✎
19:35
|
3. пробую.. щас отпишусь....
|
|||
6
MiracMC
12.08.11
✎
19:36
|
так а все же почему нет входа в предопределенную процедуру ПриЗаписи() ???
|
|||
7
DimaSar
12.08.11
✎
19:38
|
"так же не было таблички выбора изменяемых значений периодических реквизитов"
эта табличка как раз таки и вызывается той обработкой, если мне не изменяет память |
|||
8
MiracMC
12.08.11
✎
19:42
|
7
дело все в том, что я отошол от штатного вызова обработки записи, которую инициирует по умолчанию кнопка "Ок" на форме (#Записать Закрыть)... мне надо было в процедуре сделать запись, а после этого продолжить работу... так #Записать инициирует табличку периодических реквизитов, а Записать() нет... при этом вызова вышеупомянутой обработки (глЗаписьПериодическихРеквизитов(Контекст)) небыло в ПриЗаписи() вот и ступор... |
|||
9
DimaSar
12.08.11
✎
19:43
|
ПриЗаписи()- вызывается при интерактивной записи, а у тебя программная
|
|||
10
DimaSar
12.08.11
✎
19:43
|
да тебе проще всего через ИспользоватьДату сделать да и все
|
|||
11
MiracMC
12.08.11
✎
19:45
|
3
не помогло... и все равно нет таблицы выбора реквизитов для сохранения и все также зануляются все мои периодические реквизиты. точнее сказать, они не зануляются... с них сбрасываются все изменения, которые я внес после открытия формы элемента... т.е. было, например, в Пассворд "123"... сделал "1234" (дописал "4")... вот именно "4" и пропадет после вызова Записать() ..... |
|||
12
DimaSar
12.08.11
✎
19:48
|
да правильно так и должно быть, делай как в 10
|
|||
13
MiracMC
12.08.11
✎
19:49
|
я ж в 4 писал.. не помогает...
или я ее не туда тулю? |
|||
14
DimaSar
12.08.11
✎
19:50
|
вот как то так у тебя должно быть
СпрМатериал.ИспользоватьДату(РабочаяДата()); СпрМатериал.СтавкаНДС = СпрСтавкаНДС.ТекущийЭлемент(); |
|||
15
MiracMC
12.08.11
✎
19:55
|
14
СТОП! я это все делаю в модуле формы самого элемента. т.е. я открываю элемент руками.. что то меняю тоже руками... и потом нажимаю на кнопку и иниирую Записать(). оно у меня НЕ создается по принципу Спр = СоздатьОбъект("Справочник.ИмяСправочника") куда мне писать? в форму что ли? Форма.ИспользоватьДату(РабочаяДата()); Форма.Пассворд = "12345"; так что ли? |
|||
16
marvak
12.08.11
✎
19:56
|
(0)
почитай про периодический объект |
|||
17
marvak
12.08.11
✎
19:57
|
(16)+
и пассворд свой тут не свети особо |
|||
18
MiracMC
12.08.11
✎
19:58
|
16 читал.. не дурак... не работает так. как там написано(
17 очень злой пароль))) |
|||
19
marvak
12.08.11
✎
19:59
|
(18)
ты прям как MiramaX :) |
|||
20
MiracMC
12.08.11
✎
20:00
|
да не.... ))
|
|||
21
marvak
12.08.11
✎
20:01
|
(20)
а вообще там у тя тока нужно юзать ИспользоватьДату и ничего более |
|||
22
MiracMC
12.08.11
✎
20:05
|
v8: v8: Изменение периодического реквизита из модуля формы элемента справочника
ну да я понимаю... вот только где? в каком моменте? ИспользоватьДату(<?>,); Синтаксис: ИспользоватьДату(<Дата>,<Обновить>) Назначение: Установить дату, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. Параметры: <Дата> - значение типа ''дата''. Дата, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. <Обновить> - необязательный параметр. Число: 1 - обновить периодические реквизиты формы на заданную дату; 0 - не обновлять периодические реквизиты формы. Значение по умолчанию - 0; Замечание: Метод доступен только в контексте Модуля формы элемента справочника. Действие данного метода относится только к текущему элементу справочника, который доступен в локальном контексте Модуля формы элемента справочника. Установить дату, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. т.е. если использовать ИспользоватьДату(ТекущаяДата(),1) в процедуре ПриОткрытии()оно должно открыть "окно" на всю проделываемую работу в элементе... так? вот я так и делаю... но только не помогает. и что не так? |
|||
23
marvak
12.08.11
✎
20:06
|
(22)
ты определись, у тя семерка или восьмерка усе такии? |
|||
24
MiracMC
12.08.11
✎
20:07
|
7-ка... промахнулся с разделом я..
|
|||
25
DimaSar
12.08.11
✎
20:13
|
Процедура кЗаписать()
ИспользоватьДату(ТекущаяДата()); Записать(); КонецПроцедуры // кЗаписать() |
|||
26
DimaSar
12.08.11
✎
20:13
|
реквизит у тебя на форме выведен как реквизит?
|
|||
27
DimaSar
12.08.11
✎
20:16
|
(25) отлично работает, создал только что первому попавшемуся справочнику реквизит периодический, добавил кнопку повесил на неё кЗаписать() описаную в (25) и все хорошо отработало. Ты определись тебе табличка надо или тебе значение надо в реквизит записать?
|
|||
28
AlexNew
12.08.11
✎
20:56
|
Дайте уж человеку СП или типовую.
|
|||
29
Креатив
12.08.11
✎
21:01
|
(0)А записан ли у тебя сам элемент на момент установки реквизита?
|
|||
30
MiracMC
15.08.11
✎
11:05
|
26 - да реквизит объявлен как периодический и задан в справочнике
27 - ну а у меня не работает. 29 - ну с новым пока не пробовал. Уже существующий элемент пытаюсь отредактировать в нем значение п.р., и не могу... |
|||
31
DimaSar
15.08.11
✎
13:05
|
покажи процедуру которой ты запись делаешь
|
|||
32
MiracMC
15.08.11
✎
13:11
|
(31)
вместо штатного обработчика на кнопке (#Записать) вызываю кЗаписать(), описаную в (0) |
|||
33
MiracMC
16.08.11
✎
19:24
|
UP
|
|||
34
KRV
16.08.11
✎
19:36
|
Сперва обратись к реквизиту как к периодическому, потом записывай. А "Сообщить" не вылазит потому, что из процедуры вылетаешь.. да и Пассворд твой что - строка? число? хоть бы пробелы, добавляемые платформой, отсек для начала..
|
|||
35
Cthulhu
16.08.11
✎
19:37
|
(33): тогла в процедуру кЗаписать() в коде поставль после процедуры ПриЗаписи, а в саму процедуру вставь (в начало):
ПриЗаписи(); Если СататусВозврата()=0 Тогда Возврат КонецЕсли; |
|||
36
Cthulhu
16.08.11
✎
19:37
|
(35): а в саму процедуру - в смысле в кЗаписать()
|
|||
37
MiracMC
18.08.11
✎
14:17
|
не то..
ну по сути проблему решил.. вот только не могу понять как такое объяснить... процедура моя вызываеться в теле элемента Справочник.Учетки по сути код был такой: Процедура кЗаписать() Пассворд = "222222"; .... Сообщить("Пассворд1 " + окрЛП(Пассворд)); спр = создатьОбъект("Справочник.Учетки"); спр.ВыбратьЭлементы(); .... Сообщить("Пассворд2 " + СокрЛП(Пассворд)); Записать(); Сообщить("Пассворд3 " + СокрЛП(Пассворд)); .... КонецПроцедуры в результате получаю вот такую штуку: Пассворд1 222222 Пассворд2 222222 Пассворд3 прошу заметить, что к "Пассворд" я при переборе этого же справочника через "спр" я не обращался... пересечений нет. НО. убрал перебор справочника через "спр" - занулять перестало. "вот такой он... северный олень" (С) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |