Помогите, нужно сделать заполнение книги покупок по приходу от поставщика вне зависимости от того оплачено или нет, она сделана по оплате, прошлый программист делал.Сам я 1с только учу
, т.к. в универе его не преподавали... вот код заполнения по оплате:
Процедура Заполнить1()
Если КоличествоСтрок() > 0 Тогда
Если Вопрос("Перед заполнением таблица документа будет очищена. Продолжить?", "Да+Нет") = "Нет" Тогда
Возврат;
КонецЕсли;
УдалитьСтроки();
КонецЕсли;
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Док = СоздатьОбъект("Документ.ПриходОтПоставщика");
Ит.ИспользоватьСубконто(ВидыСубконто.Накл);
Ит.ВыполнитьЗапрос(НачМесяца(ДатаДок), КонМесяца(ДатаДок), "60.1", "51",, 2, "День",);
Сч_НДС = СчетПоКоду("18.1.2");
Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
Если Ит.ДО() <> 0 Тогда
НоваяСтрока();
Приход = Ит.Субконто(1);
Оплата = "Оплата согласно выписки " + Строка(Ит.НачДата);
Контрагент = Ит.Субконто(1).Контрагент;
Всего1 = Ит.Субконто(1).Итог("Всего") - Ит.Субконто(1).ИтогоПоСкидке + Ит.Субконто(1).Транспортные + Ит.Субконто(1).СуммаНДСТрансп;
Коэфф = 1;
Разница = Всего1 - Ит.ДО();
Если (Разница > 10) ИЛИ (Разница < (-10)) Тогда
Коэфф = Ит.ДО() / Всего1;
КонецЕсли;
Всего = Ит.ДО();
Док.НайтиДокумент(Ит.Субконто(1));
НДС18 = Док.СуммаНДСТрансп;
СуммаБезНДС18 = 0;
//
// ***** 15.03.2010 *****
// Добавлено:
//
НДС20 = 0; //Док.СуммаНДСТрансп;
СуммаБезНДС20 = 0;
//
// ***** evm *****
//
НДС10 = 0;
СуммаБезНДС10 = 0;
СуммаБезНДС = Док.Транспортные;
СчетНДС = Сч_НДС;
НДС909 = 0;
СуммаБезНДС909 = 0;
НДС1525 = 0;
СуммаБезНДС1525 = 0;
НДС1667 = 0;
СуммаБезНДС1667 = 0;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
Если Док.СтавкаНДС = 10 Тогда
НДС10 = НДС10 + Док.НДС;
СуммаБезНДС10 = СуммаБезНДС10 + (Док.Всего - Док.НДС);
ИначеЕсли Док.СтавкаНДС = 18 Тогда
НДС18 = НДС18 + Док.НДС;
СуммаБезНДС18 = СуммаБезНДС18 + (Док.Всего - Док.НДС);
ИначеЕсли Док.СтавкаНДС = 15.25 Тогда
НДС1525 = НДС1525 + Док.НДС;
СуммаБезНДС1525 = СуммаБезНДС1525 + (Док.Всего - Док.НДС);
//
// ***** 15.03.2010 *****
// Добавлено:
//
ИначеЕсли Док.СтавкаНДС = 20 Тогда
НДС20 = НДС20 + Док.НДС;
СуммаБезНДС20 = СуммаБезНДС20 + (Док.Всего - Док.НДС);
ИначеЕсли Док.СтавкаНДС = 16.67 Тогда
НДС1667 = НДС1667 + Док.НДС;
СуммаБезНДС1667 = СуммаБезНДС1667 + (Док.Всего - Док.НДС);
//
// ***** evm *****
//
ИначеЕсли Док.СтавкаНДС = 24 Тогда
НДС909 = НДС909 + Док.НДС;
СуммаБезНДС909 = СуммаБезНДС909 + (Док.Всего - Док.НДС);
СуммаБезНДС = СуммаБезНДС + Док.Всего;
ИначеЕсли Док.СтавкаНДС = 9.09 Тогда
НДС909 = НДС909 + Док.НДС;
СуммаБезНДС909 = СуммаБезНДС909 + (Док.Всего - Док.НДС);
ИначеЕсли Док.СтавкаНДС = 0 Тогда
СуммаБезНДС = СуммаБезНДС + Док.Всего;
Иначе
СуммаБезНДС = СуммаБезНДС + Док.Всего;
КонецЕсли;
КонецЦикла;
Если Коэфф <> 1 Тогда
НДС18 = Окр(Коэфф * НДС18, 2, 1);
СуммаБезНДС18 = Окр(Коэфф * СуммаБезНДС18, 2, 1);
//
// ***** 15.03.2010 *****
// Добавлено:
//
НДС20 = Окр(Коэфф * НДС20, 2, 1);
СуммаБезНДС20 = Окр(Коэфф * СуммаБезНДС20, 2, 1);
НДС1667 = Окр(Коэфф * НДС1667, 0, 1);
СуммаБезНДС1667 = Окр(Коэфф * СуммаБезНДС1667, 2, 1);
//
// ***** evm *****
//
НДС10 = Окр(Коэфф * НДС10, 2, 1);
СуммаБезНДС10 = Окр(Коэфф * СуммаБезНДС10, 2, 1);
СуммаБезНДС = Окр(Коэфф * СуммаБезНДС, 2, 1);
НДС1525 = Окр(Коэфф * НДС1525, 2, 1);
СуммаБезНДС1525 = Окр(Коэфф * СуммаБезНДС1525, 2, 1);
НДС909 = Окр(Коэфф * НДС909, 2, 1);
СуммаБезНДС909 = Окр(Коэфф * СуммаБезНДС909, 2, 1);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры // Заполнить1()