Есть такое движение СформироватьДвиженияПоСкладам - мне нужно что бы Движение.Сумма = ТекСтрокаТовары.Сумма ; Превратить в Движение.Сумма = ТекСтрокаТовары.Количество * Себестоимотсь ; а себестоимость я достаю из функции ниже как это сделать? Новичек в 1с
/////////////////////////////
Процедура СформироватьДвиженияПоСкладам(Отказ)
Если Отказ Тогда
Возврат
КонецЕсли;
// регистр ОстаткиНаСкладах Расход
Движения.ОстаткиНаСкладах.Записывать = Истина;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Организация = Организация;
Движение.КачествоДМ = ТекСтрокаТовары.КачествоДМ;
Движение.Проба = ТекСтрокаТовары.Проба;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Вес = ТекСтрокаТовары.Вес;
Движение.Сумма = ТекСтрокаТовары.Сумма ;
КонецЦикла;
КонецПроцедуры
////////////////////////////////////////
////// и вот функция
Функция Себестоимость ()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ОстаткиНаСкладахОстатки.СуммаОстаток / ОстаткиНаСкладахОстатки.КоличествоОстаток, 0) КАК Себестоимость
|ИЗ
| РегистрНакопления.ОстаткиНаСкладах.Остатки(, Организация = &Организация) КАК ОстаткиНаСкладахОстатки";
Запрос.УстановитьПараметр("Организация", Организация);
Себестоимость = Запрос.Выполнить();
Возврат Себестоимость;
КонецФункции
ПоказатьПо теме из базы знаний
- Обработка для изменения даты документа и его движений без перепроведения
- Обработка для изменения значений реквизитов и движений без проведения
- Универсальное изменение движений документов по регистрам(УФ)
- Универсальное редактирование движений документа с возможностью импорта / экспорта
- Корректировка движений документов
Найденные решения
Вернее даже
Движение.Сумма = ТекСтрокаТовары.Количество * Себестоимотсь(ТекСтрокаТовары.Номенклатура);
Функция Себестоимость (МойТовар)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ОстаткиНаСкладахОстатки.СуммаОстаток / ОстаткиНаСкладахОстатки.КоличествоОстаток, 0) КАК Себестоимость
|ИЗ
| РегистрНакопления.ОстаткиНаСкладах.Остатки(, Организация = &Организация И Номенклатура=&МойТовар) КАК ОстаткиНаСкладахОстатки";
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("МойТовар", МойТовар);
Себестоимость = 0;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Себестоимость = ВыборкаДетальныеЗаписи.Себестоимость;
КонецЦикла;
Возврат Себестоимость;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вернее даже
Движение.Сумма = ТекСтрокаТовары.Количество * Себестоимотсь(ТекСтрокаТовары.Номенклатура);
Функция Себестоимость (МойТовар)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ОстаткиНаСкладахОстатки.СуммаОстаток / ОстаткиНаСкладахОстатки.КоличествоОстаток, 0) КАК Себестоимость
|ИЗ
| РегистрНакопления.ОстаткиНаСкладах.Остатки(, Организация = &Организация И Номенклатура=&МойТовар) КАК ОстаткиНаСкладахОстатки";
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("МойТовар", МойТовар);
Себестоимость = 0;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Себестоимость = ВыборкаДетальныеЗаписи.Себестоимость;
КонецЦикла;
Возврат Себестоимость;
КонецФункции
Показать
(3)
(3)
Запрос.УстановитьПараметр("МойТовар", МойТовар);
Себестоимость = 0;
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Деление на 0 значения типа Numeric
{Документ.Реализация.МодульОбъекта(85)}: РезультатЗапроса = Запрос.Выполнить();
{Документ.Реализация.МодульОбъекта(58)}: Движение.Сумма = ТекСтрокаТовары.Количество * Себестоимость(ТекСтрокаТовары.Номенклатура);
{Документ.Реализация.МодульОбъекта(10)}: СформироватьДвиженияПоСкладам(Отказ);
по причине:
Ошибка выполнения запроса
по причине:
/////
при проводке выходит вот такая ошибка
(3)
Запрос.УстановитьПараметр("МойТовар", МойТовар);
Себестоимость = 0;
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Деление на 0 значения типа Numeric
{Документ.Реализация.МодульОбъекта(85)}: РезультатЗапроса = Запрос.Выполнить();
{Документ.Реализация.МодульОбъекта(58)}: Движение.Сумма = ТекСтрокаТовары.Количество * Себестоимость(ТекСтрокаТовары.Номенклатура);
{Документ.Реализация.МодульОбъекта(10)}: СформироватьДвиженияПоСкладам(Отказ);
по причине:
Ошибка выполнения запроса
по причине:
/////
при проводке выходит вот такая ошибка
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот