Имя: Пароль:
1C
1C 7.7
v7: Неопределенный периодический реквизит справочника
0 kupec
 
12.08.12
16:04
Добрый день, не удается записать документом такой тип реквизита!!
делаю в проводке так

       Спр.ТекущийЭлемент().НазначитьТип("Расположение","Справочник.Подразделения");
       Спр.Записать();
       УстановитьРеквизитСправочника(Кулер,"Расположение",Подразделение,ДатаДок);

не записывается, что я делаю не правильно, подскажите
1 Злопчинский
 
12.08.12
16:10
посмледние две строчик поменять местами.?
2 Азазелло
 
12.08.12
16:10
(0) а что такое "кулер" и какое он отношение имеет к "Спр"?
3 kupec
 
12.08.12
16:12
(2) кулер - реквизит строки документа, имеется справочник "кулеры"
4 Азазелло
 
12.08.12
16:13
(3) на первый вопрос ответил. а на второй? какое отношение он имеет к "Спр"?
5 kupec
 
12.08.12
16:15
спр=СоздатьОбъект("Справчоник.Кулеры");
спр.найтиэлемент(Кулер);
Спр.ТекущийЭлемент().НазначитьТип("Расположение","Справочник.Подразделения");
       Спр.Записать();
       УстановитьРеквизитСправочника(Кулер,"Расположение",Подразделение,ДатаДок);

так понятней ?
6 kupec
 
12.08.12
16:16
Азазелло....как бы ты сделал ?
7 Азазелло
 
12.08.12
16:17
УстановитьРеквизитСправочника(Спр.ТекущийЭлемент(),"Расположение",Подразделение,ДатаДок);
?
8 Азазелло
 
12.08.12
16:17
И вот на счет этого: Спр.Записать(); что-то не уверен... Нужно ли?
9 kupec
 
12.08.12
16:18
Спр.ТекущийЭлемент() = кулер !!!
разве не так ?? )))
10 Steel_Wheel
 
12.08.12
16:18
(3) ппц
11 Азазелло
 
12.08.12
16:19
Кулер - это кэш в памяти. Спр.ТекущийЭлемент() - актуальное состояние объекта.
12 kupec
 
12.08.12
16:19
(10) что ?
13 Азазелло
 
12.08.12
16:19
(10) Стоп! А выборка строк то хоть присутствует???
14 Steel_Wheel
 
12.08.12
16:19
(12) уровень абстракции
15 Азазелло
 
12.08.12
16:21
(14) ну может организация кулерами занимается... что в этом такого? ну справочник Кулеры и что.. У нас на прошлой работе справочник "Животные" был. Там свинки учитывались
16 kupec
 
12.08.12
16:21
(13) ну естественно, в проводке записываются 3 реквизита, 2 числовых (они устанавливаются) а неопределенный не записывается, смотрю у элемента историю значений, документ в истории присутствует н вот значение не устанавливает
17 kupec
 
12.08.12
16:21
(7) не помогло
18 kupec
 
12.08.12
16:22
(15) просто может он не знает о существовании других справочников кроме как товары и контрагенты !!!
19 Steel_Wheel
 
12.08.12
16:24
(15) просто умножаются сущности, где это не надо

Например, на животных надо считать амортизацию, т.к. они -- основные средства. А справочником "животные" ты ставишь себе костыль в типовой механизм расчета амортизации..

в (0) все похоже на правду, надо продолжать копать. В 7-ке можно одну и ту же вещь сделать 3-мя способами. Но только один из них будет верным. И каждый раз он будет разным
20 Азазелло
 
12.08.12
16:28
(19) про амортизацию согласен, но то оперативный учет со справочником Животные, а то бухгалтерский со справочником ОС. сорри за оффтоп.

(16) стало интересно, полез в конфигуратор )
21 kupec
 
12.08.12
16:28
ТАК ЧТО ДЕЛАТЬ ТО РЕБЯТ !!!! кстати еще момент, если просто меняю элемент, реквизит этот неопределенный, то он также не записывается и не сохраняется
22 kupec
 
12.08.12
16:28
если что конфигурация с НУЛЯ
23 Азазелло
 
12.08.12
16:34
(22) все. получилось. в УстановитьРеквизитСправочника передай тип значения. НазначитьТип не нужно использовать. О как!
24 Азазелло
 
12.08.12
16:35
Спр = СоздатьОбъект("Справочник.Кулеры");
   Если Спр.НайтиЭлемент(Кулер.ТекущийЭлемент()) = 1 Тогда        
       
       УстановитьРеквизитСправочника(Спр.ТекущийЭлемент(), "Подразделение", Подразделение, ДатаДок, "Справочник.Подразделения");
   КонецЕсли;
25 kupec
 
12.08.12
16:38
(24) спасибо огромное, получилось
26 kupec
 
12.08.12
16:39
а вот еще вопрос, почему через диалог не сохраняется
27 Азазелло
 
12.08.12
16:39
(25) Ох уж эта 7.7. Не перестает удивлять ) Как в (19) и было сказано )
28 Азазелло
 
12.08.12
16:40
(26) вестимо, ручное изменение реквизита отключено?
29 kupec
 
12.08.12
16:40
+(26) у реквизита стоит ручное изменение
30 Азазелло
 
12.08.12
16:41
ИспользоватьДату, СохранениеПериодическихРеквизитов?
31 Азазелло
 
12.08.12
16:41
+(30) это в контексте формы...
32 kupec
 
12.08.12
16:42
в процедуре ПриОткрытии()
33 Азазелло
 
12.08.12
16:47
Ну я прям даже не знаю... У меня вот так получилось:
Процедура ПриОткрытии()
   ИспользоватьДату(ТекущаяДата(),1);
   Форма.Подразделение.УстановитьТип(ПолучитьПустоеЗначение("Справочник.Подразделения"));
КонецПроцедуры
34 kupec
 
12.08.12
16:49
тип может быть еще как справочник.покупатели !!!
35 kupec
 
12.08.12
16:49
когда значение редактируешь все нормально прокатывает и в форме отображается правильно, но при записи все сбрасывается
36 Азазелло
 
12.08.12
16:54
(35) а значение случаем не перекрывается значением, установленным из проведенного документа?
37 kupec
 
12.08.12
16:55
так я историю значений смотрю, там его нет
38 Азазелло
 
12.08.12
16:58
(37) а ты когда в диалоге пимпу сохранения жмакаешь, у тебя выскакивает диалог сохранения периодических реквизитов?
39 kupec
 
12.08.12
16:58
ну и геморой блин...
40 kupec
 
12.08.12
16:59
(37) да но там только цена закупки и продажи, а расположения нет !!!
41 Азазелло
 
12.08.12
17:02
А СохранениеПериодическихРеквизитов у тебя вообще по коду присутствует? может, оно всю малину портит?
42 kupec
 
12.08.12
17:16
(41) стоит, у меня емеется кнопка изменить реквизит, и дальше процедура изменения, может из-за того что не интерактивно а программно все происходит ???
43 kupec
 
12.08.12
17:21
(42) так и есть, дело в этом, спасибо за помощь !!!
44 Steel_Wheel
 
12.08.12
17:56
(37) не все значений попадают в историю
(20) изначально про оперучет ты ничего не говорил. Ситуации, конечно, разные могут быть )