Имя: Пароль:
1C
1C 7.7
v7: Дата запрета редактирования - насколько сложно реализовать
,
0 slafor
 
03.05.23
16:22
Есть самописная конфигурация на базе 7.7.

Насколько я понимаю, дата запрета редактирования в 7.7 реализована не на уровне платформы, а в конфигурации (например, Бух 7.7). Как вы думаете, насколько сложно будет реализовать ее в своей конфигурации? Тут важно, что большинство документов создаются не самими пользователями, а загружаются из другой программы.
1 Builder
 
03.05.23
16:26
(0) Для кого-то и часа хватит.
А некоторым и дня мало будет.
Но судя по таким вопросам, вам пару дней надо.
2 RomanYS
 
03.05.23
16:29
(1) Там же ни событий толком нет, ни подписок в принципе. В каждой форме прописывать придётся, а от внешних обработок вообще никакой защиты (кроме модуля проведения, но он все кейсы не закрывает)
3 Злопчинский
 
03.05.23
16:48
В ГМ внедрить процедуру хЗаписать(конт) и по всём коде внешних обработок использовать только его. Как этого добиться 100℅ - хз. Можно попробовать задействовать форекс предопределенную ПриОткрытииВнешнейОбработки - и перед передачей обработки на исполнение парсить её на предмет наличия Записать, при обнаружении - отказ в открытии обработки.
.
Может ещё как-то...
4 Kigo_Kigo
 
03.05.23
16:50
в каждом документе должно быть Процедура ПриОткрытии()
я делал найти заменить Процедура ПриОткрытии() на
Процедура ПриОткрытии() глПроверитьДатуЗапретаРедактирования();
5 Kigo_Kigo
 
03.05.23
16:51
ну как то так, уже не помню, или при записи, хотя при записи сообщать пользователю, что ему нельзя редактировать, такое себе, лучше уж сразу Форма.ТолькоПросмотр(1)
6 CepeLLlka
 
03.05.23
16:55
(4) (5) Всё верно, я так-же делал
7 Злопчинский
 
03.05.23
16:57
(5) нормально. Это хотя бы провоцирует пользователя подумать перед тем как открыть контекст
8 Bigbro
 
03.05.23
16:57
когда то приходилось разбирать МД, скриптом ехать по тому что получилось чтобы дописывать свои вызовы и собирать обратно.
задача была схожая - в массу объектов прописать вызов своей функции.
9 MWWRuza
 
гуру
03.05.23
16:58
Для интерактивного редактирования документов +(4)и(5). Достаточно при открытии проверять дату, и открывать только на просмотр, если она "до"...
А вот загрузка из другой программы - тут нужно смотреть, как и чем они загружаются. Они могут загружаться и не открываясь.
Тогда в загрузке нужно контролировать.
10 Злопчинский
 
03.05.23
16:59
(8) для этого у Альфа была какая-то компонента которая позволяла вставлять в код
11 MWWRuza
 
гуру
03.05.23
17:03
Да я не думаю, что в самописной конфе милион документов, куда это нужно вставить...
Обычно, все самописки пишут для упрощения учета в какой-то конкретной области.
Там будет максимум десяток видов документов, куда это нужно вставить.
Можно и руками справиться, без компонент и разборки МД.
12 Джордж1
 
03.05.23
17:24
(0)за пол дня управитесь
13 Bigbro
 
03.05.23
17:32
(11) самописки бывают разные.
последняя из тех с чем я работал - порядка полусотни документов свыше сотни справочников несколько сотен отчетов и обработок.
и да, это десятилетие+ писалось именно для упрощения учета в области.
(10) я использовал gcomp кажется так назывался.
14 Злопчинский
 
03.05.23
18:11
(13) не,  Inserter называлось
15 Злопчинский
 
03.05.23
18:12
16 Bigbro
 
03.05.23
18:33
https://1c.alterplast.ru/download.html
и все же, склерозом пока не страдаю.
17 big
 
03.05.23
18:39
Довольно смутно представляю что такое "Перехватчик" из 1СРР, но почему-то думается, что это может помочь. Не?
18 trdm
 
03.05.23
20:06
19 Харлампий Дымба
 
04.05.23
11:03
Мне кажется, у нас в темах v7 есть одна проблема: нет среднего класса.
"Ребят, а сложно вскопать две грядки?"
"Ваще не проблема: вот инструкция к экскаватору!"
Хотя в первых пяти постах несколько раз мелькает "лопата", потом всё-равно начинают советовать освоить экскаватор.
20 MWWRuza
 
гуру
04.05.23
11:22
+(19) Ага :-)
Вот и я не пойму, зачем такие сложности... На 99% уверен, что тут и лопаты(одной процедуры в ГМ и вызов ее из нескольких мест) хватит.
Но, обсуждение плавно перетекло к - "как это сделать в милионе мест супер-пупер сложной конфы и не запариться?"...
Что-то я не заметил, что у ТС именно с этим проблемы. Он спросил, как вообще это делается.
21 uno-group
 
04.05.23
11:29
(5)  В при открытии ставить Форма.ТолькоПросмотр(1) не решает проблему, кнопки остаются доступны, а на них могут висеть процедуры  изменяющие данные.
Только в качестве 1 из доп. мер. А так в ПриЗаписи() возвращать СтатусВозврата(0);
22 uno-group
 
04.05.23
11:33
Ревизию обработок по загрузке документов все равно проводить придется и проще там отрубить их. Чем анализировать тексты всех запускаемых обработок интерактивно.
От программиста дата запрета не спасет. Ему проще обработку меняющую саму дату запрета сделать за 2 минуты и потом чем угодно править уже документы. Причем менять ее можно и не из 1с.
23 Bigbro
 
04.05.23
12:10
(19) ну так в первых постах направление указали же)
дальше если автор не сказал спасибо, разобрался, все получилось - постепенно народ вспоминает случаи когда простые рецепты не помогли, как это было и как решалось.
вдруг у автора схожий случай.
все логично ))
24 Харлампий Дымба
 
04.05.23
12:28
(23) Так о чем и речь. ТС заглянул на минутку в семерку из восьмерки, зачем ему в дебри лезть? В моём случае, например, четверти века не хватило, чтобы разобраться - каждый день новые (или хорошо забытые старые) открытия.
25 Злопчинский
 
04.05.23
12:55
(19) Потому что если возникла задача по дате запрета редактирования - это значит на фирме реальные проблемы с организацией учета. И лопата здесь ваще не подойти может. Экскаватор - снести все нафиг и построить заново. Даже дата запрета редактированич не поможет. Ибо буЛГахтеры - они вообще прогнозировать вперед ничего не могут и решают только сиюминутные задачи. СРОЧНО надо поменять в первом месяце закрывающегося квартала, клиент прислал неправильные документ по возврату, не признаем возврат! Херак! Удалили документ возврата! Дальше - трава не гори, пофиг что возврат уже давно на складе, пофиг что менеджеры эти остатки давно продалию и понеслось - а почему то при закрытии, а почему се при закрытии. Потому что - ....ы!
26 Харлампий Дымба
 
04.05.23
13:20
(25) Ну тут только автор может просветить. Но я вижу так: если самописка и работала 10 лет без даты запрета - значит не такая уж это и проблема для фирмы. А если самописка и работать начала только что - значит не такая уж и навороченная конфигурация - лопаты хватит. Ну и очень не всегда "задача по дате запрета редактирования = реальные проблемы с организацией учета". Учет может быть идеальным, а потом кто-то нечаянно выбирает в обработке "ПредприятиеКлиент" пятилетней свежести файл kl_to_1c.txt - и прощай корректное сальдо! Понятно, что задача программиста - позакрывать все такие места. Но, к счастью, в семёрке это невозможно. У нас тут, в целом, свобода для программиста - какой хочу, такой документ и создам, что ТС и смущает, как я понял. В восьмерке же эту свободу забрали за плюшки.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.