|
Запись элемента справочника в регистр сведений | ☑ | ||
---|---|---|---|---|
0
Эльчин
11.03.13
✎
12:36
|
Есть справочник Услуги, регистр сведений РегистрУслуг. Записываю так:
&НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Регистр = РегистрыСведений.РегистрУслуг.СоздатьМенеджерЗаписи(); Регистр.Период = ТекущаяДата(); Регистр.Услуга = Объект.Наименование; Регистр.Цена = Объект.Цена; Регистр.Скидка = Объект.Скидка; Регистр.Записать(); КонецПроцедуры запись добавляется в регистр, но Наименование не записывается. Цена и Скидеа записывается. Типы совпадают. не могу найти вчем проблема. Буду благодарен если поможете |
|||
1
andreymongol82
11.03.13
✎
12:37
|
Регистр.Услуга = Объект.Наименование;
Регистр.Услуга - какого типа? |
|||
2
Alex375
11.03.13
✎
12:38
|
А Вы уверены что в регистре измерение "Услуга" типа строка? Что-то меня тревожат смутные сомнения по этому поводу...
|
|||
3
НафНаф
11.03.13
✎
12:38
|
а точно наименование нужно, а не ссылка?
|
|||
4
MSII
11.03.13
✎
12:39
|
Измерение Услуга - Тип СправочникСсылка.Услуги, зуб даю.
|
|||
5
andreymongol82
11.03.13
✎
12:39
|
(4) Сдается мне, что тип СправочникСсылка.Номенклатура...
|
|||
6
Эльчин
11.03.13
✎
12:43
|
(1) СправочникСсылка.Услуги
|
|||
7
andreymongol82
11.03.13
✎
12:44
|
(4) Проспорил, блин.
(6) Ну дык попробуйте, вместо Регистр.Услуга = Объект.Наименование; Регистр.Услуга = Объект.Ссылка; |
|||
8
Alex375
11.03.13
✎
12:44
|
ну тогда надо записывать ссылку, а не наименование :)
|
|||
9
vs1c
11.03.13
✎
12:45
|
А по мне так - занавес.
|
|||
10
MSII
11.03.13
✎
12:45
|
Ура. Я сохранил свой зуб.
(6) Ну а зачем ты в него строку пишешь? Да еще обманул нас, говоришь, типы совпадают. |
|||
11
Эльчин
11.03.13
✎
12:45
|
Получилось. спосибо всем. Тип менял. Был СправочникСсылка.Услуги. спосибо большое
|
|||
12
Эльчин
11.03.13
✎
12:47
|
(10) я думал что тип должен быть СправочникСсылка.Услуги. по этому говорил что типы совподают. простите. спосибо еше раз
|
|||
13
НафНаф
11.03.13
✎
12:47
|
(11) а теперь? что-то я очкую за тебя
|
|||
14
andreymongol82
11.03.13
✎
12:48
|
(13) Да не очкуй, он так сто раз уже делал
|
|||
15
Alex375
11.03.13
✎
12:53
|
(11) ты тип в регистре поменял? Если так, тогда дело думаю продолжится в другой ветке.
|
|||
16
Reset
11.03.13
✎
12:57
|
(11) Поменял в регистре тип измерения на строку?
|
|||
17
Эльчин
11.03.13
✎
13:29
|
(15) нет проблем. всё получается. простите, в чем проблема? знаю что у меня есть проблемы, как у всех новычках. но в программе в чем проблема? всё получается. Поменял в регистре тип измерения на строку
|
|||
18
hhhh
11.03.13
✎
13:32
|
(17) йо!!
|
|||
19
НЕА123
11.03.13
✎
13:36
|
(18)
нормально все. душа у ТС требует зажигательные танцы. |
|||
20
hhhh
11.03.13
✎
13:39
|
(19) может он тут на копии тренируется, всё нормально, а завтра пойдет к клиентам и накатит это на рабочую базу?
|
|||
21
Reset
11.03.13
✎
13:41
|
(17) Ну, к примеру, нужно было тебе выйти из дома, а ты забыл в какую сторону дверь открывается. В (7) тебе подсказали, в какую.
Подсказку ты проигнорировал и вышиб дверь напрочь могучим своим плечом. Собственно, в этом и проблема. |
|||
22
mikecool
11.03.13
✎
13:43
|
фееричная ветка
|
|||
23
Reset
11.03.13
✎
13:43
|
подсказки на самом деле еще в (2) (3).
В (7) уже пальцем ткнуто |
|||
24
Эльчин
11.03.13
✎
13:55
|
я понимаю это. но поменяю тип СправочникСсылка.Услуги. Делаю так:
&НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Регистр = РегистрыСведений.РегистрУслуг.СоздатьМенеджерЗаписи(); Регистр.Период = ТекущаяДата(); Регистр.Услуга = Объект.Ссылка; Регистр.Цена = Объект.Цена; Регистр.Скидка = Объект.Скидка; Регистр.Записать(); КонецПроцедуры когда элемент новый, колонка Услуга не заполняетя, а при повторном записе заполняеия. думфл что пока строкой обойтись. да, правда, это болшая проблема в далнейшем. а как делать что колонка Услуга тоже заполнялась? |
|||
25
НафНаф
11.03.13
✎
14:16
|
(24) нужно чтобы объект был записан, внезапно
|
|||
26
Эльчин
11.03.13
✎
15:26
|
(25) понимаю это. но как делать? на форумах есть это тема. но нет ответа
|
|||
27
Эльчин
11.03.13
✎
15:29
|
сделал. процедура не ПередЗаписьюНаСервере, а ПослеЗаписиНаСервере должна было быть. все по моему всё. да? спосибо за помош и терпиливость
|
|||
28
НафНаф
11.03.13
✎
15:49
|
лучше ПриЗаписи, в транзакции
|
|||
29
Эльчин
11.03.13
✎
16:10
|
а как проверить что элемент новый или нет?
|
|||
30
Эльчин
11.03.13
✎
16:12
|
(28) приЗаписи колонка Услуга не заполняется.
|
|||
31
Эльчин
11.03.13
✎
17:19
|
как проверить что элемент новый или нет?
|
|||
32
Эльчин
11.03.13
✎
17:20
|
ЭтоНовый, Пустая(), Параметры.Ключ.Пустая() ..... никак не получается
|
|||
33
НафНаф
11.03.13
✎
17:24
|
в модуле объекта ЭтоНовый()
|
|||
34
hhhh
11.03.13
✎
17:25
|
(32) передЗаписью проверить
|
|||
35
Эльчин
11.03.13
✎
18:39
|
(33) ПриЗаписи проверяю ЭтоНовый(), всегда возврашает ложь, (34) ПередЗаписю проверяю условие возврашает чего надо, но колонка Услуга не заполняется. по моему надо ПриЗаписи проверить, но как проверить. как я понил ПриЗаписи это уже не новый, а ПередЗаписю не дасть заполнить колонку Услуга. Потому что Ссылка пустая. что делать?
|
|||
36
Alex375
12.03.13
✎
04:25
|
(35) надо в перед записью новому элементу принудительно ссылку назначить и тогда все получится.
|
|||
37
Мимохожий Однако
12.03.13
✎
07:01
|
Откуда взялся Объект? ТекущийОбъект я увидел.
|
|||
38
Starhan
12.03.13
✎
07:37
|
(33)а Ниф-Ниф есть?
|
|||
39
hhhh
12.03.13
✎
07:44
|
||||
40
Эльчин
12.03.13
✎
13:55
|
(36) как можно этого сделать?
|
|||
41
Reset
12.03.13
✎
13:59
|
(40) Не надо оно в твоем случае. Делай как в (28)
Зачем тебе знать про ЭтоНовый? |
|||
42
Reset
12.03.13
✎
14:08
|
(40) Отвечать-то будешь?
|
|||
43
Эльчин
12.03.13
✎
14:10
|
не понимаю (28), кажется есть что то по имени Транзакция. не знаю как исползовать. если можете пишите пример об этом для задачи как можно подобен этому. думаю что понили меня, с грамматикой не очень хорошо у меня
|
|||
44
Эльчин
12.03.13
✎
14:11
|
если не можете всё равно спосибо
|
|||
45
Reset
12.03.13
✎
14:13
|
(43) Понимания термина транзакция в данном контексте не требуется. Делай просто ПриЗаписи, поверь на слово.
Зачем тебе нужно знать про ЭтоНовый? |
|||
46
Reset
12.03.13
✎
14:15
|
Для чего потребовалось (31)?
|
|||
47
Эльчин
12.03.13
✎
14:35
|
(46) потому что, когда при записи сделаю так:
Процедура ПриЗаписи(Отказ) Регистр = РегистрыСведений.РегистрУслуг.СоздатьМенеджерЗаписи(); Регистр.Период = ТекущаяДата(); Регистр.Услуга = Ссылка; Регистр.Цена = Цена; Регистр.Скидка = Скидка; Регистр.Записать(); КонецПроцедуры новый элемент записывается как надо. но когда изменяю элемент, и новый элемент добавляется, и тот элемент сам тоже изменяется. в резултате в регистре появляется 2 одиноковые записи. в второй раз уже 3 одиноковый запис и так далее... |
|||
48
Reset
12.03.13
✎
14:38
|
(47) При каждой записи появляется новая запись в регистре, все верно. Этакое версионирование. А нужно чтобы было как?
|
|||
49
Reset
12.03.13
✎
14:40
|
(47) Нужно только первый раз "при создании" запомнить цену скидку?
А если пользователь первый раз забудет ввести, запишет, а правильные укажет при повторной записи? |
|||
50
Reset
12.03.13
✎
14:42
|
Вариант записывать каждый раз "в одну и ту же запись" не рассматриваем, как бессмысленный
|
|||
51
Эльчин
12.03.13
✎
14:50
|
да, да, да... кажется всё правилно. уже 2 дня мучуюсь здесь. спосибо Reset, спосибо большое
|
|||
52
Эльчин
12.03.13
✎
14:51
|
проста когда изменяю имя, и в новом, и в старом записи имя изменяется. я хотел кажется от этово избежать. сейчась вижу что это и так надо быть
|
|||
53
Reset
12.03.13
✎
14:56
|
(52) "Имя" изменяется, потому что записи относятся к одному и то же элементу. Если нужно чтобы хранилось разное наименование (история его смены), добавь ресурс в регистр Наименование и запоминай его тоже
|
|||
54
Эльчин
12.03.13
✎
15:03
|
ОК
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |