|
вопрос по рег.сведений | ☑ | ||
---|---|---|---|---|
0
zippygrill
15.03.13
✎
11:10
|
не каждый день создаю регистры сведений и прошу сильно не ругать.
создал рег.Сведений с сл. структуры https://dl.dropbox.com/u/9627383/Screens/2013-03-15_1056.swf также на форме есть кнопки ОК и Записать которые ссылаются на одну процедуру: Если КодВозвратаДиалога.Да = Вопрос("Сохранить значения?", РежимДиалогаВопрос.ДаНет,100,,) Тогда МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(); КонецЕсли; Если Кнопка.Имя = "ОсновныеДействияФормыОК" Тогда ЭтаФорма.Закрыть(); КонецЕсли; если делаю изменение в данных и нажимаю кнопку ОК то ругается на то что записи с такими ключевыми полями сушествует https://dl.dropbox.com/u/9627383/Screens/2013-03-15_1104.swf ошибку понимаю, нужно замещать уже существуюшие записи. з.ы. с пятницой всех :) |
|||
1
zippygrill
15.03.13
✎
11:10
|
||||
2
Maxus43
15.03.13
✎
12:08
|
МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи();
МЗ.Номенклатура = НужнаяНоменклатура; МЗ.Прочитать(); ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(); |
|||
3
Maxus43
15.03.13
✎
12:08
|
ну и заполнять менеджер записи значение ЭтаФорма - помойму перебор. Точно заполняется?
|
|||
4
zippygrill
15.03.13
✎
12:52
|
(3) ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); - заполняется конечно :)
|
|||
5
zippygrill
15.03.13
✎
12:56
|
ща через Прочитать() попробую
|
|||
6
zippygrill
15.03.13
✎
13:08
|
ну также "записи с такими ключевыми полями существует"
|
|||
7
zippygrill
15.03.13
✎
13:37
|
блин чего-то не получается
|
|||
8
cw014
15.03.13
✎
13:39
|
МЗ.Записать(Истина);
|
|||
9
cw014
15.03.13
✎
13:40
|
И (2) тут не нужно
|
|||
10
zippygrill
15.03.13
✎
13:41
|
МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(Истина); |
|||
11
cw014
15.03.13
✎
13:42
|
(10) И?
|
|||
12
zippygrill
15.03.13
✎
13:43
|
она у меня ругается при нажатие на ОК, то есть ЭтаФорма.Закрыть();
|
|||
13
Chikko
15.03.13
✎
13:44
|
А какова вероятность что сюда
МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(Истина); оно не заходит? |
|||
14
zippygrill
15.03.13
✎
13:45
|
она всегда заходит. надо ж сохранить.
|
|||
15
Chikko
15.03.13
✎
13:48
|
Сохранит она и без тебя, а вот какова вероятность что оно всеж не заходит?=)
|
|||
16
Reset
15.03.13
✎
13:50
|
Может измерение в записи не инициализируется по кнопке ОК?
|
|||
17
cw014
15.03.13
✎
13:52
|
Подскажи, а как называется "которые ссылаются на одну процедуру"
|
|||
18
cw014
15.03.13
✎
13:52
|
Какое имя у процедуры?
|
|||
19
Reset
15.03.13
✎
13:53
|
(18) "Сохранить" :)
|
|||
20
zippygrill
15.03.13
✎
13:58
|
еще разок. на форме записи есть 2 кнопки "ОК" и "Сохранить", оба они ссылаются на процедуру:
Если КодВозвратаДиалога.Да = Вопрос("Сохранить значения?", РежимДиалогаВопрос.ДаНет,100,,) Тогда МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(); КонецЕсли; Если Кнопка.Имя = "ОсновныеДействияФормыОК" Тогда ЭтаФорма.Закрыть(); КонецЕсли; |
|||
21
cw014
15.03.13
✎
14:04
|
(12) Ругается так же?
|
|||
22
Chikko
15.03.13
✎
14:04
|
Давай ты перестанешь игнорировать мои посты и признаешься что предупреждение вылезает при записи по модифицированности формы, а в твою
МЗ = РегистрыСведений._АкцидентыНоменклатуры.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(МЗ, ЭтаФорма); МЗ.Записать(); при этом никак не хочет заходить. |
|||
23
Reset
15.03.13
✎
14:05
|
По моему, у тебя просто неверно спроектирована форма.
Если цель - спрашивать перед записью, не нужно переписывать обработчики кнопок ОК и Записать. Достаточно поместить Вопрос в ПередЗаписью и выставлять там при необходимости Отказ в истину |
|||
24
Reset
15.03.13
✎
14:06
|
Вот это помести в ПередЗаписью
Если Вопрос("Сохранить значения?", РежимДиалогаВопрос.ДаНет,100,,)<>КодВозвратаДиалога.Да Тогда Отказ=Истина; КонецЕсли; а все остальное не нужно |
|||
25
Chikko
15.03.13
✎
14:08
|
Если Кнопка.Имя = "ОсновныеДействияФормыОК" Тогда
ЭтаФорма.Модифицированность = Ложь; ЭтаФорма.Закрыть(); КонецЕсли; от так аще будет красиво=)) ну а (23) прав конечно же, не изобретай колесо а используй обработчики. она почти на все случаи жизни предусмотрены. |
|||
26
zippygrill
15.03.13
✎
14:12
|
(22) да заходит она в мою процедуру :), с чего мне врать :) https://dl.dropbox.com/u/9627383/Screens/2013-03-15_1409.swf
(23) ну мысли такова чтобы спрашивал перед тем как сохранить изменении в новую/существующую записи. |
|||
27
Reset
15.03.13
✎
14:13
|
(26) Тогда к (24) нечего добавить
|
|||
28
cw014
15.03.13
✎
14:14
|
А нафига ты вообсче это делаешь? Он автоматом как то сам сохранить должен запись то твою
|
|||
29
Chikko
15.03.13
✎
14:19
|
Просто вопрос хочет задавать.
(24) используй, не нужно никаких менеджеров создавать, уже все само создалось. (26) да он зашел в твою процедуру, но потом, при Закрыть(), вызывается запись еще раз, тк форма.Модифицированность = истина. вот тут-то обработчика у тебя нету. |
|||
30
zippygrill
15.03.13
✎
14:22
|
форма.Модифицированность = ложь; как в (25) чтоли.
|
|||
31
Chikko
15.03.13
✎
14:27
|
(30) Делай грамотно. Возьми вариант из (24) и скажи ему спасибо.
|
|||
32
zippygrill
15.03.13
✎
14:56
|
(31) да я тоже красиво хочу написать.
поместил в ПередЗаписью, востановил действие кнопок по умолчанию, в итоге при сохранение или ок всегда сначала мой диалог а потом предупреждение. https://dl.dropbox.com/u/9627383/Screens/2013-03-15_1456.swf |
|||
33
cw014
15.03.13
✎
15:01
|
А теперь покажи, какие формы у тебя там созданы
|
|||
34
Chikko
15.03.13
✎
15:02
|
Так мы про форму говорили, зачем модуль набора... Небось оставил свою процедуру?=)
|
|||
35
Chikko
15.03.13
✎
15:04
|
Ну и конечно же учитывай:
Синтаксис: Вопрос(<ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>) Доступность: Тонкий клиент, веб-клиент, толстый клиент. |
|||
36
Reset
15.03.13
✎
15:08
|
(32) В форме записи все должно происходить
|
|||
37
zippygrill
15.03.13
✎
15:39
|
(33) ну у меня еще форма списка, но передОткрытием ставлю Отказ = Истина, запросом ищу возможные записи по текущей номенклатуре и открываю формуЗаписи уже.
|
|||
38
zippygrill
15.03.13
✎
15:40
|
(36) у формы? событие ПерезЗаписью? :)
|
|||
39
Chikko
15.03.13
✎
15:51
|
(38) Да, ты верно прочитал.
(37) Тут дело такое: у формы записи уже будет нужный менеджер. Удали всё из всех форм. Оставь что написал Ресет. В обраотчике передзаписью. В форме. |
|||
40
zippygrill
15.03.13
✎
16:01
|
(39) сорри я тупил, забыл прокрутить чтобы увидеть событие ПередЗаписью у формы :)
|
|||
41
zippygrill
15.03.13
✎
16:09
|
удалил все из модуле формы, оставив только ПередЗаписью.
для новой записи не выдает сообщение, а вот если повторно открыть и менять то уже выдает. |
|||
42
hhhh
15.03.13
✎
16:11
|
(41) ну так и есть. Новая запись пишется один раз, не новая - два раза. Это давным давно известно. Чего ты там Америку для себя открываешь?
|
|||
43
zippygrill
15.03.13
✎
16:16
|
(42) так мне нужно чтобы она перезаписывала записи если существует.
|
|||
44
hhhh
15.03.13
✎
16:21
|
(43) ну все с детского сада знают, что перезапись в регистрах сведений не реализована. Реализовано через удаление-добавление. Две операции. Вы чего книжек совсем не читаете?
|
|||
45
hhhh
15.03.13
✎
16:23
|
(44)+ похоже и в регистрах накопления тоже.
|
|||
46
zippygrill
15.03.13
✎
16:26
|
как меня все это бесит!
(44) я поэтому и создал 2 кнопки "ок" и "сохранить" с одинаковой процедуры. |
|||
47
hhhh
15.03.13
✎
16:41
|
(46) что-то я вообще теперь не понял. То есть у тебя 2 менеджера, у записи менеджер, и у тебя МЗ. Как же они вдвоем работают?
|
|||
48
hhhh
15.03.13
✎
16:42
|
ФормаОсновная - это что за форма? Форма записи?
|
|||
49
zippygrill
15.03.13
✎
16:45
|
(48) да
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |