Имя: Пароль:
1C
1С v8
Как определить, что это новая запись в РС?
,
0 Pasha_mix
 
08.08.11
21:51
В регистре сведений есть измерение ИД, оно не редактируется в форме. При копирование оно тоже копируется, что не правильно. Как можно проверить что это копирование или, что это новая запись (тогда можно очищать ИД). В процедуре ПриОткрытии хотел проверять, если это новый, тогда если ИД заполнено, то очищать его, а как проверить что-то не могу понять. Это управляемая форма записи РС.
1 AlexNew
 
08.08.11
21:52
СП молчит?
2 Pasha_mix
 
08.08.11
21:55
Да, ничего там не нашел подходящего.
3 Лефмихалыч
 
08.08.11
21:56
(0) линейкой по рукам себя шлёпни. Описанное тобой поведение, присуще справочнику, а не регистру сведений
4 Pasha_mix
 
08.08.11
21:57
Ожидал чего-то вроде ЭтоНовый или НоваяЗапись
5 Pasha_mix
 
08.08.11
21:58
(3) Тогда как можно при копировании очищать реквизит?
6 Лефмихалыч
 
08.08.11
21:58
(4) запосом в базе поищи запись с таким ИД. Если запись новая, то в базе ни чего не будет.
Но лучше линей по рукам себя таки шлёпни
7 Лефмихалыч
 
08.08.11
21:58
(5) 8.2 ли 8.1?
8 Pasha_mix
 
08.08.11
22:01
(7)8.2, Не ужели нет никакого параметра по которому можно определить? Думал может ЭтоФормаНового. Ведь в когда заводишь новую запись, то пишется "Создание" в заголовке формы
9 AlexNew
 
08.08.11
22:01
(3) Руки то тут причем?
10 Лефмихалыч
 
08.08.11
22:03
(8) сними просто галку "Заполнять из данных заполнения" с этого измерения.
13 Pasha_mix
 
08.08.11
22:08
(10)такой галочки не стояло
19 Лефмихалыч
 
08.08.11
22:18
(13) в обработке заполнения значит очищай и делу конец
24 Лефмихалыч
 
модератор
08.08.11
22:27
Я тут внезапно вспомнил, что оказывается "Флейм в разделах 1С и IT не допускается"
25 Pasha_mix
 
08.08.11
22:29
(24) Это правильно.
(19) Обработка заполнения это в модуле формы записи?
26 Лефмихалыч
 
08.08.11
22:30
(25) да
28 ado
 
08.08.11
22:37
(19) А лучше всего, стереть конфу, и наконфигурировать заново, используя справочник там, где логика требует использовать справочник.
29 Лефмихалыч
 
08.08.11
22:38
(28) это я уже предлагал, см (3)
30 Buster007
 
08.08.11
23:43
когда копируешь, у управляемой формы есть такой Параметр ЗначениеКопирования, и там смотришь заполнено оно или нет и тем самым определяешь Новый или Копируется.
З.Ы. Параметры доступны только ПриСозданииНаСервере.
31 Pasha_mix
 
09.08.11
12:03
Сделал так, работает. Хотя не знаю точно, что значит Выбран(), но когда запись новая ТекущийОбъект.Выбран() = Ложь.
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   Если НЕ ТекущийОбъект.Выбран() или Не ЗначениеЗаполнено(ТекущийОбъект.Ид) Тогда
       ТекущийОбъект.Ид = Новый УникальныйИдентификатор();
   КонецЕсли;
   
КонецПроцедуры
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.