"Доброго времени суток!<br>А мне наоборот надо из Excel загрузить в 1С проводки. Не пойму, где ошибка? В 1С после выбора загружаемого фала выходят только сообщения: "Загрузка проводок" и "Загрузка завершена".<br><br>Перем Каталог, ИмяКат;<br>//******************************************* <br>Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФЛ)<br> Если ИдентЭлемДиалога = "ИмяКаталога" Тогда<br> ФЛ = 0;<br> ФС.ВыбратьФайл(0,ИмяКат,,"Выберите загружаемый файл",".xls",".xls");<br> ИмяКаталога = СокрЛП(ФС.ТекКаталог())+"\"+СокрЛП(ИмяКат);<br> КонецЕсли;<br>КонецПроцедуры <br><br>Процедура ПриВводеИмениКаталога()<br> Каталог = СокрЛП(ИмяКаталога);<br>КонецПроцедуры <br><br>Процедура ПриОткрытии()<br> Каталог = ИмяКаталога; <br>КонецПроцедуры<br><br>//*******************************************<br>Процедура Сформировать() <br> Фирмы = СоздатьОбъект("Справочник.Фирмы");<br> Операц = СоздатьОбъект("Операция");<br> Счетик = СоздатьОбъект("Счет");<br> СпрОГС = СоздатьОбъект("Справочник.ОГС");<br> СписФКР = СоздатьОбъект("СписокЗначений");<br> СписФКР.УдалитьВсе();<br> СпрФКР = СоздатьОбъект("Справочник.ФКРУчреждения");<br> спрФКР.ИспользоватьВладельца(Константа.ОсновнаяФирма);<br> СпрФКР.ВыбратьЭлементы();<br> Пока СпрФКР.ПолучитьЭлемент() = 1 Цикл<br> СписФКР.ДобавитьЗначение(СпрФКР.ФКР.ТекущийЭлемент(),СокрЛП(СпрФКР.ФКР.ДляКодаСчета));<br> КонецЦикла;<br> СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");<br> Если СпрКонтр.НайтиПоКоду("0000001122") = 1 Тогда<br> ТекКонтр = СпрКонтр.ТекущийЭлемент();<br> КонецЕсли;<br> СпрЦС = СоздатьОбъект("Справочник.ВидыЦелевыхСредств");<br> Если СпрЦС.НайтиПоКоду("6") = 1 Тогда<br> ТекВидЦС = СпрЦС.ТекущийЭлемент();<br> КонецЕсли;<br> СпрЛС = СоздатьОбъект("Справочник.ЛицевыеСчета");<br> Если СпрЛС.НайтиПоНаименованию("Единый казначейский счет") = 1 Тогда<br> ТекЛС = СпрЛС.ТекущийЭлемент();<br> КонецЕсли;<br> <br> БазаОсн = СоздатьОбъект("Excel.Application"); <br> БазаОсн.Visible = 0;<br> Если ФС.СуществуетФайл(ИмяКаталога) = 0 Тогда<br> Сообщить("Файл "+ИмяКаталога+" не найден");<br> Возврат;<br> КонецЕсли;<br> Книга = БазаОсн.Workbooks.Open(СокрЛП(ИмяКаталога));<br> Лист = Книга.Worksheets(1);//<br> Состояние("Загрузка проводок");<br> Операц.Новая();<br> Операц.Документ.ВыбраннаяФирма = Константа.ОсновнаяФирма; <br> Операц.Содержание = "Ввод проводок по доходам";<br> КолПров = 0;<br> НомерСтроки = 1;<br> ТекБюджет = """";<br> Пока НомерСтроки < 10000 Цикл<br> Если Лев(Лист.cells(НомерСтроки,1).value,1) = "ИТОГО" Тогда<br> Прервать;<br> КонецЕсли;<br> КБК = Лев(СтрЗаменить(Лист.cells(НомерСтроки,17).value,".",""""),17);<br> Если Лев(КБК,3) = "182" Тогда<br> ТекФКР = СписФКР.Получить(КБК);<br> Если ПустоеЗначение(ТекФКР) = 1 Тогда<br> Сообщить("Не найден код КБК "+КБК);<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> КодСчетаД = Сред(СтрЗаменить(Лист.cells(НомерСтроки,17).value,".",""""),19,5);<br> КодСчетаК = Сред(СтрЗаменить(Лист.cells(НомерСтроки,19).value,".",""""),19,5);<br> Если Счетик.НайтиПоКоду(Лев(КодСчетаД,3)+"."+Прав(КодСчетаД,2)+".1") = 0 Тогда<br> Сообщить("Не найден счет "+Лев(КодСчетаД,3)+"."+Прав(КодСчетаД,2)+".1");<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> СчетДебета = Счетик.ТекущийСчет();<br> Если Начисление = 0 Тогда<br> Если Лев(СчетДебета.Код,3) = "205" Тогда<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> Иначе<br> Если Лев(СчетДебета.Код,3) <> "205" Тогда<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> КонецЕсли;<br> Если Счетик.НайтиПоКоду(Лев(КодСчетаК,3)+"."+Прав(КодСчетаК,2)+".1") = 0 Тогда<br> Сообщить("Не найден счет "+Лев(КодСчетаК,3)+"."+Прав(КодСчетаК,2)+".1");<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> СчетКредита = Счетик.ТекущийСчет();<br> ОГСД = Прав(СтрЗаменить(Лист.cells(НомерСтроки,17).value,".",""""),3);<br> ОГСК = Прав(СтрЗаменить(Лист.cells(НомерСтроки,19).value,".",""""),3);<br> Если СпрОГС.НайтиПоКоду(ОГСД) = 0 Тогда<br> Сообщить("Не найден код ОГС "+ОГСД);<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> ОГСДебета = СпрОГС.ТекущийЭлемент();<br> Если СпрОГС.НайтиПоКоду(ОГСК) = 0 Тогда<br> Сообщить("Не найден код ОГС "+ОГСК);<br> НомерСтроки = НомерСтроки + 1;<br> Продолжить;<br> КонецЕсли;<br> ОГСКредита = СпрОГС.ТекущийЭлемент();<br> Сумма = Число(Лист.cells(НомерСтроки,21).value);<br> Если КолПров > 99 Тогда<br> Операц.Записать();<br> Сообщить("Создана операция "+Операц.Документ.НомерДок);<br> Операц.Новая();<br> Операц.Документ.ВыбраннаяФирма = Константа.ОсновнаяФирма; <br> Операц.Содержание = "Ввод проводок по доходам";<br> КолПров = 0;<br> КонецЕсли; <br> Операц.НоваяПроводка(); <br> Операц.Дебет.Счет = СчетДебета;<br> Операц.Дебет.Субконто(1,ТекФКР);<br> Операц.Дебет.Субконто(2,ОГСДебета);<br> Если СчетДебета.КоличествоСубконто() > 2 Тогда<br> Если СчетДебета.ВидСубконто(3) = ВидыСубконто.ЛицевыеСчета Тогда<br> Операц.Дебет.Субконто(3,ТекЛС);<br> КонецЕсли;<br> Если СчетДебета.ВидСубконто(3) = ВидыСубконто.ВидыЦелевыхСредств Тогда<br> Операц.Дебет.Субконто(3,ТекВидЦС);<br> КонецЕсли;<br> Если СчетДебета.ВидСубконто(3) = ВидыСубконто.Контрагенты Тогда<br> Операц.Дебет.Субконто(3,ТекКонтр);<br> КонецЕсли;<br> КонецЕсли;<br> Операц.Кредит.Счет = СчетКредита;<br> Операц.Кредит.Субконто(1,ТекФКР);<br> Операц.Кредит.Субконто(2,ОГСКредита);<br> Если СчетКредита.КоличествоСубконто() > 2 Тогда<br> Если СчетКредита.ВидСубконто(3) = ВидыСубконто.ЛицевыеСчета Тогда<br> Операц.Кредит.Субконто(3,ТекЛС);<br> КонецЕсли;<br> Если СчетКредита.ВидСубконто(3) = ВидыСубконто.ВидыЦелевыхСредств Тогда<br> Операц.Кредит.Субконто(3,ТекВидЦС);<br> КонецЕсли;<br> Если СчетКредита.ВидСубконто(3) = ВидыСубконто.Контрагенты Тогда<br> Операц.Кредит.Субконто(3,ТекКонтр);<br> КонецЕсли;<br> КонецЕсли;<br> Операц.Сумма = Сумма;<br> Операц.НомерЖурнала = глНомерЖурнала(СчетДебета,СчетКредита); <br> Операц.Учреждение = Константа.ОсновнаяФирма;<br> КолПров = КолПров + 1;<br> КонецЕсли;<br> НомерСтроки = НомерСтроки + 1;<br> КонецЦикла;<br> Если Операц.КоличествоПроводок() > 0 Тогда<br> Операц.Записать();<br> Сообщить("Создана операция "+Операц.Документ.НомерДок);<br> КонецЕсли;<br> <br> Книга = БазаОсн.Workbooks.Close();<br> <br> Сообщить("Загрузка завершена");<br>КонецПроцедуры<br><br>P.S.<br>Таблица выглядит в общем:<br>наименование операций:номер документа:дата:номер счета по дебету:номер счета по кредиту:сумма<br><br>Заранее благодарю.<br> <br><br>"