Имя: Пароль:
1C
1C 7.7
v7: Отобразить пользователя
0 Борис_16
 
19.09.13
12:21
Всем привет! Уменя такая задач: скажем работает один человек за компом за другого он исполнитель а второй контралер, которого нет на месте и получет исполнитель по шапке вместо контролера.

Учитывая, что исполнитель заходит в базу под своим пользователем, можно ли в нужном документ прописать строку, в которой при заходе пользователя сразу был прописан пользователь?
1 yanejsh
 
19.09.13
12:22
можно
2 Heckfy
 
19.09.13
12:24
Учу читать СП. Недорого.


МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
ТекущийПользователь (CurrentUser)
Синтаксис:

ТекущийПользователь()
Возвращаемое значение:

Тип: ПользовательИнформационнойБазы.
Описание пользователя, аутентифицированного в текущем сеансе. Если список пользователей информационной базы пустой, то в качестве текущего пользователя будет возвращен пользователь с пустым именем и идентификатором объекта, полученного методом НайтиПоИмени, если в параметре указано пустое имя.
Описание:

Получает описание текущего пользователя информационной базы.
При начале сеанса работы пользователя с информационной базой описание аутентифицированного пользователя сохраняется в сеансе, и оно становится текущим пользователем. Значения всех свойств текущего пользователя в течение сеанса не меняются и остаются такими, какими они были в момент аутентификации.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Доступен всем пользователям
3 Борис_16
 
19.09.13
12:25
Это применимо для 8-ки, а у меня 7-ка!)
4 yanejsh
 
19.09.13
12:33
ИмяПользователя()
Синтаксис:
ИмяПользователя()
Назначение:
Возвращает имя пользователя.
Подробнее см. в документации, глава 'Системные процедуры и функции'


так пойдет?
5 Борис_16
 
19.09.13
12:36
Спасибо! Пойдет!!! :) как сработает, напишу
6 Борис_16
 
20.09.13
09:11
Всем Привет! я написал

глТекущийПользователь = ИмяПользователя();

и оно отражается в окошке с запретом на редактирование.

проблема в том, что я зайлу и я отражусь, но не сохранюсь.

Как можно прописать сохранение на пользователя.

Окно только для визуального просмотра.
7 Fish
 
20.09.13
09:14
(6) А можно по-русски?
8 Борис_16
 
20.09.13
09:22
у меня отражается пользователь, но его название не сохраняется. При заохде в документы под другим пользователем - отражается он, а не тот под которым док. делался
9 Стрелок
 
20.09.13
09:23
(8) о господи. создай реквизит шапки "ПользовательАвтор" и пиши туда при записи имя пользователя
10 Борис_16
 
20.09.13
09:26
мне надо чтоб пользователь автоматически прописывался )
11 Bigbro
 
20.09.13
09:27
ну так пропиши автоматически. ПриОткрытии() ПриЗаписи() и тд.
12 AZ_AZ
 
20.09.13
09:28
(10) открой типовые конфигурации, там это счастье давно прописывается
13 Борис_16
 
20.09.13
09:28
а сохранять будет?
14 Стрелок
 
20.09.13
09:29
(13) ты щас с опаской спросил?
15 AZ_AZ
 
20.09.13
09:30
(13)
Процедура ПриЗаписи() //предопределенная
ПользовательАвтор = глПользователь
КонецПроцедуры
//примерно так
16 Стрелок
 
20.09.13
09:31
Процедура ПриЗаписи() //Предопределенная процедура      
    СортироватьСтроки("+Товар");
    глПроверкаДатыДок(Контекст,"Запись");
    Если глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда
        СтатусВозврата(0);
    КонецЕсли;
    Автор = глПользователь;  
    ЗасчитыватьОплатуПоСлужДоговору=1;  
    Если глПроверкаДублейСтрок(Контекст)=0 Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;    
    //ЛОГИРОВАНИЕ
    ЗаписатьИзменения(Контекст);
КонецПроцедуры
17 Fish
 
20.09.13
09:31
(13) Если запишешь в реквизит и сохранишь документ, то будет. Иначе - навряд ли.
18 Борис_16
 
20.09.13
09:44
Процедура ПересчетСуммы()
    суммаСНДС = количество*цена;
КонецПроцедуры                                
Процедура ПриЗаписи() //предопределенная
ПользовательАвтор = глТекущийПользователь
КонецПроцедуры

Не сохрянет пользователя.

Зашел в док. под другим юзером, так он и отразился, а надо чтоб тот кто этот док делал...
19 Стрелок
 
20.09.13
09:44
реквизит "ПользовательАвтор" у документа есть?
20 Fish
 
20.09.13
09:47
(18) Тебе надо записывать в реквизит текущего пользователя только у нового документа. При открытии старого документа реквизит менять не надо.
21 Борис_16
 
20.09.13
09:47
Есть - Справочник Пользователи, и в них видимо не корректно все, а что именно не могу пока понять...
22 Стрелок
 
20.09.13
09:59
типовые конфигурации есть?
23 Борис_16
 
20.09.13
10:19
Да
24 Стрелок
 
20.09.13
10:30
(23) смотри там
25 Scanvir
 
20.09.13
10:45
Борис, что ты хочешь изменить? Автора документа? У документа какой реквизит хранит имя пользователя?
26 Борис_16
 
20.09.13
10:53
Я хочу сохранить автора документа, а он не сохраняется... что прописать надо?
27 Борис_16
 
20.09.13
10:54
Имя пользователя отражает, но не хранит, а мне надо чтоб хранил!
28 Стрелок
 
20.09.13
10:56
не поздновато начинать на 7.7? может лучше на 8-ку сразу учиться?
29 Борис_16
 
20.09.13
11:08
Можно всетаки закрепить автора при сохранении документа через пользователя?
30 Стрелок
 
20.09.13
11:10
(29) тебе куски кода привели реального. ещё что?
31 Rie
 
20.09.13
11:10
(29) А кто не даёт? В типовых обычно есть общий реквизит Автор. Типа Справочник.Пользователи.
Вот только сильно смущает подход в (6), где глТекущийПользователь должен бы иметь тип Справочник.Пользователи, а ИмяПользователя() - это Строка.
Возможно, в этом и проблема?
32 vova1122
 
20.09.13
11:15
(27) Вот мой кусок кода: Два реквизита - кто создал и кто редактировал.
Процедура ПриЗаписи()
    Если ПустоеЗначение(ТекущийДокумент())=1 Тогда
        Створив      =глКористувач;
        ДатаСтворення=ТекущаяДата();
                час_створ=текущеевремя(,,);
    Иначе
        Редагував      =глКористувач;
        ДатаРедагування=ТекущаяДата();
        час_ред=текущеевремя(,,);
    КонецЕсли;
КонецПроцедуры
33 Rie
 
20.09.13
11:16
+(32) Кстати, да, неплохой вариант.
34 Rie
 
20.09.13
11:17
+(33) Причём Редактировал, ДатаРедактирования и время_ред можно сделать общими реквизитами - с отбором.
35 Стрелок
 
20.09.13
11:18
первый раз вижу переменные на украинском. ЖЕСТЬ!!!
36 Rie
 
20.09.13
11:18
(35) Давно тебя на форуме не было... Поэтому и не видел :-)
37 vova1122
 
20.09.13
11:19
(35) ну мой родной язік Украинский, так мне проще ...
38 Mikeware
 
20.09.13
11:20
(36) На узбекском были (в руччкой транскрипции) - вот это жесть была.
39 Стрелок
 
20.09.13
11:20
(36) не, я конечно тоже хохол но не до такой степени чтобы юзать украинский в коде ;)
40 Rie
 
20.09.13
11:22
(37) Не обращай внимание. Как тебе удобнее - так и пиши.
41 Rie
 
20.09.13
11:24
(39) Вот в "1С", где изначально принят подход "писать на родном языке", это никоим образом не удивительно.
Это как пришельцы с дельфей или плюсов первое время пишут по аглицки (который они не всегда знают :-), и только потом до них доходит, что это вовсе не признак мастерства.
42 Стрелок
 
20.09.13
11:30
(41) да при чём тут это? просто прикольно. ты бы не удивился если бы например казах писал в русской транскрипции переменные на своё языке? вот и я о том же.

кстати, я одно время по привычки после делфей писал на английском довольно долго. но во франче это запрещали т.к. мой код и переменные только я и понимал
43 Rie
 
20.09.13
11:34
(42) 1251 поддерживает и украинский язык. Так что транскрипция не нужна :-)
А проблема с языком в том и состоит - "мой код и переменные только я и понимал", а надо, чтобы и другие понимали.
(К слову, Андрей Анатольевич Берс ещё в 1980-е активно пропагандировал использование русской лексики при написании программ и даже Burroughs Algol перекомпилировал, чтобы он русские буквы понимал как буквы :-)
44 Стрелок
 
20.09.13
11:35
(43) тьфу на тебя. вот ты въедливый.... ладно блин явозьму кусок своей конфы по кондитерке, перепру его на украинский и тебе на почту отправлю. 10 метров. чтобы знал!

;)
45 КапЛей
 
20.09.13
11:39
(44) так нафиг переводить? :) можно кусок старой комплексной от львовского "ДИСКа" взять или такую же старую "АБИСовскую" бюджетку... Особенно второй вариант, вот Юлька (JuliaSoft) плевалась когда писала её в свое время. :)
46 Rie
 
20.09.13
11:40
(44) 10 метров переводить? Трудолюбивый ты... :-)
47 Стрелок
 
20.09.13
11:42
(46) а переводчика нафига? я же переменные называю типа

"ТаблицаРасчетаСебестоимости_2" вот и будет
"ТаблицяРозрахункуСобивартости_2" о как!!!!
48 Стрелок
 
20.09.13
11:43
а интересно 1С украинские "і" и "ї" и "є" схавает?
49 Стрелок
 
20.09.13
11:43
надо будет попробовать ;)

вот и появилась защита по национальному признаку. от москалей ;) ;) ;)
50 vova1122
 
20.09.13
11:45
(48) хавает, но лучше не использовать
51 vova1122
 
20.09.13
11:46
+(50) так как "текущая системная установка" языка может не схавать (на семерке)
52 КапЛей
 
20.09.13
11:46
(48) спокойно схавает.
53 Rie
 
20.09.13
11:48
(48) 8-ка - схавает. Ибо Unicode.
54 Rie
 
20.09.13
11:49
(50) А с текущей культурой - тут обычно без вариантов.
Поскольку и в базе, скорее всего, будут наименования с этими буквами.
55 Mikeware
 
20.09.13
11:51
(41) меня убивал перевод "let" как "допустим" :-)))
56 Mikeware
 
20.09.13
11:51
+(55) правда, это вроде в Наири было
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан