Имя: Пароль:
1C
1С v8
передача значения из формы в модуль объекта ОФ
0 Droning1C
 
07.12.19
11:13
Обычные формы. В модуле набора записей регистра сведений пишу - Перем фКопирование Экспорт;

В модуле формы пишу следующий код -

Процедура РегистрСведенийСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
    
    Если Копирование = Истина Тогда
        
        фКопирование = Истина;
        
    Иначе
        
        фКопирование = Ложь;
        
    КонецЕсли;
    
КонецПроцедуры


Как итог- переменная в модуле набора записей = Неопределено, не передается значение. Что я делаю не так?
1 Droning1C
 
07.12.19
11:21
Ткните носом в статью какую-то хотя бы..
2 ДенисЧ
 
07.12.19
11:26
" Что я делаю не так?"
Всё не так
3 acht
 
07.12.19
11:26
Судя по "Процедура РегистрСведенийСписокПередНачаломДобавления" у тебя элемент формы называтеся РегистрСведенийСписок. Ты в форме чего для регистра это все пишешь, форме списка? Тогда твои ожидания, что он должен видеть переменную модуля набора записей, они... беспочвенны.
4 Droning1C
 
07.12.19
11:29
(3) то есть либо из формы записи ---> модуль набора записи, а если из формы списка, то можно в модуль менеджера?
5 Droning1C
 
07.12.19
11:30
(2) это я уже понял. Хотелось бы узнать как правильно
6 acht
 
07.12.19
11:33
(4) Нет
7 acht
 
07.12.19
11:36
(5) Правильно так не делать. А чтобы ответить как правильно, надо знать что. Зачем все это?
8 Droning1C
 
07.12.19
11:38
(7) В модуле набора записей ПриЗаписи я присваюиваю реквизиту записи значение.
При копировании записи это значение должно меняться на новое. Вот собственно вся суть.
9 Droning1C
 
07.12.19
11:51
ап
10 Droning1C
 
07.12.19
12:05
Суть вопрос - как передать значение из модуля формы списка в модуль объекта, если это возможно?
Если невозможно, то как можно реализовать то, что написано в (8) ?
11 D_E_S_131
 
07.12.19
12:05
(8) "При копировании записи это значение должно меняться на новое." - а при новой записи это значение должно просто заполняться?
12 D_E_S_131
 
07.12.19
12:06
(10) "ДополнительныеСвойства" у набора записей - через них передавай что хочешь.
13 Droning1C
 
07.12.19
12:15
(12) спасибо, изучу. (11) Должно заполняться, если не заполнено и должно быть уникальным в пределах регистра, поэтому при копировании надо менять значение.
14 D_E_S_131
 
07.12.19
12:24
Если это счетчик какой-то, то просто перед записью в модуле набора записей проверяй заполненность и уникальность. Если какое-то из этих условий не выполняется, то заполняй новым значением. И не нужно ничего никуда передавать.
Только перед проверкой придется блокировать всю таблицу этого РС, что бы в другом сеансе не внесли "другое уникальное" значение.
15 Droning1C
 
07.12.19
12:33
(14) А уникальность как мне проверять? Запросом по миллиону записей? Это же медленно
16 Droning1C
 
07.12.19
12:33
(14) просто в моем случае копирование- единственный случай, когда возможна ситуация создания не уникального поля
17 D_E_S_131
 
07.12.19
16:42
(16) Это Вам сейчас так кажется, что "единственный случай"... Второй момент - запрос может и медленнее найдет запись по этому значению поля-счетчика, но это будет гарантия уникальности, в отличии от инкремента значения какой-то константы.
18 Droning1C
 
07.12.19
17:48
(17) я пользуюсь не инкрементом, а Новый УникальныйИдентификатор. В итоге делаю запросом как вы говорили, с ограничением по периоду.
19 Droning1C
 
07.12.19
17:50
(17) Кстати. если Создан Новый УникальныйИдентификатор, но не присвоен какому-то объекту, может ли теоретически такой же УникальныйИдентификатор создаться в последующем в пределах этой же базы?
20 ДенисЧ
 
07.12.19
18:01
(19) теоретически да. На практике скорее Медведев приедет к тебе водку пить.
21 Cthulhu
 
07.12.19
18:47
(20): ты не поверишь....
22 ДенисЧ
 
07.12.19
18:50
(21) Что, к тебе ездил? Так у меня и GUIDы совпадали... Правда, ещё на 77, с v7plus...