Автоформирование счетов-фактур

  • Автор темы DevilToLove
  • Дата начала
D

DevilToLove

#1
Здравствуйте! Ситуация следующая:
-выгружаются из 1с7.7 торговли в 1с7.7 бухгалтерию накладные(расход и приход) и акты выдаваемые
в связи с этим появляется очень много ручной работы, а именно в ручную формировать счета-фактуры для каждой накладной, а их там может быть около сотни, хотелось бы автоматизировать этот процесс, а именно сделать обработку(или модифицировать ту, что уже есть для загрузки из торговли), которая бы сама формировала счета-фактуры.
На данном этапе, просто хотелось бы узнать ваши идеи, мысли по этому поводу, как именно программно формировать счета фактуры на основании другого документа, чтобы сохранялась структура подчинения.
За ранее благодарю.
 
H

Hryv

#2
Вводится ли счет-фактура на основании накладной впринципе?
 
D

DevilToLove

#3
А в модуле формы счет-фактуры есть ВводНаОсновании()?
конечно есть

А можно просто посмотреть в вводится ли счет-фактура на основании накладной впринципе
конечно вводится, а как же

Вводится ли счет-фактура на основании накладной впринципе?
счет-фактура вводится на основании расходной накладной и также на основании акта!
 
H

Hryv

#4
Тогда сделать будет несложно, если впринципе уметь на 1С что-то программировать

В ту обработку, что уже есть для загрузки из торговли, надо добавить после заргузки каждой накладной формирование счет-фактуры
Действия по аналогии с теми, что выполняются в ВводНаОсновании() в модуле формы счет-фактуры
 

puh14

Well-known member
11.07.2008
1 412
0
#5
Интересно - из типового ТИС в БУХ всё прекрасно выгружалось штатными способами и с счетами-фактурами.План счетов надо было только в ТИС запихнуть(Если не ошибаюсь). И релизы последние и ТИСа и БуХ
 
H

Hryv

#6
Про стандартные я не в курсе
Хотя вполне возможно, что надо поднастроить и стандартная заработает

Ели не лень, то в самой обработке (в коде) можно посмотреть, есть ли там уже что-то про счета-фактуры
Если есть, то в коде можно найти и что надо сделать при выгрузке/загрузке, чтобы заработало
 

vbs

Well-known member
18.02.2007
1 708
1
#7
И снова похоже на изобретение велосипеда.
Я уже лет пять пользую без проблем свою выгрузку из ТиС и загрузку в Бухгалтерию всяческих документов.
При необходимости на приходные и расходные в момент загрузки можно создать и соответствующие СФ
Посмотрите, кому интересно. Написать для общего случая можно и самому довольно быстро
 

Вложения

vbs

Well-known member
18.02.2007
1 708
1
#9
Мне казалось, в стандартной выгрузке только проводки выгружаются
для того, чтобы в этом убедиться, достаточно посмотреть на результаты подобной загрузки. Увы, бОльшую часть бухгалтеров это не устраивает
 
D

DevilToLove

#10
Интересно - из типового ТИС в БУХ всё прекрасно выгружалось штатными способами и с счетами-фактурами
к сожалению, у нас не совсем типовая ТиС, она сильно модифицирована, ее почти с нуля писали, зачем, лучше не спрашивайте)

Ели не лень, то в самой обработке (в коде) можно посмотреть, есть ли там уже что-то про счета-фактуры
где в бухгалтерии эта обработка, что-то найти не могу, там есть универсальная... а из ТиС? как она зовется?

Мне казалось, в стандартной выгрузке только проводки выгружаются.
мне как раз только проведенные доки и нужны в бухгалтерии, но опять же повторюсь, торговля у меня не стандартная!

При необходимости на приходные и расходные в момент загрузки можно создать и соответствующие СФ
спасибо за обработку, получается, что для формирования счет-фактуры достаточно этого?

SFc.New();
SFc.DocDate = Doc.DocDate;
SFc.DocNum = NumSF;
if FillSF(Doc.CurrentDocument()) = 0 then
Message("Счет-фактура не создан !");
Return
endif;
SFc.Write();
SFc.MakeActions();
Message("создан документ ""cчет-фактура"" "+SFc.DocNum+" от "+SFc.DocDate);

еще вот, самое главное забыл)))
Function FillSF(ДокОсн)
SFc.DeleteLines();
if Const.МетодОпределенияВыручки.Получить(SFc.DocDate) = глПоОтгрузке then
SFc.СчетНДС = 1;
else
SFc.СчетНДС = 2;
endif;
SFc.ВерсияОбъекта = Const.НомерРелиза;
SFc.Договор = ДокОсн.Договор;
SFc.Контрагент = ДокОсн.Контрагент;
SFc.Грузополучатель = ДокОсн.Контрагент;
SFc.СчетАкциза = 1;
SFc.Курс = 1;
SFc.Валюта = Const.ОсновнаяВалюта;
SFc.ВариантОтправки = 1;
SFc.ДокументОснование = ДокОсн;
SFc.Грузоотправитель = GetEmptyValue();
SFc.Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(ДокОсн);

ДокОсн.SelectLines(); L = 0;
while ДокОсн.GetLine() = 1 do
SFc.NewLine();
L = L + 1;
SFc.SetType("Товар", "Справочник.Номенклатура");
SFc.Товар = ДокОсн.Товар;
SFc.СтранаПроисхождения = Страны[L];
SFc.ГТД = ДокОсн.ГТД;
SFc.Количество = ДокОсн.Количество;
SFc.СтавкаНДС = глСтавкаНалога(ДокОсн, "НДС");
Кол = ?(SFc.Количество = 0, 1, SFc.Количество);
if (Int(SFc.СтавкаНДС.Ставка) = SFc.СтавкаНДС.Ставка) OR
(ДокОсн.ВариантРасчетаНалогов.СуммаВключаетНДС = 0) then
SFc.Цена = (ДокОсн.Всего - ДокОсн.НДС - ДокОсн.НП)/Кол;
SFc.Сумма = ДокОсн.Всего - ДокОсн.НДС - ДокОсн.НП;
else
SFc.Цена = (ДокОсн.Всего - ДокОсн.НП)/Кол;
SFc.Сумма = ДокОсн.Всего - ДокОсн.НП;
endif;
SFc.НДС = ДокОсн.НДС;
SFc.Счет = СчетПоКоду("90.3");
SFc.SetType("Субконто1",SFc.Счет.ВидСубконто(1));
SFc.SetType("Субконто2",SFc.Счет.ВидСубконто(2));
SFc.Субконто1 = SFc.Товар.ВидНоменклатуры;
SFc.Субконто2 = SFc.СтавкаНДС;

if Int(SFc.СтавкаНДС.Ставка) = SFc.СтавкаНДС.Ставка then
SFc.Всего = SFc.Сумма+SFc.НДС;
else
SFc.Всего = SFc.Сумма;
endif;
enddo;

Return 1;

endFunction // Заполнить()
 

vbs

Well-known member
18.02.2007
1 708
1
#11
спасибо за обработку, получается, что для формирования счет-фактуры достаточно этого?
А что, сомневаешься ?
Аналогичный код можно вставить в программу группового создания СФ за период
PS. Обработка старая. Теперь нужно озаботиться еще и заполнением реквизита
ВидОперации - например, на форму поместить (иначе с книгой продаж будут непонятки)
 
D

DevilToLove

#12
теперь нет, СПАСИБО ОГРОМНОЕ!!!
ВидОперации - например, на форму поместить (иначе с книгой продаж будут непонятки)
сделал)

Аналогичный код можно вставить в программу группового создания СФ за период
отличная идея! тему можно закрывать)
всем спасибо!!!