Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. В УТ 10.3. Справочник - Номенклатура - Форма Элемента. Надо создать кнопку "Себестоимость" чтобы если пользователь нажал эту кнопку тогда отображала себестоимость текущего товара. Написал запрос, работает но не отображает результат.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ПартииТоваровНаСкладахОстатки.Номенклатура,
    | ВЫБОР
    | КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0) = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК СебестоимостьТовара
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата, Номенклатура = &Номенклатура) КАК ПартииТоваровНаСкладахОстатки";
    Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("Номенклатура", Наименование);
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Себестоимость = Выборка.СебестоимостьТовара;
    КонецЕсли;
```

Себестоимость - это реквизить с типом число (15,2). В консул запросов проверил запрос, результат есть но
```1c
    Результат.Пустой()
```
 всегда Истина. Как исправиться с этим?
Спасибо всем за ранее
---
Здесь надо выбрать не СтоимостьОстаток а СтоимостьПриход. Вот правильный код -

```1c
    Функция ПолучитьСебестоимостьТовара(Номенклатура) Экспорт

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ВЫБОР
    | КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, 0) = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход / ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК Стоимость
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(, &КонецПериода, Авто, , Номенклатура = &Номенклатура) КАК ПартииТоваровНаСкладахОстаткиИОбороты";

    Запрос.УстановитьПараметр("КонецПериода", ТекущаяДата());
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ВыборкаДетальныеЗаписи.Следующий();
    Возврат ВыборкаДетальныеЗаписи.Стоимость;
    КонецЕсли;

    КонецФункции // ПолучитьСебестоимостьТовара()
```
---
Здесь надо выбрать не СтоимостьОстаток а СтоимостьПриход. Вот правильный код -

```1c
    Функция ПолучитьСебестоимостьТовара(Номенклатура) Экспорт

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ВЫБОР
    | КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход, 0) = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход / ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК Стоимость
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(, &КонецПериода, Авто, , Номенклатура = &Номенклатура) КАК ПартииТоваровНаСкладахОстаткиИОбороты";

    Запрос.УстановитьПараметр("КонецПериода", ТекущаяДата());
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ВыборкаДетальныеЗаписи.Следующий();
    Возврат ВыборкаДетальныеЗаписи.Стоимость;
    КонецЕсли;

    КонецФункции // ПолучитьСебестоимостьТовара()
```
---
А проверь регистр РегистрНакопления.ПартииТоваровНаСкладах, там данные есть?

```1c
    ВЫБРАТЬ ПЕРВЫЕ 10
    | ПартииТоваровНаСкладахОстатки.Номенклатура,
    | ВЫБОР
    | КОГДА ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0) = 0
    | ТОГДА 0
    | ИНАЧЕ ВЫРАЗИТЬ(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК ЧИСЛО(15, 2))
    | КОНЕЦ КАК СебестоимостьТовара
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах;
```
---
Да там данные есть
---
и по номенклатуре есть остаток в регистре?
---
ДА
---
Лучше по хозрасчетному делать
---
если в erp,посмотри какие регистры берет отчет Себестоимость товаров, сдаётся мне что из одноименного регистра... да и вот такое: Выразить(NULL как число... должно по идее вернуть 0. Попробуй каждое поле в запросе и посмотри...