Групповое создание счет-фактур на основании Передачи ОС

1. spartak_lp 29.06.12 17:09 Сейчас в теме
Здраствуйте! Есть ли такие обработки по групповому созданию счет-фактур выданных на основании документа "ПередачаОС"?
И еще хотелось бы узнать где искать код процедуры создания счет-фактур на основании документа "ПередачаОС"
PS - Бухучет 7.70.537
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. asved.ru 36 29.06.12 18:52 Сейчас в теме
где искать код процедуры создания счет-фактур на основании документа "ПередачаОС"

В модуле формы документа СчетФактура, вестимо.
Есть ли такие обработки по групповому созданию счет-фактур выданных на основании документа "ПередачаОС"?

Воспользуйтесь поиском.
3. spartak_lp 02.07.12 06:38 Сейчас в теме
(2) asved.ru, Спасибо, поиском пользовался, но нашлись только обработки по созданию СФ на основании авансов, либо оказании услуг.
4. spartak_lp 02.07.12 10:21 Сейчас в теме
Есть обработка, которая делает групповое создание счет-фактур на основании "Оказания услуг". В процедуре создания такой код:
Процедура СформироватьСчФ()       // сделано по ОказаниюУслуг 
		СпрСотр=СоздатьОбъект("Справочник.Сотрудники");   
		СпрСотр.НайтиПоКоду("000072");  
		СпрСотрЛоб=СпрСотр.ТекущийЭлемент();
		Приходы.ВыбратьСтроки();
		Пока приходы.получитьстроку() = 1 Цикл 
			Если Приходы.Флаг = "V" Тогда     
			иначе	
				продолжить;
			КонецЕсли;
			Если Приходы.ДОк.Вид() = "ОказаниеУслуг" Тогда 
				// по занесенным в список актам проверми - нет ли подчиненной счет-фактуры
				ДокОсн = Приходы.ДОк;
				ДокПодч  = создатьОбъект("Документ");
				Если ДокПодч.ВыбратьПодчиненныеДокументы(ДатаНачала,ДатаКонца,ДокОсн) = 1 Тогда
					Если ДокПодч.Вид() = "СчетФактура" Тогда  
						ДокСчФ  = создатьОбъект("Документ.СчетФактура");
						докподч.СделатьНеПроведенным();
						докподч.УдалитьСтроки();
						докподч.Записать();
						ДоксчФ.НайтиДокумент(докПодч.ТекущийДокумент()); 
						докподч = "";					
					Иначе 
						продолжить;
					КонецЕсли;	
				иначе
					ДокСчФ  = создатьОбъект("Документ.СчетФактура");
					ДокСчФ.Новый(); 
					ДокСчф.ВерсияОбъекта = Константа.НомерРелиза;
				КонецЕсли;                    
				
				Доксчф.ДатаДок=ДокОсн.ДатаДок;	
				Доксчф.документоснование = ДокОсн.текущийДокумент();    
				
				Доксчф.СчетАкциза = 1;
				Доксчф.Грузоотправитель = ПолучитьПустоеЗначение();
				Доксчф.ВариантОтправки = 1;     
				ДОксчф.Контрагент = ДокОсн.контрагент;                                          
				//
				Если Константа.МетодОпределенияВыручки.Получить(ДокСчФ.ДатаДок) = глПоОтгрузке Тогда
					ДокСчФ.СчетНДС = 1;
				Иначе
					ДокСчФ.СчетНДС = 2;
					Если ДокОсн.Вид() = "ОказаниеУслуг" Тогда
						Если (ДокОсн.ТипУслуги = 2) и (ДокОсн.ЗачетТребований = 1) Тогда
							ДокСчФ.СчетНДС = 1;
						КонецЕсли;
					КонецЕсли;
				КонецЕсли;
				Если  ДокОсн.Вид()="ОказаниеУслуг" Тогда
					ДокСчФ.Руководитель= ДокОсн.Руководитель;
				КонецЕсли;
				ДокСчФ.Договор = ДокОсн.Договор;
				ПриВыбореДоговора();
				ДокСчФ.Контрагент=ДокОсн.Контрагент;
				ДокСчФ.ТипЦен = ДокОсн.ТипЦен;
				// Заполнение грузополучателя и грузоотправителя
				ДокСчФ.Грузополучатель=ДокОсн.Контрагент;
				
				ДокСчФ.Аванс = 0; 
				ДокСчФ.ВидОперации = Перечисление.ВидыОперацийСчетаФактурыВыданного.Реализация;
				ДокСчФ.КомментарийАкта = ДокОсн.Комментарий;
				ДокОсн.ВыбратьСтроки();
				Пока ДокОсн.ПолучитьСтроку()=1 Цикл
					ДокСчФ.НоваяСтрока();
					ДокСчФ.НазначитьТип("Товар", "Справочник.Номенклатура");
					Если ( ДокОсн.Вид()="ОказаниеУслуг" ) Тогда
						ДокСчФ.Товар=ДокОсн.Услуга;
					ИначеЕсли ( ДокОсн.Вид()="ВыполнениеЭтапаРабот" ) Тогда
						ДокСчФ.Товар=ДокОсн.Работа;
					Иначе
						ДокСчФ.Товар=ДокОсн.Товар;
					КонецЕсли;
					
					ДокСчФ.Количество=ДокОсн.Количество;
					ДокСчФ.СтавкаНДС = глСтавкаНалога(ДокОсн, "НДС");
					Кол = ?(ДокСчФ.Количество = 0, 1, ДокСчФ.Количество);
					Если (Цел(ДокСчФ.СтавкаНДС.Ставка) = ДокСчФ.СтавкаНДС.Ставка) или
					(ДокОсн.ВариантРасчетаНалогов.СуммаВключаетНДС = 0) Тогда
						
						Если ДокОсн.ВариантРасчетаНалогов.СуммаВключаетНП = 1 Тогда
							Если ДокОсн.ВариантРасчетаНалогов.СуммаВключаетНДС = 0 Тогда
								ДокСчФ.Цена = (ДокОсн.Всего - ДокОсн.НП)/Кол;
								
							Иначе
								ДокСчФ.Цена = (ДокОсн.Всего - ДокОсн.НДС - ДокОсн.НП)/Кол;
							КонецЕсли;
							
						Иначе
							Если ДокОсн.ВариантРасчетаНалогов.СуммаВключаетНДС = 0 Тогда
								ДокСчФ.Цена = ДокОсн.Цена;
								
							Иначе
								ДокСчФ.Цена = (ДокОсн.Всего - ДокОсн.НДС)/Кол;
							КонецЕсли;
						КонецЕсли;
						
						ДокСчФ.Сумма = ДокОсн.Всего - ДокОсн.НДС - ДокОсн.НП;
					Иначе
						ДокСчФ.Цена = (ДокОсн.Всего - ДокОсн.НП)/Кол;
						ДокСчФ.Сумма = ДокОсн.Всего - ДокОсн.НП;
					КонецЕсли;
					ДокСчФ.НДС=ДокОсн.НДС;
					ДокСчФ.Счет = СчетПоКоду("90.3");
					ПриВыбореСчета();
					Если ДокОсн.Вид() = "ОказаниеУслуг" Тогда   
						Если ДокОсн.ТипУслуги = 3 Тогда
							ДокСчф.Счет = СчетПоКоду("91.2.0");				
							
							ПриВыбореСчета(); 
							ДокСчф.Субконто1 = ДокОсн.СтатьяПрочихДоходовИРасходов;
						КонецЕсли;
					КонецЕсли;
					Если Цел(ДокСчф.СтавкаНДС.Ставка) = ДокСчф.СтавкаНДС.Ставка Тогда
						ДокСчф.Всего=ДокСчф.Сумма+ДокСчф.НДС;
					Иначе
						ДокСчф.Всего=ДокСчФ.Сумма;
					КонецЕсли;
				КонецЦикла;// Перебор строк табличной части дока основания  
				Доксчф.руководитель =  ДокОСн.Руководитель; 
				Доксчф.ГлБухгалтер  =  СпрСотрЛоб;  
				//Доксчф.ПриказДир =  ""; 
				Доксчф.ПриказГлБух  =  "согласно приказа № 29 от 16.02.11";  
				доксчф.Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(ДокОсн);
				доксчф.Записать();                                                                  
				доксчф.Комментарий = доксчф.Комментарий  + "@" + РасчДоки(ДокСчф.ТекущийДокумент());       
				
				Доксчф.НомерПлатРасчДок = 	Доксчф_НомерПлатРасчДок ;  
				Доксчф.ДатаПлатРасчДок  = 	Доксчф_ДатаПлатРасчДок;
				Доксчф.датаоплаты 		= "" + Доксчф_датаоплаты ;
				
				доксчф.Записать(); 
				
				Сообщить("Записан документ : " + доксчф.ПредставлениеВида() + " " + доксчф.НомерДок + " от " + доксчф.ДатаДок, "I");
				
				// попробуем провести данную счет фактуру        		
				попытка
					доксчф.Провести();             
				исключение
					Сообщить("Не удалось провести докумет: " + доксчф);
				конецпопытки;
			иначе
				продолжить;
			КонецЕсли;	
			
		КонецЦикла;  
	
	ЗаполнитьПриходы();
Конецпроцедуры	
Показать

Что нужно тут изменить, чтобы создавались СФ на основании док-тов "ПередачаОС"?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот