v7: Изменение периодического реквизита из модуля формы элемента справочника #564495


#0 by MiracMC
День добрый, коллеги. с пятницей всех! пол дня в ступоре. не могу записать периодический реквизит в справочнике, находясь в элементе справочника. по сути я открываю форму элемента справочника и меняю периодичский реквизит. потом, после этого, по нажатию на кнопку вызываю процедуру, которая в себе вызывает функцию запись. так вот до этого вызова в моем периодическом реквизите есть значение, а после - нет( вот код: в результате получаю вот такую штуку: Пассворд1 222222 Пассворд2 222222 Пассворд3 Пытался обратится к периодическому реквизиту через Пассворд.Установить, но получаю ошибку, что мол нет у моего "Пассворд" опции "Установить". собственно так же, как и "получить". но он 10000% периодический и с ручным изменением. так же удивил тот факт, что после вызова Записать входа в предопределенную процедуру "ПриЗаписи" так же не было... так же не было таблички выбора изменяемых значений периодических реквизитов  (????) уже все перепробовал. подскажите как это сделать правельно.... заранее благодарен.
#1 by Нуф-Нуф
7ка? юзай объект периодический
#2 by DimaSar
ИспользоватьДату
#3 by DimaSar
если у тебя какая то типовая конфа посмотри обработку ЗаписьПериодическихРеквизитов, так записываются все реквизиты периодические в типовых конфигурациях, вызывается глЗаписьПериодическихРеквизитов(Контекст)
#4 by MiracMC
1  да 7-рка 2  в ПриОткрытии делаю ИспользоватьДату(ТекущаяДата). не помогает(
#5 by MiracMC
3. пробую.. щас отпишусь....
#6 by MiracMC
так а все же почему нет входа в предопределенную процедуру ПриЗаписи ???
#7 by DimaSar
"так же не было таблички выбора изменяемых значений периодических реквизитов" эта табличка как раз таки и вызывается той обработкой, если мне не изменяет память
#8 by MiracMC
7 дело все в том, что я отошол от штатного вызова обработки записи, которую инициирует по умолчанию кнопка "Ок" на форме (#Записать Закрыть)... мне надо было в процедуре сделать запись, а после этого продолжить работу... так #Записать инициирует табличку периодических реквизитов, а Записать нет... при этом вызова вышеупомянутой обработки (глЗаписьПериодическихРеквизитов(Контекст)) небыло в ПриЗаписи вот и ступор...
#9 by DimaSar
ПриЗаписи- вызывается при интерактивной записи, а у тебя программная
#10 by DimaSar
да тебе проще всего через ИспользоватьДату сделать да и все
#11 by MiracMC
3 не помогло... и все равно нет таблицы выбора реквизитов для сохранения и все также зануляются все мои периодические реквизиты. точнее сказать, они не зануляются... с них сбрасываются все изменения, которые я внес после открытия формы элемента... т.е. было, например, в Пассворд "123"... сделал "1234" (дописал "4")... вот именно "4" и пропадет после вызова Записать .....
#12 by DimaSar
да правильно так и должно быть, делай как в 10
#13 by MiracMC
я ж в 4 писал.. не помогает... или я ее не туда тулю?
#14 by DimaSar
вот как то так у тебя должно быть СпрМатериал.ИспользоватьДату(РабочаяДата);
#15 by MiracMC
14 СТОП! я это все делаю в модуле формы самого элемента. т.е. я открываю элемент руками.. что то меняю тоже руками... и потом нажимаю на кнопку и иниирую Записать. оно у меня НЕ создается по принципу куда мне писать? в форму что ли? так что ли?
#16 by marvak
почитай про периодический  объект
#17 by marvak
+ и пассворд свой тут не свети особо
#18 by MiracMC
16 читал.. не дурак... не работает так. как там написано( 17 очень злой пароль)))
#19 by marvak
ты прям как MiramaX :)
#20 by MiracMC
да не.... ))
#21 by marvak
а вообще там у тя тока нужно юзать ИспользоватьДату и ничего более
#22 by MiracMC
ну да я понимаю... вот только где? в каком моменте? Синтаксис: ИспользоватьДату(<Дата>,<Обновить>) Назначение: Установить дату, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. Параметры: <Дата> - значение типа ''дата''. Дата, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. <Обновить> - необязательный параметр. Число: 1 - обновить периодические реквизиты формы на заданную дату; 0 - не обновлять периодические реквизиты формы. Значение по умолчанию - 0; Замечание: Метод доступен только в контексте Модуля формы элемента справочника. Действие данного метода относится только к текущему элементу справочника, который доступен в локальном контексте Модуля формы элемента справочника. Установить дату, на которую будут записываться периодические реквизиты элемента справочника, форма которого открыта. в процедуре ПриОткрытиионо должно открыть "окно" на всю проделываемую работу в элементе... так? вот я так и делаю... но только не помогает. и что не так?
#23 by marvak
ты определись, у тя семерка или восьмерка усе такии?
#24 by MiracMC
7-ка... промахнулся с разделом я..
#25 by DimaSar
#26 by DimaSar
реквизит у тебя на форме выведен как реквизит?
#27 by DimaSar
отлично работает, создал только что первому попавшемуся справочнику реквизит периодический, добавил кнопку повесил на неё кЗаписать описаную в и все хорошо отработало. Ты определись тебе табличка надо или тебе значение надо в реквизит записать?
#28 by AlexNew
Дайте уж человеку СП или типовую.
#29 by Креатив
А записан ли у тебя сам элемент на момент установки реквизита?
#30 by MiracMC
26 - да реквизит объявлен как периодический и задан в справочнике 27 - ну а у меня не работает. 29 - ну с новым пока не пробовал. Уже существующий элемент пытаюсь отредактировать в нем значение п.р., и не могу...
#31 by DimaSar
покажи процедуру которой ты запись делаешь
#32 by MiracMC
вместо штатного обработчика на кнопке (#Записать) вызываю кЗаписать, описаную в
#33 by MiracMC
UP
#34 by KRV
Сперва обратись к реквизиту как к периодическому, потом записывай. А "Сообщить" не вылазит потому, что из процедуры вылетаешь.. да и Пассворд твой что - строка? число?  хоть бы пробелы, добавляемые платформой, отсек для начала..
#35 by Cthulhu
: тогла в процедуру кЗаписать в коде поставль после процедуры ПриЗаписи, а в саму процедуру вставь (в начало): ПриЗаписи; Если СататусВозврата=0 Тогда Возврат КонецЕсли;
#36 by Cthulhu
: а в саму процедуру - в смысле в кЗаписать
#37 by MiracMC
не то.. ну по сути проблему решил.. вот только не могу понять как такое объяснить... процедура моя вызываеться в теле элемента Справочник.Учетки по сути код был такой: .... КонецПроцедуры в результате получаю вот такую штуку: Пассворд1 222222 Пассворд2 222222 Пассворд3 прошу заметить, что к "Пассворд" я при переборе этого же справочника через "спр" я не обращался... пересечений нет. НО. убрал перебор справочника через "спр" - занулять перестало. "вот такой он... северный олень" (С)
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С