Вход | Регистрация



Скопировать запись регистра сведений

Скопировать запись регистра сведений
Я
   mastodont
 
20.09.16 - 11:56
Есть управляемая форма списка регистра сведений.
Нужно добавить кнопку для копирования текущий записи (и немного ее изменить).
Не пойму как сделать. Вернее не понятно как получить текущую запись.
 
 
   mastodont
 
1 - 20.09.16 - 11:56
Пробовал вот так, не работает:
&НаСервере
Процедура ВнестиСкидкуНаСервере(ТекСтрока)
    
    НоваяЗапись = РегистрыСведений.ар_ПостоянныеПлатежи.СоздатьМенеджерЗаписи();
    НоваяЗапись.Заполнить(ТекСтрока);
    НоваяЗапись.Записать();    
    
КонецПроцедуры

&НаКлиенте
Процедура ВнестиСкидку(Команда)
    
    ТекСтрока = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
        
    ВнестиСкидкуНаСервере(ТекСтрока);
    
КонецПроцедуры
   mastodont
 
2 - 20.09.16 - 11:57
ТекСтрока в данном случае получается ДанныеФормыСтруктура
   PR
 
3 - 20.09.16 - 11:57
Так так. Продолжай.
   Лефмихалыч
 
4 - 20.09.16 - 11:58
(2) и чо?
   PR
 
5 - 20.09.16 - 11:59
(4) Да обожди ты, не перебивай рассказчика. Дело идет к кульминации.
   PR
 
6 - 20.09.16 - 12:00
+(5) Сейчас по сценарию должно быть место про то, что
    НоваяЗапись = РегистрыСведений.ар_ПостоянныеПлатежи.СоздатьМенеджерЗаписи();
    НоваяЗапись.Заполнить(ТекСтрока);
    НоваяЗапись.Записать();    
не дает новой записи, а перезатирает существующую.
   mastodont
 
7 - 20.09.16 - 12:01
(6) я отлоадчиком смотрю:
НоваяЗапись.Заполнить(ТекСтрока); - не заполняет новую запись.
   mastodont
 
8 - 20.09.16 - 12:02
не пойму как сделать, что бы не перебирать все реквизиты...
   Ёпрст
 
9 - 20.09.16 - 12:03
(7) дык, её добавить надо, перед заполнением, вестимо
   mastodont
 
10 - 20.09.16 - 12:07
(0) в смысле?
а НоваяЗапись = РегистрыСведений.ар_ПостоянныеПлатежи.СоздатьМенеджерЗаписи(); что делает?
 
 Рекламное место пустует
   Лефмихалыч
 
11 - 20.09.16 - 12:07
НоваяЗапись.Заполнить(ТекСтрока); 
НоваяЗапись.ЗначениеКотороеДолжноОтличаться = КакоеТоЗначение;
   Лефмихалыч
 
12 - 20.09.16 - 12:07
(10) ты не поверишь...
   PR
 
13 - 20.09.16 - 12:08
(10) Ты сам с собой общаешься? Круто.
Вообще, может тебе книжки какие почитать, если ты не понимаешь, что такое регистр сведений?
   PR
 
14 - 20.09.16 - 12:09
(11) НоваяЗапись.Заполнить(ТекСтрока); 
НоваяЗапись.ЗначениеИзмеренияКотороеДолжноОтличаться = КакоеТоЗначение;
   mastodont
 
15 - 20.09.16 - 12:11
(11) (14)
в итоге я получаю запись в которой заполнено только ЗначениеИзмеренияКотороеДолжноОтличаться
   Ёпрст
 
16 - 20.09.16 - 12:11
(10) в прямом. Ты изменить существующую хочешь запись, или всё же новую слепить ?
   Лефмихалыч
 
17 - 20.09.16 - 12:12
(15) это вопрос?
   mastodont
 
18 - 20.09.16 - 12:12
(13) я понимаю что такое регистр сведений. не пойму как получить копию записи (я ее изменю перед записью..).
   Лефмихалыч
 
19 - 20.09.16 - 12:14
(18) ну, вот ты уже в (1) получаешь копию записи. Полегчало?
   mastodont
 
20 - 20.09.16 - 12:14
(16)
Мне надо на основании существующей записи сделать новую, у которой изменится период и сумма.
   mastodont
 
21 - 20.09.16 - 12:15
(19) я ее НЕ получаю. если бы получал вопросов бы не было.
   Лефмихалыч
 
22 - 20.09.16 - 12:15
(21) получаешь
(20) ну, так измени период и сумму! Просто возьми и измени. Записать не забудь
   goleaff2006
 
23 - 20.09.16 - 12:18
НоваяЗапись.добавить();  Где?
   mastodont
 
24 - 20.09.16 - 12:18
(22) изменяю, при записи ругается:
Запись не верна! Значение поля "Контрагент" не может быть пустым!: ар_ПостоянныеПлатежи: 20.09.2016, , ,  (Регистр сведений: Постоянные платежи)
   Лефмихалыч
 
25 - 20.09.16 - 12:18
(24) хреново меняешь значит. Показывай, как ты это делаешь
   Лефмихалыч
 
26 - 20.09.16 - 12:19
(23) нет такого метода у менеджера записи
   mastodont
 
27 - 20.09.16 - 12:19
(25)
&НаСервере
Процедура ВнестиСкидкуНаСервере(ТекСтрока)
    
    НоваяЗапись = РегистрыСведений.ар_ПостоянныеПлатежи.СоздатьМенеджерЗаписи();    
    НоваяЗапись.Заполнить(ТекСтрока);
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.Записать();    
    
КонецПроцедуры
   mastodont
 
28 - 20.09.16 - 12:21
Повторюсь, если посмотреть отладчиком, то после
НоваяЗапись.Заполнить(ТекСтрока);
запись пустая...
   Лефмихалыч
 
29 - 20.09.16 - 12:21
(28) значит не включены галки "Заполнять из данных заполнения" у потрохов регистра.
ЗАмени на ЗаполнитьЗначенияСвойств()
   mastodont
 
30 - 20.09.16 - 12:26
(29) ЗаполнитьЗначенияСвойств() помогло. огромное спасибо!

но почему не заполнялось через заполнить(0 остается загадкой.
"Заполнять из данных заполнения" - галка стоит...
   Лефмихалыч
 
31 - 20.09.16 - 12:29
(30) потому, что по умолчанию из данных заполнения заполняются только те атрибуты, у который в конфигураторе включена галка "Заполнять из данных заполнения". Все остальное платформа не заполняет


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует