В проведении Расходной накладной Курс в цикле зачем то получается столько раз сколько строк в цикле
#Область БухОПТ
Движения.РегистрБухгалтерии.Записать(); //Очищаем регистр бухгалтерии
Запрос.Текст =
"ВЫБРАТЬ
| ДокТЧ.Номенклатура КАК Номенклатура,
| МАКСИМУМ(ДокТЧ.Количество) КАК Количество,
| МАКСИМУМ(ДокТЧ.Сумма) КАК Сумма,
| СУММА(РегистрБухгалтерииОстатки.СуммаОстаток) КАК СуммаОстаток,
| СУММА(РегистрБухгалтерииОстатки.УпрСуммаОстаток) КАК УпрСуммаОстаток,
| СУММА(РегистрБухгалтерииОстатки.КоличествоОстаток) КАК КоличествоОстаток,
| СУММА(ВЫБОР
| КОГДА РегистрБухгалтерииОстатки.Субконто2 = &Склад
| ТОГДА РегистрБухгалтерииОстатки.КоличествоОстаток
| КОНЕЦ) КАК ОстатоКПоСкладу
|ИЗ
| ДокТЧ КАК ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерии.Остатки(
| &МоментВремени,
| Счет = &Счет,
| &МассивСубконто,
| Субконто1 В
| (ВЫБРАТЬ
| ДокТЧ.Номенклатура
| ИЗ
| ДокТЧ КАК ДокТЧ)) КАК РегистрБухгалтерииОстатки
| ПО ДокТЧ.Номенклатура = РегистрБухгалтерииОстатки.Субконто1
|
|СГРУППИРОВАТЬ ПО
| ДокТЧ.Номенклатура";
Запрос.УстановитьПараметр("Счет", ПланыСчетов.ПланСчетов.ТоварыОпт);
Массив = Новый Массив(2);
Массив
- = ПланыВидовХарактеристик.ВидыСубконто.Номенклатура;
Массив [1] = ПланыВидовХарактеристик.ВидыСубконто.Склады;
Запрос.УстановитьПараметр("МассивСубконто", Массив);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
//Сообщить("Остатки по БУХ: " + Выборка.КоличествоОстаток);
Если Выборка.Количество > Выборка.ОстатоКПоСкладу Тогда
Сообщить("Мало товара");
Отказ = Истина;
КонецЕсли;
Если Отказ Тогда
Продолжить;
КонецЕсли;
Себестоимость = Выборка.Количество / Выборка.КоличествоОстаток * Выборка.СуммаОстаток;
УпрСебестоимость = Выборка.Количество / Выборка.КоличествоОстаток * Выборка.УпрСуммаОстаток;
//Списание товаров (себестоимость)
Проводка = Движения.РегистрБухгалтерии.Добавить();
Проводка.Период = Дата;
Проводка.СчетДт = ПланыСчетов.ПланСчетов.Прибыль;
Проводка.СчетКт = ПланыСчетов.ПланСчетов.Товары;
Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура;
Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура;
Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Склады] = Склад;
Проводка.КоличествоКт = Выборка.Количество;
Проводка.Сумма = Себестоимость;
Проводка.УпрСумма = УпрСебестоимость;
Курс = ВозвращаемыеЗначения.ПолучитьКурсУпрВалюты(НачалоДня(Дата)); //Регистрация долга покупателя
Проводка = Движения.РегистрБухгалтерии.Добавить();
Проводка.Период = Дата;
Проводка.СчетДт = ПланыСчетов.ПланСчетов.Покупатели;
Проводка.СчетКт = ПланыСчетов.ПланСчетов.Прибыль;
Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = Выборка.Номенклатура;
Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = Контрагент;
Проводка.Сумма = Выборка.Сумма;
Проводка.УпрСумма = Выборка.Сумма / Курс;
КонецЦикла;
#КонецОбласти