К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

установка периодического реквизита

Гость
0 - 29.12.2014 - 15:47
Люди, или я туплю или одно из двух.
Есть справочник "КодГруппы", у него есть периодический реквизит "Автор" типа "Справочинк.Пользователи"
Хочу в общем то простую вещь: чтобы при записи элемента справочника "КодГруппы" фиксироваля автор сего действия.

Делаю так:

Спр = СоздатьОбъект("Справочник.Пользователи");
Если Спр.НайтиПоКоду(ИмяПользователя()) = 1 Тогда
//Автор.ИспользоватьДату(ТекущаяДата());
//Автор = Спр.ТекущийЭлемент();
Автор.Установить(ТекущаяДата(),Спр.ТекущийЭлемент( ));
КонецЕсли;

пробовал и с Установить() и через ИспользоватьДату() - в первом случае выдает ошибку типа атрибут не найден, а во втором вообще ничего не происходит. Что не так делаю?



Гость
1 - 29.12.2014 - 16:15
ПериодическийРеквизит = СоздатьОбъект("Периодический");
ПериодическийРеквизит.ИспользоватьОбъект("СрокПоле зногоИспользования", ТекущийЭлемент());
2 - 29.12.2014 - 16:31
Спр = СоздатьОбъект("Справочник.Пользователи");
Если Спр.НайтиПоКоду(ИмяПользователя()) = 1 Тогда
ИспользоватьДату(ТекущаяДата());
Автор = Спр.ТекущийЭлемент();
КонецЕсли;
Гость
3 - 29.12.2014 - 16:40
Цитата:
Сообщение от user1C Посмотреть сообщение
ИспользоватьДату(ТекущаяДата()); Автор = Спр.ТекущийЭлемент();
Так тоже попробовал - все равно не работает. История пустая.
4 - 29.12.2014 - 16:50
(3)
это все в форме элемента справочника КодГруппы? должно работать...
показ истории тоже сам писал?))
Гость
5 - 29.12.2014 - 17:02
(4)
нет, в форме списка
историю смотрю через стандартный диалог
да вот и мне кажется что должно, ан не фурычит..
6 - 29.12.2014 - 17:05
(5)
код из (2) где расположен и как вызывается?
Гость
7 - 29.12.2014 - 22:58
(6)
код расположен в модуле формы списка справочника КодГруппы, вызывается в процедуре ПриЗаписи()
Гость
8 - 29.12.2014 - 22:59
7-gamletspb > (1)
Гость
9 - 29.12.2014 - 23:06
(8)
Это я попробую конечно, но хотелось бы таки понять почему стандартный способ не работает
Гость
10 - 29.12.2014 - 23:49
9-gamletspb > Не посмотрел (7).
Цивильно применить типовое решение глЗаписьПериодическихРеквизитов(). Совместно с методом СохранениеПериодическихРеквизитов()
Гость
11 - 30.12.2014 - 00:03
+(10) Дело все в том, что физически (в таблице БД, где содержится справочник) отсутствуют поля периодических реквизитов. И при записи по умолчанию периодические реквизиты не заполняются. Надо их как-то указывать. Можно аргументом при вызове предопределенной ПриЗаписи() подать список, но лучше принять типовое решение - у пользователя формируется правильный рефлекс.
Гость
12 - 30.12.2014 - 07:19
в форме списка так нельзя, надо искать текущийэлемент() списка и в нем менять, все что надо
Гость
13 - 30.12.2014 - 09:11
Код:
// при работе в контексте документа, его реквизит "Сотрудник"
// является переменной типа "справочник",
// чтобы установить новое значение периодического
// реквизита "Оклад" этого элемента
// справочника, применим функцию Получить
Сотрудники.Оклад.Установить(ДатаДок, МаксОклад);
Гость
14 - 30.12.2014 - 09:32
Цитата:
Сообщение от USSR Посмотреть сообщение
в форме списка так нельзя, надо искать текущийэлемент() списка и в нем менять, все что надо
Так что-ли?
Цитата:
Процедура ПриЗаписи()
СпрПольз = СоздатьОбъект("Справочник.Пользователи");
СпрПольз.НайтиПоКоду(1);
ТекЭлемент = ТекущийЭлемент();
ТекЭлемент.ИспользоватьДату(ТекущаяДата());
ТекЭлемент.Автор = СпрПольз.ТекущийЭлемент();
КонецПроцедуры // ПриЗаписи
все равно не работает
Гость
15 - 30.12.2014 - 09:44
Код:
Процедура ПриЗаписи()
	СпрПольз = СоздатьОбъект("Справочник.Пользователи");
	Если СпрПольз.НайтиПоКоду(1)=1 Тогда
		ИспользоватьДату(ТекущаяДата());
		Автор = СпрПольз.ТекущийЭлемент();
		Записать();
	КонецЕсли;
КонецПроцедуры // ПриЗаписи
Гость
16 - 30.12.2014 - 09:52
15-kode >так тоже не фурычит
Гость
17 - 30.12.2014 - 10:00
реквизит Автор = Справочник.Пользователи ??
Гость
18 - 30.12.2014 - 10:03
что за конфа? справочник с реквизитом Автор - Номенклатура?
Гость
19 - 30.12.2014 - 10:12
Цитата:
Сообщение от gamletspb Посмотреть сообщение
Хочу в общем то простую вещь: чтобы при записи элемента справочника "КодГруппы" фиксироваля автор сего действия.
А чем, собственно не устраивают штатные возможности журнала регистрации 1С ?
Гость
20 - 30.12.2014 - 10:15
17-kode >да
18-kode >самописная, тестирую вообще в пустой, свежесозданной.
справочник с реквизитом Автор - Номенклатура
Гость
21 - 30.12.2014 - 10:19
20 дык выложи уже этот пустой, свежесозданный MD или это конкурс телепатов? ;)
Гость
22 - 30.12.2014 - 10:29
21-kode >а чего там выкладывать, можешь сам создать такую базу за 5 минут: делаешь 2 справочника Номенклатура и Пользователи. К номенклатуре прикручиваешь реквизит Автор типа Справочник.Пользователи и делаешь его периодическим. Открываешь форму списка справочника Пользователи и пишешь процедуру ПриЗаписи(). Вот собственно и вся база )
Гость
23 - 30.12.2014 - 10:33
Цитата:
Сообщение от VZ Посмотреть сообщение
9-gamletspb > Не посмотрел (7). Цивильно применить типовое решение глЗаписьПериодическихРеквизитов(). Совместно с методом СохранениеПериодическихРеквизитов()
Попробовал прикрутить типовое решение - как ни странно тоже не работает. В том смысле, что оно сохраняет только интерактивно измененные периодические реквизиты. А мне надо программно.
24 - 30.12.2014 - 10:38
(7)
тады надо еще одну заморочку вставить...
Код:
Процедура ПриЗаписи()
    Спр = СоздатьОбъект("Справочник.Пользователи");
    Если Спр.НайтиПоКоду(ИмяПользователя()) = 1 Тогда
        ИспользоватьДату(ТекущаяДата());
        СохранениеПериодическихРеквизитов(5,"*");
        Автор = Спр.ТекущийЭлемент();
    КонецЕсли;
КонецПроцедуры
и СохранениеПериодическихРеквизитов(0) в ПриОткрытии() для безинтерактивной записи...
Гость
25 - 30.12.2014 - 10:44
23 фу фу фу! но да тебе виднее.. у меня в http://rghost.ru/60052101 работает, хотя задумка как бы это помягче.. странная
Гость
26 - 30.12.2014 - 10:50
24-user1C >не работает.. просто сохраняет пустое значение.
Гость
27 - 30.12.2014 - 10:55
28 - 30.12.2014 - 10:58
(26)
все работает, 146%, проверил лично
"просто сохраняет пустое значение"
какое значение дал, то и сохраняет...
Гость
29 - 30.12.2014 - 11:05
помимо прочего, хочу заявить: нагружать справочник типа номенклатура переодическими реквизитами, тем паче таким образом реализовывать механизм "автор изменений" ни есть гуд.
Гость
30 - 30.12.2014 - 11:13
29-kode >ну я его чисто для примера так обозвал, там где оно мне реально надо, справочник всего на 100 позиций.. да и вообще говоря не нужна там история, вполне достаточно будет последнего автора хранить. На самом деле просто интересно было разобраться с механизмом, так сказать для общего развития.
Гость
31 - 30.12.2014 - 11:24
Цитата:
Сообщение от gamletspb Посмотреть сообщение
просто интересно было разобраться
- А мне кажется, что тебе просто время девать некуда.
(1) - исчерпывающе закрывает сабж.
32 - 30.12.2014 - 11:50
(31)
исчерпывающе? :) поиграйся с новыми, еще незаписанными элементами...
Гость
33 - 30.12.2014 - 13:20
Цитата:
На самом деле просто интересно было разобраться с механизмом, так сказать для общего развития
В таком случае возьму на себя ответственность 1) напомнить вам: ОФФ. А ваще-то НГ на носу - и 2) предложить к всеобщему рассморению многоуважаемой публикой обсуждения куда более актуальных и затейливых механизмов: POИ ТВ
Гость
34 - 30.12.2014 - 14:20
Все не осилил, вина выпил. Но для изменения элемента в форме списка, надо создать объект = справочник этого вида, найти этот элемент (на котором стоим ))), изменить как надо и записать. И все получится
Гость
35 - 30.12.2014 - 14:44
Можно без периодики записывать реквизит типа Спр.Пользователи. Будет очень понятно, кто правил последний. Кто раньше правил - смотрим в жулнале.
Гость
36 - 30.12.2014 - 14:50
Цитата:
Сообщение от zaic Посмотреть сообщение
Кто раньше правил - смотрим в жулнале.
это в котором?
Гость
37 - 30.12.2014 - 15:01
36-gamletspb >журнал регистрации - 1cv7.mlg
Гость
38 - 30.12.2014 - 16:36
платят что ли где-то ещё хорошо за семёрку, что даже (!)накануне о журналах регистрации думать получается?
Гость
39 - 30.12.2014 - 17:03
35,37+ LogProvider


К списку вопросов






Copyright ©, Все права защищены