Процедура ОтриматиТЗ()
тз = СоздатьОбъект("ТаблицаЗначений");
тз.НоваяКолонка("ДокПриходу","Документ");
тз.НоваяКолонка("ДокРеалізації","Документ");
тз.НоваяКолонка("Покупець","Справочник.Контрагенты");
тз.НоваяКолонка("Постачальник","Справочник.Контрагенты");
тз.НоваяКолонка("ТМЦ","Справочник.ТМЦ");
тз.НоваяКолонка("ПартіяПриходу","Справочник.Партии");
тз.НоваяКолонка("ПрогнозованаТочкаДоставки","Справочник.ТочкиДоставкиТовару");
тз.НоваяКолонка("ЦінаПартіїПриходу","Число",15,2);
тз.НоваяКолонка("Кст","Число",15,3);
тз.НоваяКолонка("Сума","Число",15,2);
док = СоздатьОбъект("Документ.РасходнаяНакладная");
док.ВыбратьДокументы(Дата1,Дата2);
Пока док.ПолучитьДокумент() = 1 Цикл
Если док.Проведен() = 0 Тогда
Продолжить;
КонецЕсли;
Если вДокументРеалізації.Выбран() = 1
Тогда
Если док.ТекущийДокумент() <> вДокументРеалізації Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если вПокупець.Выбран() = 1 Тогда
Если док.Контрагент <> вПокупець Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
ОП = СоздатьОбъект("Операция");
ОП.ВыбратьОперации(док.ТекущийДокумент(),док.ТекущийДокумент());
Если ОП.ПолучитьОперацию() = 1 Тогда
ОП.ВыбратьПроводки();
Пока ОП.ПолучитьПроводку() = 1 Цикл
Если ОП.Кредит.Счет.Код = "281" Тогда
Если вПостачальник.Выбран() = 1 Тогда
Попытка
Постачальник = ОП.Кредит.Партии.Док.Контрагент;
Исключение
Постачальник = "";
КонецПопытки;
Если Постачальник <> вПостачальник Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если вПрогнозованаТочкаДоставки.Выбран() = 1 Тогда
Попытка
ПрогнозованаТочкаДоставки = ОП.Кредит.Партии.Док.ПрогнозованаТочкаДоставкиТовару;
Исключение
ПрогнозованаТочкаДоставки = "";
КонецПопытки;
Если ПрогнозованаТочкаДоставки <> вПрогнозованаТочкаДоставки Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если вТМЦ.Выбран() = 1 Тогда
ТМЦ = ОП.Кредит.ТМЦ;
Если вТМЦ <> ТМЦ Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если вДокументПриходу.Выбран() = 1 Тогда
Если док.ТекущийДокумент() <> вДокументПриходу Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
тз.НоваяСтрока();
тз.ДокПриходу = ОП.Кредит.Партии.Док;
тз.ДокРеалізації = док.ТекущийДокумент();
Попытка
тз.Постачальник = ОП.Кредит.Партии.Док.Контрагент;
Исключение КонецПопытки;
Попытка
тз.ПрогнозованаТочкаДоставки = ОП.Кредит.Партии.Док.ПрогнозованаТочкаДоставкиТовару;
Исключение КонецПопытки;
тз.Покупець = док.Контрагент;
тз.ПартіяПриходу = ОП.Кредит.Партии;
тз.ЦінаПартіїПриходу = ОП.Кредит.Партии.Цена_Прих;
тз.ТМЦ = ОП.Кредит.ТМЦ;
тз.Кст = ОП.Количество;
тз.Сума = ОП.Сумма
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Немає коментарів:
Дописати коментар