|
Com-соединение и проведение документа | ☑ | ||
---|---|---|---|---|
0
Serdolik55
30.09.11
✎
17:47
|
Коллеги!
Подключаяюсь по Com-соединение в другую базу, создаю там документ, записать его удаётся, а вот провести нет: пишет(Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация: Несоответствие типов (параметр номер '1')). Кто-нибудь знает, можно ли по com-соединению провести в удалённой базе документ и если да, то как? Код привожу ниже: Состояние("Проверка наличия соединения с бух. базой ООО ""Ромашка""..."); V82 = Новый COMОбъект("V82.COMConnector"); Попытка СоединениеБух = V82.Connect("File="""+База+""";Usr="""+Имя+""";Pwd="""+Пароль+""";"); Состояние("Проверка наличия соединения - Ок!"); Исключение Предупреждение("Нет связи с удалённой базой!!!"); Возврат; КонецПопытки; Если ЗапросДляПереносаДокументов().Пустой() Тогда Предупреждение("Нет документов для переноса!!!"); Возврат; Иначе ВыборкаШапки = ЗапросДляПереносаДокументов().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаШапки.Следующий()Цикл Состояние("Создание документов в базе ООО ""Ромашка""... "); ComПоступление = СоединениеБух.Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); ComПоступление.ВидОперации = СоединениеБух.Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия; ComПоступление.Дата = ВыборкаШапки.Дата; ComПоступление.ВалютаДокумента = СоединениеБух.Константы.ВалютаРегламентированногоУчета.Получить(); ComПоступление.Организация = СоединениеБух.Справочники.Организации.НайтиПоКоду("00005"); ComПоступление.Контрагент = СоединениеБух.Справочники.Контрагенты.НайтиПоКоду("00004251"); ComПоступление.ДоговорКонтрагента = СоединениеБух.Справочники.ДоговорыКонтрагентов.НайтиПоКоду("00009277"); ComПоступление.Склад = СоединениеБух.Справочники.Склады.НайтиПоКоду("00000001"); //Основной склад ComПоступление.СпособЗачетаАвансов = СоединениеБух.Перечисления.СпособыЗачетаАвансов.Автоматически; ComПоступление.УчитыватьНДС = Истина; ComПоступление.СуммаВключаетНДС = Истина; ComПоступление.НДСВключенВСтоимость = Ложь; ComПоступление.КурсВзаиморасчетов = 1; ComПоступление.КратностьВзаиморасчетов = 1; ComПоступление.СчетУчетаРасчетовСКонтрагентом = СоединениеБух.ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками; //60.01 ComПоступление.СчетУчетаРасчетовПоАвансам = СоединениеБух.ПланыСчетов.Хозрасчетный.РасчетыПоАвансамВыданным; //60.02 ComПоступление.Комментарий = ВыборкаШапки.ДляКомментария ; Курс = ВыборкаШапки.КурсДокументаВРублях; ВыборкаДетальныхЗаписей = ВыборкаШапки.Выбрать(); Пока ВыборкаДетальныхЗаписей.Следующий() Цикл ComСтрПоступление = ComПоступление.Товары.Добавить(); ComСтрПоступление.Номенклатура = ПоискНоменклатуры (СоединениеБух,ВыборкаДетальныхЗаписей.Номенклатура,ВыборкаДетальныхЗаписей.КодСтавкиНДС); ComСтрПоступление.Количество = ВыборкаДетальныхЗаписей.Количество; ComСтрПоступление.Цена = Окр(ВыборкаДетальныхЗаписей.Цена*Курс,2); ComСтрПоступление.Сумма = Окр(ВыборкаДетальныхЗаписей.Сумма*Курс,2); ComСтрПоступление.СтавкаНДС = СоединениеБух.Перечисления.СтавкиНДС.БезНДС; ComСтрПоступление.СчетУчета = СоединениеБух.ПланыСчетов.Хозрасчетный.ТМЦпринятыеНаОтветственноеХранение; //002 ComСтрПоступление.НомерГТД = ПоискГТД(СоединениеБух,ВыборкаДетальныхЗаписей.НомерГТДКод); ComСтрПоступление.СтранаПроисхождения = СоединениеБух.Справочники.КлассификаторСтранМира.НайтиПоКоду(ВыборкаДетальныхЗаписей.СтранаПроисхожденияКод); ComСтрПоступление.ОтражениеВУСН = СоединениеБух.Перечисления.ОтражениеВУСН.НеПринимаются; КонецЦикла; Попытка ComПоступление.Записать(); Сообщить("Создан и проведен документ: Поступление товаров и услуг " + ComПоступление.Номер + ComПоступление.Дата); Исключение Сообщить("Не удалось провести документ! " + ОписаниеОшибки(),СтатусСообщения.Важное); КонецПопытки; КонецЦикла; |
|||
1
Reset
30.09.11
✎
17:49
|
ComПоступление.Записать(СоединениеБух.РежимЗаписиДокумента.Проведение);
|
|||
2
Serdolik55
30.09.11
✎
17:51
|
(1) Спасибо! Получилось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |