Small_green_yojik
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Процедура УстановПарам(Объект, Удален, Проведен=0) Если (ТипЗначения(Объект)=12) Тогда //Обработка документа Если Удален=1 Тогда Объект.Удалить(0); Иначе Объект.СнятьПометкуУдаления(); КонецЕсли; Объект.Записать(); Если Проведен=1 Тогда Объект.Провести(); КонецЕсли; ИначеЕсли ТипЗначения(Объект)=11 Тогда //Обработка элемента справочника Если Удален=1 Тогда Объект.Удалить(0); Иначе Объект.СнятьПометкуУдаления(); КонецЕсли; ИначеЕсли ТипЗначения(Объект)=100 Тогда //Обработка операции и пр. Если Удален=1 Тогда Объект.удалить(0); Иначе Объект.СнятьПометкуУдаления(); КонецЕсли; Объект.Записать(); Если Проведен=1 Тогда Объект.ВключитьПроводки(1); Иначе Объект.ВключитьПроводки(0); КонецЕсли; КонецЕсли; Объект.Записать(); КонецПроцедуры Процедура ИмпортСФвыданнойНаОсновании(Основание, Реж) Если Реж=1 Тогда //Счет-Фактура выданный на основании возврата поставщику СФвыд.НайтиПоНомеру("В"+Прав(ВыгФайл.DocNomber,7),Дата(ВыгФайл.DocDate)); Если СФвыд.Выбран()=1 Тогда СФвыд.СделатьНеПроведенным(); СФвыд.УдалитьСтроки(); иначе //Создаем док-т СФвыд.Новый(); КонецЕсли; СФвыд.ДатаДок=СокрЛП(ВыгФайл.DocDate); СФвыд.НомерДок="В"+Прав(ВыгФайл.DocNomber,7); СФвыд.ДокументОснование=Основание; //Заполняем документ СФвыд.ВидОперации=Перечисление.ВидыОперацийСчетаФактурыВыданного.Возврат; СФвыд.ВариантОтправки=1; СФвыд.Грузополучатель=Основание.Контрагент; СФвыд.Договор=Основание.Договор; СФвыд.СчетНДС=1; СФвыд.СчетАкциза=1; СФвыд.ВключатьВКнигуПродаж=1; Основание.ВыбратьСтроки(); Пока Основание.ПолучитьСтроку() = 1 Цикл СФвыд.НоваяСтрока(); СФвыд.Счет=СчетПоКоду("76.2"); СФвыд.НазначитьТип("Товар","Справочник.Номенклатура"); СФвыд.НазначитьТип("Субконто1", СФвыд.Счет.ВидСубконто(1)); СФвыд.НазначитьТип("Субконто2", СФвыд.Счет.ВидСубконто(2)); СФвыд.НазначитьТип("Субконто3", СФвыд.Счет.ВидСубконто(3)); СФвыд.Субконто1=СФвыд.Грузополучатель; СФвыд.Субконто2=СФвыд.Договор; СФвыд.Товар=Основание.Товар; СФвыд.Количество = Основание.Количество; СФвыд.Цена = Основание.Цена; СФвыд.Сумма = Основание.Сумма; СФвыд.НДС = Основание.НДС; СФвыд.Всего = Основание.Всего; //СФвыд.ГТД = Основание.ГТД; КонецЦикла; ИначеЕсли Реж=2 Тогда //Счет-фактура выданный на основании РеализацииТМЦ СФвыд.НайтиПоНомеру("Р"+Прав(ВыгФайл.DocNomber,7),Дата(ВыгФайл.DocDate)); Если СФвыд.Выбран()=1 Тогда СФвыд.СделатьНеПроведенным(); СФвыд.УдалитьСтроки(); иначе //Создаем док-т СФвыд.Новый(); КонецЕсли; СФвыд.ДатаДок=СокрЛП(ВыгФайл.DocDate); СФвыд.НомерДок="Р"+Прав(ВыгФайл.DocNomber,7); СФвыд.ДокументОснование=Основание; //Заполняем документ СФвыд.ВидОперации=Перечисление.ВидыОперацийСчетаФактурыВыданного.Реализация; СФвыд.ВариантОтправки=1; СФвыд.Грузополучатель=Основание.Контрагент; СФвыд.Договор=Основание.Договор; СФвыд.СчетНДС=1; СФвыд.СчетАкциза=1; СФвыд.ВключатьВКнигуПродаж=1; Основание.ВыбратьСтроки(); Пока Основание.ПолучитьСтроку() = 1 Цикл СФвыд.НоваяСтрока(); СФвыд.Счет=СчетПоКоду("90.3"); СФвыд.НазначитьТип("Товар","Справочник.Номенклатура"); СФвыд.НазначитьТип("Субконто1", СФвыд.Счет.ВидСубконто(1)); СФвыд.НазначитьТип("Субконто2", СФвыд.Счет.ВидСубконто(2)); СФвыд.НазначитьТип("Субконто3", СФвыд.Счет.ВидСубконто(3)); СФвыд.Субконто1=СФвыд.Грузополучатель; СФвыд.Субконто2=СФвыд.Договор; СФвыд.Товар=Основание.Товар; СФвыд.Количество = Основание.Количество; СФвыд.Цена = Основание.Цена; СФвыд.Сумма = Основание.Сумма; СФвыд.НДС = Основание.НДС; СФвыд.Всего = Основание.Всего; //СФвыд.ГТД = Основание.ГТД; КонецЦикла; КонецЕсли; СФвыд.Записать(); глПриПроведении(СФвыд.ТекущийДокумент()); УстановПарам(СФвыд,Число(ВыгФайл.DelRefPos),Число(ВыгФайл.DocPost)); КонецПроцедуры | Всего записей: 214 | Зарегистр. 18-05-2009 | Отправлено: 17:42 18-11-2011 | Исправлено: Small_green_yojik, 17:47 18-11-2011 |
|