Имя: Пароль:
1C
 
Составной тип реквизита
,
0 Ly_Alena
 
12.02.15
09:05
Добрый день! Помогите плиз - уже второй день бьюсь с этим.
Есть табличная часть документа с полями: Номенклатура, Единица измерения, Количество. Номенклатура имеет составной тип (СправочникСсылка.Номенклатура; СправочникСсылка.ОсновноеСредство). Как сделать так, чтобы при добавлении новой строчки в табличную часть у поля Номенклатура автоматически ставился тип СправочникСсылка.Номенклатура, и если уже очень надо то переключаться на основные средства.
Варианты типа:
Процедура ИнструментыПередНачаломДобавления(Элемент, Отказ, Копирование)
    Если Не Отказ и Не Копирование Тогда
        ЭлементыФормы.Инструменты.ТекущиеДанные.Номенклатура = ПредопределенноеЗначение("Справочник.Номенклатура.ПустаяСсылка");
    КонецЕсли;
    
КонецПроцедуры

или

ЭтотОбъект.Инструменты.Добавить().Номенклатура = ПредопределенноеЗначение("Справочник.Номенклатура.ПустаяСсылка");


Выдает ошибку "значение не является значением объектного типа" что-то такое.
1 eklmn
 
гуру
12.02.15
09:08
ОписаниеТиповЧ = Новый ОписаниеТипов()
2 Ly_Alena
 
12.02.15
09:10
Я пробовала, но не поняла как его использовать. У меня не получилось.
3 Рэйв
 
12.02.15
09:13
Нов=ЭтотОбъект.Инструменты.Добавить():
Нов.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
4 Ly_Alena
 
12.02.15
09:16
А можно еще вопросик, мне это прописывать в процедуре при добавлении?
5 Ly_Alena
 
12.02.15
09:25
Если я прописываю в процедуре ПередНачаломДобавления, то добавляется 2 строчки: 1 то что мне нужно и 1 все так же с выбором справочников
6 vicof
 
12.02.15
09:27
(5) А теперь соедини (3) и (0) :)
7 Рэйв
 
12.02.15
09:31
(5)НачалоВыбора у ячейки Номенклатуры
8 Рэйв
 
12.02.15
09:32
ТД=ЭлементыФормы.ТабЧасть.ТекущиеДанные;
ТД.Номенклатура=Справочники.Номенклатура.ПустаяСсылка();
9 Ly_Alena
 
12.02.15
09:38
Спасибо большое всем, получилось) Отдельное спасибо Рэйву
10 rabbidX
 
12.02.15
09:45
(7) Начало выбора ячейки будет отрабатывать и не для новых строк. Если там уже было значение, тем более другого типа - будет неудобно.
Лучше
ПередНачаломДобавления
   Если Не Копирование Тогда
      ТД=ЭлементыФормы.ТабЧасть.ТекущиеДанные;
   ТД.Номенклатура=Справочники.Номенклатура.ПустаяСсылка();
   КонецЕсли;
11 Рэйв
 
12.02.15
09:45
(10)Можно и так
12 Ly_Alena
 
13.02.15
05:14
Доброе утро! Выходит ошибка Номенклатура не является значением объектного типа

Процедура ИнструментыПередНачаломДобавления(Элемент, Отказ, Копирование)
    Если Не Отказ и Не Копирование Тогда    
    ТекДанные = ЭлементыФормы.Инструменты.ТекущиеДанные;
    ТекДанные.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
    КонецЕсли;
    
КонецПроцедуры
13 lxndr
 
13.02.15
05:26
(12) в инструментах точно номенклатура называется номенклаутрой?
14 Ly_Alena
 
13.02.15
05:44
Процедура ТабличнаяЧасть1ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
    Если НоваяСтрока Тогда
        Элемент.ТекущиеДанные.Номенклатура=Справочники.Номенклатура.ПустаяСсылка();    
    КонецЕсли;
КонецПроцедуры

Вот так рабочает
15 Ly_Alena
 
13.02.15
05:44
Всем спасибо большое!
16 kosts
 
13.02.15
06:18
(15) При копировании не нужно ссылку затирать.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.