Добрый день. В ТЧ документа есть реквизит Наименование, который имеет составной тип данных - Справочники.Номенклатура и Справочники.Материалы. При выборе наименования отрабатывает процедура НаименованиеПриИзменении, которая подтягивает данные из карточки справочника. Вопрос вот в чём, если у реквизита тип данных только Справочники.Номенклатура или Справочники.Материалы, то процедура отрабатывает нормально. Однако при составном типе данных мы вначале выбираем справочник, а затем уже номенклатуру или материал. Соответственно процедура отрабатывает на выбор справочника, а не на выбор материала и ругается на то, что значение не является значением объектного типа. Каким образом заставить отрабатывать процедуру после выбора номенклатуры или материала? Заранее спасибо за помощь!
---
Обернуть в:

```1c
    Если Реквизит <> Неопределено И НЕ Реквизит.Пустая() Тогда
    ...
    КонецЕсли;
```

На Неопределено проверять, чтоб при очистке не срабатывало. А внутри уже типы сравнивать
---
можно не спрашивать почему материалов нет в номенклатуре?)
---
Проверяй на тип значения то, что находится в текущей строке табличной части, прежде чем выполнять дальнейший код.
---
Понял, хорошая мысль, спс.
---
Может делать проверку на тип
Если типЗнч (....) = тип ("справочники.номенклатура ) или ....(условие для материалов) тогда
.....
КонецЕсли
---
Обернуть в:

```1c
    Если Реквизит <> Неопределено И НЕ Реквизит.Пустая() Тогда
    ...
    КонецЕсли;
```

На Неопределено проверять, чтоб при очистке не срабатывало. А внутри уже типы сравнивать
---
Неопределено И НЕ Реквизит.Пустая() Тогда
Спасибо, именно в этом и была проблема, чтобы не отрабатывал код при выборе справочника.
---
Можно же ещё проще:

```1c
    Если ТипЗнч(Реквизит)=Тип("СправочникСсылка.Номенклатура") Тогда
    ..... //это номенклатура
    ИначеЕсли ТипЗнч(Реквизит)=Тип("СправочникСсылка.Материалы") Тогда
    ..... //это материал
    Иначе
    ; //это, видимо, Неопределено
    КонецЕсли;
```
---
А чем принципиально с позиции учета отличаются материалы и номенклатура?
Объедините две сущности в один справочник. Как сделано в типовых.
---
(8)
Ну Вы же не знаете, что у автора там? Вот Вам пример из типовых: единица измерения и единица хранения в УНФ, например, сделаны разными справочниками.
---
Ну Вы же не знаете, что у автора там?
По этому и спрашиваем.
сделаны разными справочниками.
Это повод на каждый вид номенклатуры заводить свой справочник?
На хоз. товары свой, на комплектующие свой, на товары свой, на тару, на продукцию свой?
---
перегибать палку тоже не стоит :) ведь справочников с именем "ПрисоединенныеФайлы" тоже много
---
ведь справочников с именем "ПрисоединенныеФайлы" тоже много

А "номенклатуры" один :)
---
таких примеров много, но примеров где пользователю в частоиспользуемых документах нужно сначала выбрать тип, а потом элемент - не много.
---
А если у нас какая то номенклатура и материал и товар? или закупается как материал, а потом становится товаром? То надо в двух справочниках заводить?
И как потом данные отчётами собирать?
Если есть справочник Номенклатура и справочник Материалы то наверное должен быть справочник Готовая продукция и справочник Услуги?
---
Не устраивайте холивар, не зная ситуации автора. Какая у него модель учёта? Может, для него разные справочники - это "наследство", доставшееся с 1С7.7 (ага, там отдельно - материалы, отдельно - товары, отдельно - услуги и работы тоже отдельно)? Скажем, программу сменили, а переписать приказы забыли? Ни разу не бывало? Тогда "welcome to the desert of the real world!".
---
доставшееся с 1С7.7 (ага, там отдельно - материалы
если ты купил мерседес, а тебе в наследство достались жигули, то нужно обязательно пытаться поставить двигатель от жигулей на мерседес?
Никто холивар не устраивает. Был задан простой вопрос "для чего". Потому что с практической и учётной стороны это не совсем правильно.
---
Лично МНЕ не нравится и отделение ОС от номенклатуры. Можно было бы вести в одной сущности (становится прикольно, когда сущность может меняться несколько раз - то один объект, то другой... я такое видел "вживую"). Но - в чужую казарму со своим уставом не ходят... :-)
---
Лично МНЕ не нравится и отделение ОС от номенклатуры.
С ОС как раз всё правильно. ОС это самостоятельная единица учёта. Со своим инвентарным номером и тд. Она не может быть такой же как номенклатура которая может быть материалом, готовой продукцией, товаром и тд.
---
Не тут обсуждать это. Задайте отдельный вопрос - поделюсь.
---
конечно можно, но по проектированию таблиц БД вам двойка, так как у вас будет пара десятков реквизитов, которая нужна будет только ОС, а эти реквизиты занимают место на жестком диске (даже если реквизит пустой).
количество ОС в компании максимум 2-3% от количества номенклатур.
с таким проектированием потом удивлюсь увидеть документ Списание товаров без реквизитов, где в табличной части и шапка и товары :)
---
Обожаю одарённых людей! Тех, кто рисует в тему оффтопик, когда уже прямым текстом просили не мусорить в чужой теме!
Обожаю почти так же, как и тех, кто свои мега-познания транслирует на всех и на все ситуации, даже не зная, что и как.
Вы персонально были у моего клиента, для которого я морочился с ОС? Не были. Вы смотрели его специфику? Не смотрели. Вы видели, какая конфигурация 1С и в каком состоянии у него внедрена была? Не видели. Что Вы знаете о данной конкретной проблеме? НИЧЕГО. Зато обобщаете уже. Поздравляю!
Что касается числа реквизитов и процента ОС: всё совсем не так однозначно. Данные можно хранить не только в реквизитах (внезапно, да?), и как хранение с умом организовать - отдельный вопрос. так же, как отдельный вопрос - как организовать процесс учёта, когда один объект может выступать как разные сущности.
Но, ещё раз для не обделённых умом и внимательностью: в этой теме это - оффтопик и трёп. Автор задал конкретный вопрос и получил конкретный ответ. Вы же не отвечаете автору и просто словоблудите.
---
я вас тоже люблю, хоть 14 февраля было вчера :)