Что может не дорабатывать в базе скл Бухии ред. 4.5?

Форум 1С: Одинэс.Ру

Найти!

Что может не дорабатывать в базе скл Бухии ред. 4.5?

Гена
25.03.2009 - 07:06
по некоторым контагентам пересписывает НДС, по некоторым пересписывает... по большинству нормально... понять и выделить причину не смог... может в методах БИ я не так цифры проставил?
 
Процедура Сформировать()
А=0;
 
ДокСФ = СоздатьОбъект("Документ.СчетФактура");
ДокЗПК = СоздатьОбъект("Документ.ЗаписьКнигиПокупок");
 
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"62.2",,,,,"С");
БИ.ВыбратьСубконто(1,,,1);
 
БИ_АВ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ_АВ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
БИ_АВ.ИспользоватьСубконто(ВидыСубконто.СчетаФактурыВыданные,,1);
БИ_АВ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"76.АВ",,,,,"С");
БИ_АВ.ВыбратьСубконто(1,,,2);
 
//НачатьТранзакцию();
 
Пока БИ.ПолучитьСубконто(1,1)=1 Цикл
 
СуммаНДС =0;
А=БИ.ДО("С")-БИ.КО("С");
 
Если А>0 Тогда
//если дебетовые обороты больше кредитовых (больше было отргузок чем пришедших авансов)
//зачитываем НДС с ранее полученных авансы
//Берем начальное сальдо по счету 76.АВ по контрагенту в разрезе счетов фактур
 
Если БИ_АВ.ПолучитьСубконто(1,2,БИ.Субконто(1))=1 Тогда
 
СуммаНДС = А*Константа.ОсновнаяСтавкаНДС.Ставка/(100+Константа.ОсновнаяСтавкаНДС.Ставка);
 
//здесь идет цикл - пока есть чем закрывать начальное сальдо по счету 76.АВ - закрываем
//уменьшаем сумму к закрытию НДС с авансов, пока есть что закрывать, если сумма взятая
//со счета 62.2 недостаточно для закрытия целой счет фактуры, делаем запись книги
//покупок на ту сумму, которая есть
 
БИ_АВ.ВыбратьСубконто(2,,,3);
Пока БИ_АВ.ПолучитьСубконто(2,3)=1 Цикл
 
Если СуммаНДС > 0 Тогда
 
ДокЗПК.Новый();
ДокЗПК.ДатаДок                = ДатаКон;
ДокЗПК.Аванс = 1;
ДокЗПК.УстановитьНовыйНомер("А-");
ДокЗПК.Контрагент = БИ_АВ.Субконто(1);
ДокЗПК.ДокументОснование = БИ_АВ.Субконто(2);
ДокЗПК.Договор = БИ_АВ.Субконто(2).Договор;
ДокЗПК.Курс = 1;
ДокЗПК.ДатаНомерСчетаФактуры = Строка(БИ_АВ.Субконто(2).ДатаДок) + " от " + СокрЛП(БИ_АВ.Субконто(2).НомерДок);
ДокЗПК.ДатаОприходования = БИ_АВ.Субконто(2).ДатаДок;
ДокЗПК.ФормироватьПроводки=1;
ДокЗПК.НДС20 = Мин(БИ_АВ.СНД("С"),СуммаНДС);
ДокЗПК.Всего = ДокЗПК.НДС20*118/18;
ДокЗПК.КоррСчет = СчетПоКоду("76.АВ");;
ДокЗПК.Субконто1 = ДокЗПК.Контрагент;
ДокЗПК.Субконто2 = ДокЗПК.ДокументОснование;
ДокЗПК.Комментарий = "#Сформирована для зачета аванса";
 

ДокЗПК.Записать();
ДокЗПК.Провести();
 
СуммаНДС = СуммаНДС - ДокЗПК.НДС20;
 
Сообщить("Создан документ Запись книги покупок " + СокрЛП(ДокЗПК.НомерДок) + " от " + ДокЗПК.ДатаДок);
 
КонецЕсли;
 
КонецЦикла;
КонецЕсли;
ИначеЕсли А<0 Тогда
//Если наоборот (больше было авансов чем отгрузок), то формируем новые счет-фактуры на аванс.
 
ДокСФ.Новый();
ДокСФ.УстановитьНовыйНомер("Сф-а");
ДокСФ.ДатаДок                = ДатаКон;
ДокСФ.ДатаОплаты             = ДатаКон;
ДокСФ.ОтключитьАкциз = 1;
ДокСФ.Контрагент = БИ.Субконто(1);
ДокСФ.СчетНДС = 1;
ДокСФ.ВариантОтправки = 1;
ДокСФ.Аванс = 1;
ДокСФ.СуммаНДСОпределяетсяРасчетнымМетодом = 1;
 
ДокСФ.НоваяСтрока();
ДокСФ.НазначитьТип("Товар", "Строка", 22);
ДокСФ.Товар = "Аванс (предв. оплата)";
ДокСФ.СтавкаНДС = Константа.ОсновнаяСтавкаНДС;
ДокСФ.НДС = -А*Константа.ОсновнаяСтавкаНДС.Ставка/(100+Константа.ОсновнаяСтавкаНДС.Ставка);
ДокСФ.Цена = -А;
ДокСФ.Всего = -А;
ДокСФ.Сумма = -А;
ДокСФ.Комментарий = "#Сформирована для зачета аванса";
ДокСФ.Записать();
ДокСФ.Провести();
 
Сообщить("Создан документ Счет-Фактура " + СокрЛП(ДокСФ.НомерДок) + " от " + ДокСФ.ДатаДок);
 
КонецЕсли;
 
КонецЦикла;
 
//ЗафиксироватьТранзакцию();
Сообщить("Все!");
КонецПроцедуры
К списку тем К списку форумов

Интересные темы

odines.ru
18.04.2024 - 16:10
Смотри также:
Ошибка при входе в базу
“Пляшет” анализ счета
Распределение разсходов УСН/ЕНВД

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

roma n
1 - 25.03.2009 - 07:27
"А=БИ.ДО("С")-БИ.КО("С");
 
Если А>0 Тогда
//если дебетовые обороты больше кредитовых (больше было отргузок чем пришедших авансов)
//зачитываем НДС с ранее полученных авансы"
а начальное сальдо?

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

Гена
2 - 25.03.2009 - 07:33
(1) не важно... нужны только обороты
главное - два года отчёт работал как часы... после переноса платформы и базы на другой сервер - отчё начал глючить... фантастика какая-то...
 
может переделать бухзапрос на обычный?

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

roma n
3 - 25.03.2009 - 07:37
(2) понял уже. ступил.

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

Reaper
4 - 25.03.2009 - 07:57
Ген, попробуй для БИ выключить SQL режим сначала. "БИ.ВключитьSQL(0)" - так кажется

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

Гена
5 - 25.03.2009 - 08:00
(3), (4) - спасибо...
вопрос закрыт...
вместо:
ДокЗПК.Всего = ДокЗПК.НДС20*118/18;
поставил:
ДокЗПК.Всего = Окр(ДокЗПК.НДС20*118/18,2);
и опять всё заработало как часы...
 
чудны дела скл :)

Интересные темы

odines.ru
18.04.2024 - 16:10
Смотри также:
Нумерация 2НДФЛ в 1С:Налогоплатещик 7.7
Помогите разобраться с УСН+ЕНВД.
Как перевести учет яиц из тыс.шт. просто в штуки

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

roma n
6 - 25.03.2009 - 08:10
(5) мягко говоря... удивлен... Больше ничего не менял?
ДокЗПК - объект, держащийся одноэсиной в "мозгах" и никакого отношения к SQL не имеет.

Re: Что может не дорабатывать в базе скл Бухии ред. 4.5?

Гена
7 - 25.03.2009 - 08:17
ещё вначале вставлял-удалял БИ.Рассчитать()... но в конце концов опять его выкинул...
 
вроде всё...
К списку тем К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Опять про регламентированные отчеты:получение через Интернет Бюджетка. Как можно выгрузить уведомления? »
© 2009 Форум 1С: Одинэс.Ру