Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Изменение данных через COMConnector , Изменение реквизита документа          
poritskiy Подменю пользователя
сообщение 03.10.12, 17:26
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 1 раз
Рейтинг: 0

Есть 2 базы 1с82, ЗУП и самописная(База2). Так вот подключаюсь к ЗУПу от Базы2 через COMConnector, перебираю циклом документы ПриказыНАПрием, и есть доки в которых нужно изменить реквизит с Типом булево, попросту говоря в доках есть установленная галочка и ее просто нужно снять. Подскажите как это сделать через COMConnector, так как в цикле я получаю значение с типом комОбъект, тоесть считать могу, а изменить нет (((((.

Сообщение отредактировал MATEVI - 03.10.12, 19:19

Vofka Подменю пользователя
сообщение 03.10.12, 18:28
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14052
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1

Вообще-то можно и читать и писать через com. Если бы вы привели пример кода и описание ошибки, которое у вас возникает, то, возможно, вам кто-то что-то подскажет. А так шансов не много.

Сообщение отредактировал pablo - 04.10.12, 7:14

poritskiy Подменю пользователя
сообщение 06.10.12, 15:05
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 16
Спасибо сказали: 1 раз
Рейтинг: 0

Может кому то пригодится )
Код следующий :
&НаСервере  
Процедура ИнициализацияЗУП()

    
    V8 = Новый COMОбъект("V82.COMConnector");
    СтрокаСоединенияСБазойАФ = "
    |Srvr=10.23.220.115;
    |Ref=ZUP_COPY1;
    |Usr=Администратор;
    |Pwd=poritskiy;
    |";
    Попытка
        ЗУП = V8.Connect(СтрокаСоединенияСБазойАФ);
    Исключение
        Сообщить("Произошла ош[B][/B]ибка подключения к базе");
    КонецПопытки;
   ВыборкаДокПрием = ЗУП.Документы.ПриемНаРаботуВОрганизацию.Выбрать(Объект.НачПериода,Объект.КонПериода);
   Пока ВыборкаДокПрием.Следующий() Цикл
        Док = ВыборкаДокПрием.Ссылка.ПолучитьОбъект();
        Док.Р_ДокИзменен = Ложь;
        Док.Записать();
   КонецЦикла;



Но выдавало ошибку:
Ошибка при вызове метода контекста (Записать)
Док.Записать();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.16.352): Ошибка при выполнении обработчика - 'ПередЗаписью'
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода РегистрацияИзмененийДляДокументовПередЗаписью ().

Проблема была на стороне ЗУП в документе, который я пытался записать с самописной базы в ЗУПе, была еще подписка на событие передзаписью, действие которой выполнялось в общем модуле у которого стояла галочка "На сервере". Два дня танцевал с бубном пока нашел )))), короче убрал эту галку и все заработало...

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 03.07.25, 22:59
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!