Версия для печати темы (https://pro1c.org.ua/index.php?s=1abd1f4b7179123ccbf56eae299d4ad4&showtopic=7985)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Смена автора при проведении документов

Автор: Twink 04.07.12, 0:34

Есть необходимость сохранения первоначального автора документа. Т.е., если документ создал Вася, а провела его Маша, то в колонке "автор" должен оставаться Вася smile.gif Я уже делал это в одной конфе, но сейчас повторить не получается. Помогите, пожалуйста

Автор: awp 04.07.12, 7:18

Цитата(Twink @ 04.07.12, 1:34) *
Есть необходимость сохранения первоначального автора документа. Т.е., если документ создал Вася, а провела его Маша, то в колонке "автор" должен оставаться Вася smile.gif Я уже делал это в одной конфе, но сейчас повторить не получается. Помогите, пожалуйста


1.
Процедура ПриЗаписи()
       //Автор = Пользователь;
КонецПроцедуры


2. Думаю что Вы лукавите по поводу
Цитата
Я уже делал это в одной конфе, но сейчас повторить не получается

Автор: Vofka 04.07.12, 8:04

Цитата(awp @ 04.07.12, 8:18) *
Процедура ПриЗаписи()
   //Автор = Пользователь;
КонецПроцедуры

По-моему не так: нужно проверять в ПриЗаписи если автор пустой - только тогда и записывать. Потому что так вообще никогда автора не будет wink.gif

Автор: awp 04.07.12, 8:20

Цитата(Vofka @ 04.07.12, 9:04) *
По-моему не так: нужно проверять в ПриЗаписи если автор пустой - только тогда и записывать. Потому что так вообще никогда автора не будет wink.gif


Я автору не дал готовое решение - только подтолкнул его к решению, в противном случае
Цитата
Я уже делал это в одной конфе, но сейчас повторить не получается
повторится.

Автор: nysysimara 04.07.12, 9:19

Цитата(Vofka @ 04.07.12, 9:04) *
По-моему не так: нужно проверять в ПриЗаписи если автор пустой - только тогда и записывать. Потому что так вообще никогда автора не будет wink.gif

или заполнять реквизит Автор только в процедуре Вводнового

Автор: Twink 02.11.12, 9:41

Цитата(awp @ 04.07.12, 9:20) *
Я автору не дал готовое решение - только подтолкнул его к решению, в противном случае повторится.


Почему надо обязательно строить из себя умника? Я зашёл на форум и задал вопрос "как сделать", а не "намекните, пожалуйста"! Ведь так? Я сей

Вопрос всё ещё актуален. Был бы очень благодарен, если бы мне дали более конкретный ответ.

To AWD
Я не лукавил. У меня на сервере стоит несколько баз. И в паре из них я устранил эту проблему сам, но это было пару лет назад.
Не обязательно строить из себя умника. Если б я написал: "намекните, пожалуйста", я б ещё понял Ваш ответ. Я попросил дать решение по достаточно простому вопросу! Я не программист 1С. Кое-что я могу дописать время от времени, но учитывая, что это не мой профиль, мне надо куда больше времени, чтоб решить этот вопрос самому. А времени сейчас нет (работаю по 12 часов и более минимум 6 дней в неделю). Вполне вероятно, что когда-то Вам понадобится помощь в вопросах, в которых Вы не профи, а прямой ответ будет необходим! И вполне возможно, что на другом форуме именно я смогу дать его! Но дам ли после Вашего ответа? Подумайте над этим.

Автор: nysysimara 02.11.12, 11:19

вариант 1:
в процедуре ПриЗаписи() прописать

Автор = ?(ПустоеЗначение(Автор)=1,Пользователь,Автор);

вариант 2:
в процедуре ПриЗаписи()
//Автор = Пользователь;

а в процедуре ВводНового(
Автор = Пользователь;

Автор: mister-x 02.11.12, 12:37

офтоп

хм, питання по програмуванню чомусь створене в розділі для користувача

Автор: Twink 02.11.12, 13:08

Большое спасибо! Всё вышло.
Не пойму, почему когда Vofka писал тоже самое, у меня не вышло. Мб мозг был забит другим

Вариант 1 ругается на переменную "пользователь".
Вариант 2 работает комментировании в процедуре ПриЗаписи()
//Автор = Пользователь;

На что влияет в процедуре ВводНового()
Автор = Пользователь;
??? Поле автор пустым могло быть? Без этой строки новые документы создаются и автор у них текущий пользователь. Или я что-то не досмотрел?

Это надо сделать в каждом документе, где я хочу добиться данного результата?


Автор: nysysimara 02.11.12, 14:14

Twink
Пользователь - глобальная переменная в которой хранится элемент справочника "Пользователи"(т.е текущий пользователь)
Автор - общий реквизит всех документов, тип значения Справочник.Пользователи
заполнялся он у вас при записи

Цитата
Без этой строки новые документы создаются и автор у них текущий пользователь.
- значит в документе заполнение реквизита Автор прописано в другом месте

опять таки я не знаю какая у вас конфигурация, возможно в вашей нет глобальной переменной Пользователь

Автор: igmig65 03.11.12, 16:00

В 1С77 давно понятие Автор (Пользователь) - это уже не автор, а пользователь, последним записавший док-т. Логически правильно можно сделать следующее: Автор скопировать, создастся Автор1, Автор переименовать в Создал. Автор1 переименовать в Автор. Что призойдет? В реквизите бывшем Автор, теперь Создал, у вас останутся значения пользователей записавших последними доки. Ну а для нового Автор написать автозаполнение именно Автора док-та.
Для чего не менять логику 1 реквизита, а добавлять новый? Просто не раз сталкивался с проблемой именно связи Автора документа с теми, кто его перезаписывал.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua