новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Сергей М
Приватное сообщение

Доработать запрос в документк 1с 8.2

Задание в категории песочница
01.12.1988(35 лет)
18 |  0
21 сентября 2021 в 10:51:48 (2 года 31 неделя 12 часов назад)
9450
Текст задания
Требуется доработка запроса в обработке проведения,
чтобы при проведении документа в сумму бралась себестоимость со счета 41

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Организация,
| ХозрасчетныйОстатки.Субконто2 КАК Номенклатура,
| ХозрасчетныйОстатки.Субконто3 КАК Склад,
| ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма,
| ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&МоментВремени,Счет.Код = ""41.01"", ,Субконто3 В (&Склад)) КАК ХозрасчетныйОстатки
|УПОРЯДОЧИТЬ ПО
| Номенклатура,
| Склад";
Запрос.УстановитьПараметр("Организация", Склад.Организация); //Организации
Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); //Дата
Запрос.УстановитьПараметр("Склад", Склад); // АЗС
// Запрос.УстановитьПараметр("Номенклатура",Номенклатура); // АЗС

Остатки41 = Запрос.Выполнить().Выгрузить();
Проводки = Движения.Хозрасчетный;
ДатаДок = Дата;
Движения.Хозрасчетный.Записывать = Истина;
Движения.Хозрасчетный.Очистить();

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


Движение = Движения.Хозрасчетный.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
Движение.Период = Дата;
Движение.Организация = Организация;
Движение.СубконтоКт.Номенклатура = СтрокаТаблицы.Номенклатура;
Движение.СубконтоКт.Склады = склад;
Движение.СубконтоДт.Номенклатура = СтрокаТаблицы.Номенклатура;
Движение.СубконтоДт.Склады =СтрокаТаблицы.Емкость.склад;
Движение.СубконтоДт.Емкости =СтрокаТаблицы.Емкость;

Движение.КоличествоДт = СтрокаТаблицы.Количество;
Движение.КоличествоКт = СтрокаТаблицы.Количество;
если СтрокаТаблицы.Флаг=истина тогда
Движение.Сумма=цена*СтрокаТаблицы.Количество;
Иначе
Движение.Сумма=себестоимость;
конецесли;
// конеццикла;
конеццикла;
0
Выбранные исполнители
Отклики