Имя: Пароль:
1C
1С v8
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(436)}: Поле объекта недоступн
, ,
0 rowflag
 
28.09.12
16:24
&НаСервере
Процедура РегистрацияКомплекта(Комплект,СоставКомплекта)
   Для Каждого Номенклатура Из СоставКомплекта Цикл
       Ном = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура);
       Ном.ЯвляетсяЧастьюКомплекта = Истина;// (ПОЧЕМУ ОШИБКА?)
       Ном.КомплектСостоящийИзЭтойЧасти = Комплект;
   КонецЦикла;
КонецПроцедуры
1 Maxus43
 
28.09.12
16:25
(0) потому что у ссылки менять поля нельзя
2 Быдло замкадное
 
28.09.12
16:25
Ном посмотри в отладчике
3 Alex S D
 
28.09.12
16:25
да уж! объект, ссылка слышал?
4 Maxus43
 
28.09.12
16:25
ПолучитьОбъект() сначала, ну и проверку надо на то что он таки точно нашёл элемент
5 rowflag
 
28.09.12
16:28
СПАСИБО!
6 rowflag
 
28.09.12
16:33
А почему не сохраняются реквизиты? (все срабатывает, но при открытии справочника оказывается что реквизиты не заполнены..)

&НаСервере
Процедура РегистрацияКомплекта(Комплект,СоставКомплекта)
   Для Каждого Номенклатура Из СоставКомплекта Цикл
       Ном = Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура).ПолучитьОбъект();
       Ном.ЯвляетсяЧастьюКомплекта = Истина;
       Ном.КомплектСостоящийИзЭтойЧасти = Комплект;
   КонецЦикла;
КонецПроцедуры
7 Reset
 
28.09.12
16:33
Ном.Записать();
8 rowflag
 
28.09.12
16:34
СПС!!!!
9 Reset
 
28.09.12
16:35
И проверяй сначала, нашел или нет, тем более ищешь так по ушлепски по наименованию
10 narayanan
 
28.09.12
16:35
Btw Чем отличается получитьОбъект от получитьСсылку?
11 Reset
 
28.09.12
16:35
Если Не Ном.Пустая() тогда ... получитьОбъект
12 Reset
 
28.09.12
16:37
(10) в первом случае тебя награждают, во втором на магадан, в ссылку
13 rowflag
 
28.09.12
16:38
(9) Почему по наименованию плохо?
14 narayanan
 
28.09.12
16:39
(12) ))
(13) Потому что ненадежно, т.е. не уникально, лучше искать по коду - найтипокоду
15 rowflag
 
28.09.12
16:40
(у меня уникальные наименования)
16 narayanan
 
28.09.12
16:40
(15) У тебя частный случай просто )
17 DrShad
 
28.09.12
16:41
(15) что еще у тебя уникального?
18 rowflag
 
28.09.12
16:41
(а если код не уникальный?) (в справочнике уникальность кода в пределах подчинения)
19 DrShad
 
28.09.12
16:41
+(17) уникальность наименований не дает право писать некошерный код - потомки тебя проклянут
20 DrShad
 
28.09.12
16:42
(18) кури параметры найти по коду
21 rowflag
 
28.09.12
16:42
(уникальные по тому что к каждому наименованию приписан штрихкод)
22 DrShad
 
28.09.12
16:42
(21) и что?
23 rowflag
 
28.09.12
16:43
(ок. Дайте понять как написать кошерный код)
24 DrShad
 
28.09.12
16:45
(23) ищи по штрихкоду, у тебя ведь есть РС со штрихкодами?
25 rowflag
 
28.09.12
16:46
(есть, но штрихкод может быть не назначен)
26 Reset
 
28.09.12
16:47
(А зачем ты в скобках пишешь?) Новый тренд?
27 DrShad
 
28.09.12
16:48
(25) а говорил что уникальность, потому что к наименованию прибит штрихкод - где-то вы батенька звездите
28 Reset
 
28.09.12
16:49
(6) по хорошему СоставКомплекта должен быть массивом ссылок и не нечего искать не надо было бы
29 rowflag
 
28.09.12
16:50
(да. Новый тренд)
30 rowflag
 
28.09.12
16:51
(27) Прибит. Но как исключение может быть не прибит.
31 rowflag
 
28.09.12
16:52
(28) Спасибо! Будет массивом ссылок!
32 narayanan
 
28.09.12
16:52
[П9|ТНN4H0]
33 Reset
 
28.09.12
16:52
{Пожалуйста,чо}
34 rowflag
 
28.09.12
16:54
Если РегистрироватьКомплект Тогда
       МассивСоставКомплекта = Новый Массив;
       Для Каждого СтрокаТЧ Из Объект.ТЧ_СоставКомплекта Цикл
           МассивСоставКомплекта.Добавить(Строкатч.Номенклатура);
       КонецЦикла;
       РегистрацияКомплекта(Объект.Ссылка,МассивСоставКомплекта);
   КонецЕсли;

Как сделать массив ссылок??
35 Reset
 
28.09.12
17:02
Строкатч.Номенклатура - ссылка, надеюсь?
36 Reset
 
28.09.12
17:03
или ты заставил в Объект.ТЧ_СоставКомплекта пользователй наименования вбивать? :)
37 rowflag
 
28.09.12
17:09
Реквизит "Номенклатура" в ТЧ - тип:
СправочникСсылка.Номенклатура
38 rowflag
 
28.09.12
17:09
(наверное ссылка)
39 Reset
 
28.09.12
17:10
тогда (6) можно так переписать:

&НаСервере
Процедура РегистрацияКомплекта(Комплект,СоставКомплекта)
   Для Каждого Номенклатура Из СоставКомплекта Цикл
       НомОбъект=Номенклатура.ПолучитьОбъект();
       НомОбъект.ЯвляетсяЧастьюКомплекта = Истина;
       НомОбъект.КомплектСостоящийИзЭтойЧасти = Комплект;
       НомОбъект.Записать();
   КонецЦикла;
КонецПроцедуры
40 rowflag
 
28.09.12
17:17
СПАСИБО!!
41 rowflag
 
28.09.12
17:17
СПАБИБО!!
42 rowflag
 
28.09.12
17:17
СППАБИББО!!