#0
by Tezcatlipoka
Всем добрый день. Прошу вашего совета. Работаю с 1С через COM-соединение из внешнего приложения на C#. При попытке пометить на удаление элемент справочника "Файлы" вылетает с ошибкой "адресат вызова создал исключение" т.е. исключение возникает в самой 1С. (и через реквизит "ПометкаУдаления" и через функцию "УстановитьПометкуУдаления"). Причем такое поведение наблюдается только у данного справочника. Элементы других справочников без ошибок метятся на удаление. В конфигурацию никаких изменений не вносилось. Подключение к 1С идет через учетную запись администратора с полными правами. Из самой 1С файл метится на удаление без проблем. Так же, писал внешнюю обработку - файл так же метится без проблем. Пока приходится просто удалять файлы. Но это оставляет "битые ссылки" что может быть потенциально опасно для базы. Подскажите пожалуйста, в чем может быть проблема или хотя бы в каком направлении искать. Заранее, спасибо. Работаю в: 1С Предприятие 8.3.6.2421 Документооборот 8 КОРП 2.0.15.6
#3
by Tezcatlipoka
В данном случае я пытаюсь работать с элементами справочника "Файлы". Права есть - руками в настройках прав выставил полный доступ.
#4
by Tezcatlipoka
Файлы с которыми я работаю я сам же и создаю через общий модуль РаботаСФайламиВызовСервера.СоздатьФайлНаОсновеФайлаНаДиске
#6
by Tezcatlipoka
Как я уже говорил выше - в конфигурацию изменений не вносилось и из самой 1С и внешних обработок объекты метятся. Так что там все стандартно.
#7
by Prog111
Стандартно-то стандартно... Но возможно, что изначально прописано, что из формы помечаться может, а по соединению - какие-то условия не срабатывают. И покажи код, которым соединяешься.
#11
by Tezcatlipoka
static void NewConnect { } public static object GetObjectProperty(object v83, object refObject, string propertyName) } public static object InvokeObjectMethod(object v83, object refObject, string methodName, object[] parameters) { } public static object SetObjectProperty(object v83, object refObject, string propertyName, object[] parameters) }
#12
by Tezcatlipoka
Как можно видеть, пробовал работать с Внутренними документами и файлами. Внутренние документы без проблем метятся. Так же пробовал и с другими объектами справочников - они тоже метятся.
#16
by Tezcatlipoka
Потому что пробовал двумя способами пометить. Первый - через УстановитьПометкуУдаления(true), а второй - через реквизит ПометкаУдаления и непосредственную запись объекта. В обоих случаях валится в ошибку с NullReferenceExeption. Журнал не смотрел. Сейчас взгляну.
#17
by Tezcatlipoka
Попробовать из другой базы, конечно, можно. Но это ничего не даст. Речь о взаимодействии с 1С из внешнего приложения написанного на C#, так что от дотнета я все равно никуда не смогу уйти.
#19
by Tezcatlipoka
В журнале регистрации при ошибках пометки на удаление для файла появляется запись следующего содержания: Событие: Данные.Изменение Статус транзакции:Отменена Метаданные: Регистр сведений. Дескрипторы доступа для файлов.
#21
by Tezcatlipoka
Я работаю под админом с полными правами. Сейчас специально проверил - на этот регистр права на чтение, изменение, просмотр, редактирование и управление итогами.
#22
by Nuobu
Еще вариант: срабатывает подписка на событие, текст процедуры которой находится в модуле без галки "Внешнее подключение".
#24
by Tezcatlipoka
Проблема решена. В большинстве процедур и функций работы с файлами встречается вот такой кусочек кода который, собственно, и не давал помечать файл из COM: Если Источник.ОбменДанными.Загрузка Тогда D моем случае всегда у полученного объекта файла значение ОбменДанными.Загрузка было равно Ложь. Проблема решилась тривиально: Всё работает, пометка ставится и снимается корректно. Всем огромное спасибо за советы и оперативную помощь. )
#27
by Torquader
ОбменДанными.Загрузка=ИСТИНА переключает 1С в режим обязательной записи, то есть выключаются любые проверки корректности и т.п. Конечно, таким образом, пометка удаления поставится, но, вполне вероятно, что в регистре "Регистр сведений. Дескрипторы доступа для файлов" были какие-то данные помечаемого файла, которые не позволяли это делать. И вот - данные остались, а файл - пометился. P.S. использование ОбменДанными.Загрузка даже выключает контроль уникальности кодов в справочнике - так что нужно быть очень аккуратным.
#28
by hhhh
он теперь везде будет лепить эту свою находку: Источник.ОбменДанными.Загрузка = Истина; и у него и в проведении будет фигня и половина подписок не будет выполняться, потому что в подписках везде эта проверка.
#29
by Torquader
При установке ОбменДанными.Загрузка=ИСТИНА запись с проведением обычно не выполняется, но можно у документа поставить "Проведен=ИСТИНА" и просто записать, а потом удивляться - что это у нас вместо учёта в базе слово из четырёх букв.
#30
by Tezcatlipoka
Уважаемый hhhh - возможно, я не прав, используя Источник.ОбменДанными.Загрузка = Истина; Но предложите тогда верное решение данной проблемы, если мое не верно. У всех получаемых мной файлов всегда Источник.ОбменДанными.Загрузка равно Ложь. И при таком значении данного атрибута функция записи файла для установки пометки удаления просто не сработает.
#32
by hhhh
надо искать ошибку. Режим загрузка = Истина это выключение обычного режима работы программы. То есть лучше просто тогда непосредственно удалить - это будет меньше вреда для базы.
#34
by VensHak
также и я могу ошибаться, но проверьте из режима предприятия этот справочник. У элементов справочника есть реквизит "редактирует" где хранится имя пользователя, который не закрыл редактирование файла. И если реквизит не пустой, то пометить на удаление этот элемент нельзя.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Удаление помеченных на удаление документов
- Удаление помученных на удаление элементов справочников
- Как запретить удаление документа (или пометку на удаление) ?
- Роль: удаление и интерактивное удаление
- Удаление помеченных на удаление объектов со всеми ссылками
- Как ускорить удаление помеченных на удаление объектов.
- Быстрое удаление помеченных на удаление объектов
- Удаление помеченных на удаление
- v7: Медленное удаление помеч.на удаление документов после обрезки базы
- Односторонний обмен. Удаление через удаление помеченных объектов
- Документооборот. Удаление помеченных объектов. Дескрипторы доступа для объектов.
- Удаление помеченных на удаление с имеющимися ссылками на них
В этой группе 1С
- Не обновляется поле HTML документа. 8.3, УФ, УТ 11
- КД Замещение объекта при загрузке.
- Расходы уменьшающие ЕНВД
- Сортировка расчетного листа по сотруднику
- Отображение динамического списка справочника
- Проблема с подключением ккм к 1с 8.3
- Конвертация табличной части документа
- Фиксированные настройки КомпоновщикаНастроек отчета?
- Битрикс - как сделать ограниченный на доступ форум.
- Печатная форма договора для УТ 10.3
- Запись реквизит документа в подписке проведения.
- 1С подвисает после перехода на SQL.
- Как получить управляемую форму экземпляра объекта?
- Перенос КД данных из КА 1.1 в БП 3.0
- Запрет изменения реквизита
- 1с Какую конфигурацию выбрать? (Услуги по спецоценке условий труда)
- 1с ERP специалист консультант по упр. учету. Производство
- Как работает OLE если сервер 1С Предприятия стоит на Линуксе?
- 8.3 Запрет редактирования на уровне реквизитов
- Сделать первую строку текущей в табличном поле.