|
|
|
Этоновый() в модуле объекта в файловой базе. Глюк или фича ?! | ☑ | ||
|---|---|---|---|---|
|
0
Aleks73
27.03.09
✎
10:47
|
Движок 11.67. Файловый режим УТ 10.3 Задача, сделать так, чтобы некий чел имел возможность только создавать, но не редактировать уже созданных контров. Права не менять. Задача для клиент-серверной конфы УТ примитивная: в модуле объекта в процедуре перед записью пишем - если не этоновый() тогда если рольдоступна тогда...Сделал и со спокойной совестью ушёл домой. На завтра говорят - не работает! Что? На код не грешил. В результате оказалось что в модуле объекта функция этоновый() при открытом окне формы элемента нового контра выдает ложь. В модуле формы работает правильно. Что это было - не понимаю! Кто сталкивался ? Глюк или фича ?
|
|||
|
1
Aleks73
27.03.09
✎
10:59
|
up
|
|||
|
2
НЕА123
27.03.09
✎
11:04
|
(0) может не перед а призаписи?
|
|||
|
3
H A D G E H O G s
27.03.09
✎
11:06
|
Стэк вызовов глядим
|
|||
|
4
H A D G E H O G s
27.03.09
✎
11:06
|
А вообще, в модуле формы находим строчку
ЗаписатьВФорме(); и думаем |
|||
|
5
Aleks73
27.03.09
✎
11:09
|
(2) Смысл ?
|
|||
|
6
Aleks73
27.03.09
✎
11:11
|
(3)Э-э-э ...а что я там найду ?! Отладку делал.
(4) ЗаписатьВФорме(); -- при сортировке функций после Д идёт И. Внизу списка не предлагается. Вчера ещё смотрел. |
|||
|
7
НЕА123
27.03.09
✎
11:13
|
(5) призаписи() он уже записан.
я ТАК думаю.(с) |
|||
|
8
73
27.03.09
✎
11:13
|
(6) ЗаписатьВФорме(); -- Это не обработчик. Это вызов метода.
|
|||
|
9
Immortal
27.03.09
✎
11:13
|
в чём фича то
в том что элемент уже записали?=) |
|||
|
10
73
27.03.09
✎
11:16
|
(4)+ Также поискать в модуле формы строчку Записать();
|
|||
|
11
Aleks73
27.03.09
✎
11:17
|
(7) вот я и говорю что призаписи мне не нужно для определения нового.
|
|||
|
12
Aleks73
27.03.09
✎
11:17
|
(9) в форме элемента остаётся надпись новый значит не записан.
|
|||
|
13
Aleks73
27.03.09
✎
11:18
|
(8) наверно образованиев у меня не хватает...как его перехвать и редактировать?
|
|||
|
14
НЕА123
27.03.09
✎
11:20
|
(0)
так в ПередЗаписью() или ПриЗаписи()? |
|||
|
15
Aleks73
27.03.09
✎
11:20
|
(10) Остроумно...но нет. Там записывается только договор контра.
|
|||
|
16
Aleks73
27.03.09
✎
11:20
|
(14) Я писал в ПЕРЕДЗАПИСЬЮ мне предложили в (2) - при записи
|
|||
|
17
НЕА123
27.03.09
✎
11:23
|
(16)
пардон. извиняюсь за пост(2) - непонятно написал. ПередЗаписью() - правильно. |
|||
|
18
Aleks73
27.03.09
✎
11:23
|
(17)Принято
|
|||
|
19
Serg_1960
27.03.09
✎
11:26
|
Я бы проверял при открытии формы и ставил только просмотр. Почему? Юзверь может записать новый объект в форме и, обнаружив ошибку, - захочет исправить... а прав-то уже нету :(
|
|||
|
20
73
27.03.09
✎
11:29
|
Да должно работать. Пользовался и в справочниках и в документах. Вопросов не было.
|
|||
|
21
73
27.03.09
✎
11:35
|
(0) <некий чел имел возможность только создавать ... если не этоновый() тогда если рольдоступна тогда>
Не совсем понятно. Может в Если что-то не так? |
|||
|
22
Serg_1960
27.03.09
✎
11:35
|
(20) Ваше "Да" к чему? Или Вы это об чем-то своем :)
|
|||
|
23
73
27.03.09
✎
11:38
|
(22) Да - междометие в данном случае, если Вы так уж придирчивы.
Ну, что ж, перейдем на литературный язык:) |
|||
|
24
Immortal
27.03.09
✎
11:40
|
типа так: не будете ли вы так любезны сообщить мне в случае своей осведомлённости о возможном решении этого вопроса , крайне интересного для меня в силу профессиональных обязанностей, с одной стороны, и незнания предмета, с другой.
|
|||
|
25
73
27.03.09
✎
11:43
|
(21)+ РольДоступна в (0) проверяется как раз для записанного документа.
Если, конечно, приведенный код используется. |
|||
|
26
Aleks73
27.03.09
✎
11:45
|
(19) оригинальная идея...но визуально это не очень хорошо выглядит...подумаю.
(21,25) не этоновый() означает не новый. Проблема в том, что этоновый работает неправильно..или очень своеобразно. роль - это уже вторично работает кстати нормально. |
|||
|
27
Serg_1960
27.03.09
✎
11:51
|
(26) "Визуально хорошо выглядит" если в заголовке будет фраза "... только просмотр".
|
|||
|
28
73
27.03.09
✎
12:03
|
(26) Я тоже знаю что означает "не этоновый()".
Уговорил... Я проверил: ЭтоНовый() в модуле объекта работает правильно. Процедура ПередЗаписью(Отказ) Сообщить(ЭтоНовый()); КонецПроцедуры Во время первого сохранения - Истина. Во время второго сохранения - Ложь. |
|||
|
29
Aleks73
27.03.09
✎
12:46
|
(28) - файловый ? УТ ? какая ?
|
|||
|
30
Serg_1960
27.03.09
✎
12:50
|
(28) И отсюда вывод: проверка "перед" или "при" записи не совсем "устраивает" условиям в (0).
Пока открыта форма редактирования нового объекта - делай что хочешь. Закрыл форму - свободен. Далее - только просмотр. (29) Это не важно :( Сп читай: ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>) ЭтоНовый (IsNew) Синтаксис: ЭтоНовый() Возвращаемое значение: Тип: Булево. Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан. |
|||
|
31
73
27.03.09
✎
12:52
|
(29) Каюсь. На "файловый" не обратил внимания. У меня клиент-сервер.
Может кто из народа проверит? |
|||
|
32
Aleks73
27.03.09
✎
12:57
|
(30) может это единственный выход.
|
|||
|
33
Aleks73
27.03.09
✎
12:57
|
(31) НАРОД!!!! ГДЕ ТЫ !!!! Проверь !!!
|
|||
|
34
73
27.03.09
✎
13:01
|
(30) Я ж не спорю, как лучше решать задачу, описанную в (0).
(33) А у тебя "Сообщить" что выводит? |
|||
|
35
Serg_1960
27.03.09
✎
13:02
|
(31) Сорри, коллеги, это функционал платформы! Не тормозите :( Конфа и реализация БД здесь ни причем :(
(32) Не настаиваю - рекомендую :) (33) Чего проверять-то??? Что Земля круглая? Ща, брошу все, - побегу проверять :)) |
|||
|
36
73
27.03.09
✎
13:03
|
(35) + Присоединяюсь.
|
|||
|
37
Aleks73
27.03.09
✎
13:07
|
(34) Аккурат по сообщить я и тестировал. Лень было подключаться через юзера.
(35,36) несколько неясно сказано - в файловой базе в модуле объекта этоновый() не работает ?! |
|||
|
38
PR
27.03.09
✎
13:10
|
Столько писанины, а ответа все нет :o)
(0) Это бред. Просто при открытии формы объект видимо записывается. Отладчик купи и вперед. |
|||
|
39
73
27.03.09
✎
13:12
|
(38) А что, если он при открытии формы записывается, то ПередЗаписью() объекта
отменяется? Удивлен. |
|||
|
40
Лефмихалыч
27.03.09
✎
13:14
|
(0) что мешает благородному дону просто снять галку "Редактирование", не снимая при этом галку "Интерактивное добавление" у этой роли?
ЗЫ За запреты действий кодом на основании результата функции РольДоступна() я бы стерилизвал программистов - чтобы не размножались такие индивидуумы... |
|||
|
41
PR
27.03.09
✎
13:16
|
(39) Если программно, то да. Иди учись, двоечник :))
|
|||
|
42
PR
27.03.09
✎
13:17
|
+(41) ПередЗаписью формы ессно :))
|
|||
|
43
73
27.03.09
✎
13:17
|
(40) Объекта, а не Формы?
|
|||
|
44
los_hooliganos
27.03.09
✎
13:18
|
Этаноловый()
Пятница... |
|||
|
45
73
27.03.09
✎
13:18
|
(42) Ну а мы ж об Объекте говорим.
Сатисфакции... |
|||
|
46
Лефмихалыч
27.03.09
✎
13:24
|
(45) читай букварь про роли. Для того, чтобы дать возможность только создавать новые, но при этом не дать возможность редактированит существующие, достаточно одну галку выключить и не надо ни какого кодирования
|
|||
|
47
73
27.03.09
✎
13:27
|
(46) Это не мне, пожалуйста. Это к (0).
|
|||
|
48
Лефмихалыч
27.03.09
✎
13:28
|
(46) >> (0)
|
|||
|
49
73
27.03.09
✎
13:28
|
(41)(42)(46) Советую всем читать внимательно, прежде чем давать советы,
а тем более посылать учится. Я тоже могу послать - учиться читать. |
|||
|
50
Aleks73
27.03.09
✎
13:32
|
в (0) было написано - права не менять. По ситуации, это было вредно.
|
|||
|
51
Лефмихалыч
27.03.09
✎
13:34
|
(50) вредно в коде противоречить ролям - поддерживать такой быдлокодинг очень трудно
|
|||
|
52
Лефмихалыч
27.03.09
✎
13:36
|
+(51) потому, что абминистратор базы заранее не знает, какую роль ему поставить - для того, чтобы убедиться, подходит ли пользователю та или иная роль, это надо читать код всех объектво, к ктоторым нужен доступ
|
|||
|
53
Aleks73
27.03.09
✎
13:47
|
(52) никаких атдельных админов не планируется. хамить попрошу в другом месте. Здесь вам не мхатовская подворотня! (с)
|
|||
|
54
73
27.03.09
✎
13:48
|
(41)(42) Нет, таки неграмотный, наверное.
|
|||
|
55
PR
27.03.09
✎
13:50
|
(54) Мая твая не панимай :))
Ответ на (0) до дебилизма простой, надо брать отладчик, глаза, задницу на стул и вперед. |
|||
|
56
73
27.03.09
✎
13:57
|
(55) Прочитай внимательно (39)(41)(42)(43)(45)(49).
Если не понимаешь - иди учись читать, двоечник:)) |
|||
|
57
73
27.03.09
✎
14:00
|
(56)+ Теперь по поводу (0).
Повторюсь: я не спрорю о том, какой способ решения задачи лучше. Меня заинтересовал вопрос об ЭтоНовый(). То, что 1С - не безглючный продукт, думаю, никто оспаривать не будет. И почему бы именно такому глюку не случиться. Если неприятность может произойти, она случается (закон Мэрфи) |
|||
|
58
PR
27.03.09
✎
14:24
|
(57) По поводу (0).
Проверил. Все работает корректно. По поводу того, что 1С - не безглючный продукт. 1С - не безглючный продукт, это да. Но между заявлениями "1С - не безглючный продукт" и "В 1С не работает все, про что я скажу, что это глюк" разница такая же как между "Не все йогурты одинаково полезны" и "Все йогурты одинаковое дерьмо", согласен? :)) По моему опыту, практически всегда, когда кто-то начинает спрашивать, глюк или фича вот такое вот поведение платформы, оказывается, что это не то и не другое, а просто косяк автора, поленившегося тупо открыть книжки перед прикосновением к органам управления компьютером. |
|||
|
59
73
27.03.09
✎
14:29
|
(58) А я и не заявлял, что "В 1С не работает все, про что я скажу, что это глюк".
В (0) тоже нет заявлений. Есть вопрос. PS. Жаль, что мы так и не услышали начальника транспортного цеха... по поводу (45) |
|||
|
60
PR
27.03.09
✎
14:36
|
(59) Я и не говорю, что утверждал. Зато подначивал.
|
|||
|
61
PR
27.03.09
✎
14:37
|
(59) А что ты хотел услышать на (45)?
|
|||
|
62
73
27.03.09
✎
14:42
|
(60) Это где же? Наоборот, по ходу обсуждения пытался человеку объяснить,
что это у него что-то не так (Читай всю ветку!). (61) Если человеку не понятны отдельные слова? Как, напрмер, "сатисфакция", то о чем дальше говорить? Цитирую: 73 39 - 27.03.09 - 13:12 (38) А что, если он при открытии формы записывается, то ПередЗаписью() объекта отменяется? Удивлен. PR 41 - 27.03.09 - 13:16 (39) Если программно, то да. Иди учись, двоечник :)) PR 42 - 27.03.09 - 13:17 +(41) ПередЗаписью формы ессно :)) 73 43 - 27.03.09 - 13:17 (40) Объекта, а не Формы? 73 45 - 27.03.09 - 13:18 (42) Ну а мы ж об Объекте говорим. Сатисфакции... |
|||
|
63
НЕА123
27.03.09
✎
15:17
|
офф. пятница. насчет "сатисфакция".
"В поле стоит одиноко акация - Вот наша резервация О! Баба Вера! Баба Шура! Презервация..." (с) капитан и прапорщик СА (советской армии) в бескрайних степях Украины (где-то под Кривым Рогом). ЗЫ Занесло меня туда в 80-х. Собственно, вышеизложенные стихи отражают полностью их жизню. Пустыня, пьянсто, безысходность... (солдат 2 года и на свододу, а им...). |
|||
|
64
НЕА123
27.03.09
✎
15:18
|
свододу = свободу
|
|||
|
65
Лефмихалыч
27.03.09
✎
15:21
|
(53) надо думать, что весь функционал ты обязуешься помнить в голове и ни когда не уволишься
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |