Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:56

Поле объекта не обнаружено (СтоимостьНоменклатуры)

Автор НикNik, 04 июн 2022, 14:38

0 Пользователей и 1 гость просматривают эту тему.

НикNik

Всем ДОБРЫЙ день. Прошу помощи у опытных коллег) Решаю задачу, всё сделал по шаблону, а результата нет. Второй час бьюсь, никак не могу найти проблему. Заранее спасибо.


Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      
   Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда
        СтоимостьНоменклатуры = 0;
    Иначе
        СтоимостьНоменклатуры = ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество;
    КонецЕсли;   
      
      // регистр ОстаткиТоваров Расход   
      Движение = Движения.ОстаткиТоваров.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
      Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе;
      
      // регистр Закупка Расход
      Движение = Движения.Закупка.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Контрагент = Контрагент;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе * ВыборкаДетальныеЗаписи.СтоимостьНоменклатуры;
      
   КонецЦикла; 

Алексей Корольков

Для начала есть такая жёлтенькая кнопочка 1С, что бы код читался
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
     
   Если ЕстьNULL(ВыборкаДетальныеЗаписи.Количество, 0) = 0 Тогда
        СуммаНоменклатуры = 0;
    ИначеЕсли
       СуммаНоменклатуры = ЕстьNULL(ВыборкаДетальныеЗаписи.Цена, 0) * ЕстьNULL(ВыборкаДетальныеЗаписи.Количество, 0);
    КонецЕсли;
КонецЦикла;   
 

 
Всегда старайся давать осмысленные названия, что бы потом не путаться

Что касается модуля (если ты там) то проще будет всего такой вариант:
//При записи название табличной части смотри сам. У меня как Таблица
СуммаНоменклатуры = Объект.Таблица.Итог("Сумма");

Я бы сильно сомневался в том что выручка есть сумма, так как выручка = сумма - себестоимость - расходы

   
      // регистр ОстаткиТоваров Расход   
      Движение = Движения.ОстаткиТоваров.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
// тут должна быть выручка
      Движение.Выручка = ВыборкаДетальныеЗаписи.ВыручкаВДокументе;
     
      // регистр Закупка Расход
      Движение = Движения.Закупка.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Контрагент = Контрагент;
      Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
// тут скорей всего сумма
      Движение.Сумма= ВыборкаДетальныеЗаписи.КоличествоВДокументе * ВыборкаДетальныеЗаписи.СтоимостьНоменклатуры;
     


Потрать ещё наверное час или два на осмысленные названия что бы не путаться самому и другим

alexandr_ll

Алексей Корольков,
ЦитироватьЯ бы сильно сомневался в том что выручка есть сумма, так как выручка = сумма - себестоимость - расходы
Выручка - это именно сумма. А то что вы пишете - это прибыль.

Алексей Корольков

alexandr_ll, я просто привёл пример как оно на мой взгляд должно быть в запросах. Это именно на мой взгляд и я об этом говорил писал.
Вообще я бы сделал три регистра :
- количество на складах
- сумму и количество в товарах
- реализация продукции с себестоимостью, количеством и валовой прибылью
А потом в документе реализации продукции проводил бы расчёты . И в ТаблЧ отражались бы затраты, валовая прибыль, себестоимость для того, чтобы в СКД можно было просто выбрать какая прибыль идёт по конкретному тоару.

Если моё мышление отличается от Вашего, уважаемый знаток, прошу комментария. Мне учиться никогда не поздно.

alexandr_ll

Алексей Корольков, А что тут комментировать? Просто я уточнил, чем является показатель "выручка".

LexaK

НикNik, спрашивает почему ошибка в
Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе * ВыборкаДетальныеЗаписи.СтоимостьНоменклатуры;попробуйте так
Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе * СтоимостьНоменклатуры;
если помогло нажмите: Спасибо!

НикNik

Всем спасибо за комментарии, мой вопрос решен)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск