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



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

Скопировать запись регистра сведений
Я
   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 человек.
Рекламное место пустует