#0
by Volkoff
Господа, проблема следующая: Имеется: COM - соединение двух восьмерок. Пытаюсь: Из одной восьмерки создать в другой документ. Все просто: Проблема: Во второй восьмерке("База") в модуле документа "Прием" есть предопределенная процедура "ПередЗаписью", в этой процедуре используются глобальные процедуры и функции "Базы"(они там проверяют реквизиты на корректность). При выполнении метода "СоздатьДокумент" первая восьмерка ругается, что такие-то переменные не определены, т.к. при выполнении процедуры "СоздатьДокумент" автоматом выполняется процедура "ПередЗаписью". Что делать??? Я цлый день мучаюсь. Ладно, понятно, если бы "ПередЗаписью" вызывалась методом "Записать", дык какого Х.. она выполняется при "СоздатьДокумент"? Помогите, плз. Может есть какие способы обхода?
#3
by Volkoff
З.Ы. Во второй восьмерке ("База") я не имею права менять ни одной строчки. Она находится на поддержке...
#4
by Волшебник
при вызове метода СоздатьДокумент процедура ПередЗаписью не выполняется, но модуль объекта, содержащий эту процедуру в том числе, компилируется
#5
by Vozhd
Скорее всего платформа не может скомпилировать модуль объекта. Правильно настроенные параметры синтаксического контроля покажут возможные ошибки.
#6
by vde69
Создай копию модуля где описаны глобальные процедуры и функции "Базы" удали все лишнее, дай ему права работать с сом соединением
#7
by Volkoff
2Волшебник Я и сам думал, что не выполняется... но факт остается фактом. И это и есть проблема! Приведенный выше код работает без проблем если я комментирую содержание процедуры "ПередЗаписью" конфы "База" (т.к. никакой проверки не выполняется и все эти гл_переменные не используются), но этого делать никак нельзя! Сдача работы завтра! Завал...
#9
by Волшебник
"Сдача работы завтра!", а автор еще не разобрался с режимом работы восьмерки "COM-соединение", наверняка не знает про директивы препроцессора и флажки общих модулей. Стыдись, Белое перо...
#10
by Volkoff
Мне стыдиться нечего абсолютно, т.к. восьмерка - побочное производство :) Основным дя меня (на данный момент) явл. php, а так-же реализация нейросетей.. А про директивы и флажки буду читать :) Спасибо.
#11
by Volkoff
А толку от директив препроцессора и от флажка "внешнее соединение" в свойствах общего модуля, если я не могу менять конфигурацию "База" вообще??? Вопрос был следующий: Как сделать так, чтоб не проверялась процедра "ПередЗаписью" при вызове метода "СоздатьДокумент"?
#12
by vde69
можно так, но помоему это не правильно:) #Если не ВнешнееСоединение Тогда ПередЗаписью КонецПроцедуры #КонецЕсли
#13
by Волшебник
Может быть присоединишься к доработке движка форума? он написан на PHP? или подключим нейросети к форуму, например, для более качественных ответов ТелепатБота?
#14
by Volkoff
Как только будет свободное время можно горы свернуть :) А нейросети, я думаю, сюда не стоит (не оправданно), если есть желание впихнуть какую-нить интеллектуальную систему для обработки сообщений, то продуманная продукциаонная модель ИС вполне прокатит... Движок форума, по всему видно - самописный (дырявость публичных скриптов пугает?! :) ), его, конечно, можно вылизать до блеска, как всегда - вопрос в цене :) -----------------лирика------------------------------- Меня же на данный момент волнует вопрос: Есть ли возможность обойти компиляцию модуля документа "Базы", при вызове метода "СоздатьДокумент" из присоединенной конфигурации, НЕ МЕНЯЯ НИ СТРОЧКИ в "Базе"??? (Сколько недокументированных проблем с 1с было - все решил, а вот эта, что-то запала...)
#15
by Волшебник
Тебе нужно исправить ошибки в той базе, к которой ты подключаешься. Дело это благородное, потому я тебя благословляю на это. Как включить возможность изменения, ты прочитаешь здесь: ;
#16
by Vozhd
"Есть ли возможность обойти компиляцию модуля документа "Базы", при вызове метода "СоздатьДокумент"" - пять баллов. Можно ли запустить не скомпилированную программу?
#17
by vde69
смотри совет 12, а неправильно это не по тому, что работать не будет а по тому, что при записи ты отключишь всю стандарную обработку
#18
by Volkoff
2Волшебник. Я с 1с8 работаю уже около двух лет :) Не много, но и не мало :) Пару недель назад просто получил задание объеденить две конфы - одна типовая УП (перелопаченная мной вдоль и поперек), а другая - Каминовский Расчет Зарплаты (менять я ее не могу, даже с таким благословением :)) (решил все сделать по старому доброму COM - интерфейсу), справочники и регистры объеденились как по маслу (эх, блинчиков бы щас), а вот с документами накладочка получается... В Камине, при записи документа в обработке "При Записи" проверяется заполнен ли реквизит "Фирма", если нет, то реквизиту присваивается значение глобальной переменной "гл_Фирма", которая определяется при начале работы системы (значение берет из константы "ОсновнаяФирма"). Так вот нафига компилировать и соответсвенно проверять на существование реквизит документа, который еще не задан, и выдавать мне ошибку, что переменная "гл_Фирма" не определена???
#19
by Volkoff
2Vozhd, ну не правильно выразился, не расстреливать же за это, хотя примнинительно к конфигурациям 1с - "компилиция" весьма противоречивое обзывательство... ИМХО (Можно Си или Дельфи по ОЛЕ подрубить к 1с-ке, посылать текстом команды на встроенном языке 1С и они, с некоторыми ограничениями, во время работы конфигурации будут выполнятся - компиляцией тут и не пахнет... обычное выполнение платформой стандартных функций) 2vde69 Все понятно, но при записи, в последствии, стандартная обработка ой как понадобится! Может есть возможность объявить из подключенной конфы переменные и функции "Базы"??? Сделать например их пустыми, и фиг с ним... но чей-то NewObject мне как-то мало помог...
#20
by Volkoff
Впорос: Можно ли из подключенной конфигурации объявлять функции и переменные конфигурации - сервера COM соединения (той к которой было произведено подключение)???
#21
by Vozhd
Ну почему люди не читают документацию? Вы создаете объект. У объекта есть определенный программный код, который необходимо скомпилировать при создании объекта. Если его не компилировать, то с объектом нельзя будет работать. В программном коде объекта синтаксическая ОШИБКА! Из-за этого код объекта не компилируется. Обойти это можно только одним сопособом - ИСПРАВИТЬ синтаксическую ошибку.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- COM соединение и ПолучитьОбъект() обошли ли проблему?
- v8: COM соединение к v8, не могу получить доступ к методом модуля внешних с
- Com соединение. Как указать пользователя
- Com соединение
- Соединение 8.3 и 8.2 через COM соединение.....
- Передача Enumeration (VB) через 1c (8.2) (COM Соединение)
- Выполнить макрос Excel через COM соединение.
- DELPHI + COM +1c 8.3. Не завершается COM. Помогите.
- Подключение к базе через COM соединение
- Почему этот запрос в консоли задач выполняется правильно, а в СКД - неправильно?
В этой группе 1С
- Изменение приходного документа делает минус на складе
- Таблица значений в качестве источника данных для запроса
- Итак, PostgreSQL, тонкий клиент и несколько серверов приложений в 8.1
- Вот написал о эволюции кода 1С - в порядке бреда. Высказывайтесь.
- ЗУП Почему при формировании очетов программа зависает напрочь?
- Как программно добавить реквизит?
- Установить тип значения для колонки дерева значений
- Как в Камине 2.0 выгрузить 2-НДФЛ в файл?
- Оформление дерева значений
- Изменение времени открытого непроведенного документа
- Количественно-суммовой учет
- Восстановить ссылку
- Ошибка при проведения поступления товаров и услуг
- ScanOPOS.dll При регистрации выдает ошибку LoadLibrary
- ХранилищеДополнительнойИнформации
- Как получить реквизит из табличной части документа?
- ТиС и неликвиды
- v.77 ТиС - Запрос Регистр.Касса не получ.осущ. выборку по реквизиту ?
- ЗиК НДФЛ
- группировка