Harry
							
								Модератор
								
								 
								  Offline
								
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 25-09-2008 09:49 »   | 
								
								 | 
							  
							 
							Вот пример экспорта из дбф-файла в банковскую выписку. Не Mysql, но может пригодится хотя бы кусок непосредственного создания платежки.
  Процедура Сформировать()    ВыбранныйФайл="";    ФС.ВыбратьФайл(0,ВыбранныйФайл,"D:\1CBasesTemp\FolderIn\","Выберите файл загрузки", "Файлы .dbf (*.dbf) |*.dbf",".dbf",);    Спр=СоздатьОбъект("Справочник.ВалДоходыРасходы");    ДБФ=СоздатьОбъект("XBase");        Опер=СоздатьОбъект("Операция");    ТабЗн=СоздатьОбъект("ТаблицаЗначений");    ТабЗн.НоваяКолонка("ДатаОст");    ТабЗн.НоваяКолонка("СуммаГрн");     ТабЗн.НоваяКолонка("Контрагент");    ТабЗн.НоваяКолонка("Примечание");    ТабЗн.НоваяКолонка("Назначение");
         ДБФ.ОткрытьФайл(ВыбранныйФайл);    Сообщить(ВыбранныйФайл);    ДБФ.Первая();    Пока ДБФ.ВКонце()=0 Цикл       Состояние("Обработка файла: "+Формат(ДБФ.НомерЗаписи()/ДБФ.КоличествоЗаписей()*100,"Ч15.2")+" %");        ТабЗн.НоваяСтрока();       ТабЗн.ДатаОст=ДБФ.DATAOPL;       //ТабЗн.Направление=ДБФ.NAPRAVL;       ТабЗн.СуммаГрн=ДБФ.SUMMSYS;       ТабЗн.Назначение=ДБФ.NAIMOPL;       ТабЗн.Контрагент=ДБФ.NAIM;       ТабЗн.Примечание=ДБФ.PRIMECH;       //ТабЗн.СтатьяЗатрат=ДБФ.KODOPL;              ДБФ.Следующая();    КонецЦикла;     ДБФ.ЗакрытьФайл();        //ТабЗн.Свернуть("1,3","2");           Если Нам=1 Тогда       ДокБезнал=СоздатьОбъект("Документ.БанковскаяВыписка");        ДокБезнал.Новый();        ДокБезнал.Фирма=Константа.БазФирма;       ДокБезнал.ДатаДок=ТабЗн.ДатаОст;       ДокБезнал.РСчет=ВыбСчет;       ДокБезнал.СчетУчета=СчетПоКоду("311");                     ТабЗн.ВыбратьСтроки();       Пока ТабЗн.ПолучитьСтроку()=1 Цикл          ДокБезнал.НоваяСтрока();          ДокБезнал.ПриходРасход=Перечисление.ПлюсМинус.Плюс;           ДокБезнал.Счет=СчетПоКоду("361");          ДокБезнал.ВидНДС=Константа.БазНДС;          ДокБезнал.СуммаСНДС=ТабЗн.СуммаГрн;          ДокБезнал.НДС=ДокБезнал.СуммаСНДС/6;          ДокБезнал.СуммаПлатежа=ДокБезнал.СуммаСНДС-ДокБезнал.НДС;           ДокБезнал.Содержание=ТабЗн.Назначение;          ДокБезнал.НазначитьТип("ВидПриходаРасхода","Перечисление.ВидыПриходаДенег");          ДокБезнал.ВидПриходаРасхода = ?(ПустоеЗначение(ДокБезнал.ВидПриходаРасхода) = 1,Перечисление.ВидыПриходаДенег.ВыручкаОтРеализации,ДокБезнал.ВидПриходаРасхода);            ДокБезнал.ДоходИздержка=Перечисление.ПлюсМинусНичего.Плюс;            Спр.НайтиПоКоду("1",0);           ДокБезнал.СубконтоДИ=Спр.ТекущийЭлемент();                ДокБезнал.УказанаОтгрузка=Перечисление.ДаНет.Нет;          ДокБезнал.НазначитьТип("Субконто",ДокБезнал.Счет.ВидСубконто(1));          //ДокБезнал.НазначитьТип("Заказ",ДокБезнал.Счет.ВидСубконто(2));          ДокБезнал.НазначитьТип("Заказ","Строка");          ДокБезнал.Заказ = ТабЗн.Контрагент;          //ДокБезнал.Субконто = ДокБезнал.Счет.Субконто(2);          //ДокБезнал.Заказ = ДокБезнал.Счет.Субконто(3);                КонецЦикла;       ДокБезнал.Записать();    Иначе       ДокБезнал=СоздатьОбъект("Документ.БанковскаяВыписка");        ДокБезнал.Новый();        ДокБезнал.Фирма=Константа.БазФирма;       ДокБезнал.ДатаДок=ТабЗн.ДатаОст;       ДокБезнал.РСчет=ВыбСчет;       ДокБезнал.СчетУчета=СчетПоКоду("311");                     ТабЗн.ВыбратьСтроки();       Пока ТабЗн.ПолучитьСтроку()=1 Цикл          ДокБезнал.НоваяСтрока();          ДокБезнал.ПриходРасход=Перечисление.ПлюсМинус.Минус;           ДокБезнал.Счет=СчетПоКоду("631");           ДокБезнал.ВидНДС=Константа.БазНДС;          ДокБезнал.СуммаСНДС=ТабЗн.СуммаГрн;          ДокБезнал.НДС=ДокБезнал.СуммаСНДС/6;          ДокБезнал.СуммаПлатежа=ДокБезнал.СуммаСНДС-ДокБезнал.НДС;           ДокБезнал.Содержание=ТабЗн.Назначение;          ДокБезнал.НазначитьТип("ВидПриходаРасхода","Перечисление.ВидыПриходаДенег");          ДокБезнал.ВидПриходаРасхода = ?(ПустоеЗначение(ДокБезнал.ВидПриходаРасхода) = 1,Перечисление.ВидыРасходаДенег.НаВедениеХозДеятельности,ДокБезнал.ВидПриходаРасхода);            ДокБезнал.ДоходИздержка=Перечисление.ПлюсМинусНичего.Минус;            Спр.НайтиПоКоду("1",0);           ДокБезнал.СубконтоДИ=Спр.ТекущийЭлемент();                ДокБезнал.УказанаОтгрузка=Перечисление.ДаНет.Нет;          ДокБезнал.НазначитьТип("Субконто",ДокБезнал.Счет.ВидСубконто(1));          //ДокБезнал.НазначитьТип("Заказ",ДокБезнал.Счет.ВидСубконто(2));          ДокБезнал.НазначитьТип("Заказ","Строка");          ДокБезнал.Заказ = ТабЗн.Контрагент;       КонецЦикла;       ДокБезнал.Записать();    КонецЕсли; КонецПроцедуры //********************************************* 
						 |