Попытка чтения или записи в защищенную память | оглавление | Ошибка: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение |
2020-12-17T15:30:51+00:00
Такое сообщение означает, что разработчиками конфигурации допущена ошибка в модуле внешнего соединения, который выполняется при внешнем подключении к базе.
Если для вас доступна поддержка разработчиков этой конфигурации, тогда напишите им об этой ошибке.
При наличии этой ошибки ничего не остаётся кроме как зайти в свойства проблемной базы и установить галку «Для этой базы используется базовая платформа»: ссылка.
В этом случае обновлятор сможет работать с базой, потому что не будет предпринимать попытки подключения к ней.
Но из-за этого не будут автоматически выполняться обработчики обновления и будут недоступны некоторые операции обновлятора над базой.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Попытка чтения или записи в защищенную память | оглавление | Ошибка: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение |
Попытка чтения или записи в защищенную память | оглавление | Ошибка: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение |
2020-12-17T15:30:51+00:00
Такое сообщение означает, что разработчиками конфигурации допущена ошибка в модуле внешнего соединения, который выполняется при внешнем подключении к базе.
Если для вас доступна поддержка разработчиков этой конфигурации, тогда напишите им об этой ошибке.
При наличии этой ошибки ничего не остаётся кроме как зайти в свойства проблемной базы и установить галку «Для этой базы используется базовая платформа»: ссылка.
В этом случае обновлятор сможет работать с базой, потому что не будет предпринимать попытки подключения к ней.
Но из-за этого не будут автоматически выполняться обработчики обновления и будут недоступны некоторые операции обновлятора над базой.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Попытка чтения или записи в защищенную память | оглавление | Ошибка: подключение не установлено, т.к. конечный компьютер отверг запрос на подключение |
Добрый день!
Есть код в одном модуле менеджера одного документа:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура ЗаполнитьРасходныйДокумент(Источник, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт
ДанныеШапки = ДанныеШапкиДокумента( ДанныеЗаполнения.Ссылка );
РезультатыВыбора = ДанныеЗаполнения.РезультатыВыбора;
ЗаполняемыеРеквизиты = «Организация, Контрагент, Договор» + ?(
РезультатыВыбора.ВидДокумента = «РасходныйКассовыйОрдер», «», «, НазначениеПлатежа»
);
Источник.ФП_ДокументОснование = ДанныеЗаполнения.Ссылка;
ЗаполнитьЗначенияСвойств(Источник, РезультатыВыбора, «ИФО»);
ЗаполнитьЗначенияСвойств(Источник, ДанныеШапки, ЗаполняемыеРеквизиты);
Если ЗначениеЗаполнено(Источник.Контрагент) И РезультатыВыбора.ВидДокумента <> «РасходныйКассовыйОрдер» Тогда
Источник.СчетКонтрагента = Справочники.БанковскиеИКазначейскиеСчета.ПолучитьСчетПоУмолчанию(Источник.Контрагент, «Документ.» + РезультатыВыбора.ВидДокумента);
Если РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасходСокращенная» ИЛИ РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасход» Тогда
Документы[ РезультатыВыбора.ВидДокумента ].ЗаполнитьРеквизитыПолучателя(Источник);
Иначе
СозданиеНаОсновании_ПолучательПриИзмененииНаСервере(Источник);
КонецЕсли;
КонецЕсли;
СтруктураПоиска = Новый Структура;
Для каждого ключЗначение ИЗ РезультатыВыбора Цикл
Если КлючЗначение.Ключ = «ВидДокумента» ИЛИ КлючЗначение.Ключ = «РеквизитыЛицевогоСчета» тогда
Продолжить;
КонецЕсли;
СтруктураПоиска.Вставить( КлючЗначение.Ключ, КлючЗначение.Значение );
КонецЦикла;
ИсточникРасшифрокиПлатежа = ПолучитьИзВременногоХранилища( ДанныеЗаполнения.НесопоставленныеОстаткиАдрес );
ВыбранныеСтроки = ИсточникРасшифрокиПлатежа.НайтиСтроки( СтруктураПоиска );
ТаблицаДляЗаполнения = ИсточникРасшифрокиПлатежа.Скопировать(ВыбранныеСтроки);
ТаблицаДляЗаполнения.Свернуть(«КФО,КПС,КЭК,КодЦели,Мероприятие,ДопКлассификация»,»Сумма»);
ТаблицаДляЗаполнения.Сортировать(«КПС,КЭК»);
Источник.СуммаДокумента = ТаблицаДляЗаполнения.Итог(«Сумма»);
Если РезультатыВыбора.ВидДокумента <> «РасходныйКассовыйОрдер» Тогда
Источник.ЛицевойСчет = РезультатыВыбора.РеквизитыЛицевогоСчета.Владелец;
Если РезультатыВыбора.ВидДокумента <> «КассовоеВыбытие» Тогда
Источник.РеквизитыЛицевогоСчета = РезультатыВыбора.РеквизитыЛицевогоСчета;
СозданиеНаОсновании_ПриИзмененииЛицевогоСчетаНаСервере(Источник, РезультатыВыбора.ВидДокумента);
Если РезультатыВыбора.ВидДокумента <> «ПлатежноеПоручение» Тогда
Источник.ОрганКазначейства = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.РеквизитыЛицевогоСчета, «КассовыйОрган»);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасходСокращенная» Тогда
Источник.КФО = РезультатыВыбора.КФО;
Источник.КБКНазначениеПлатежа = РезультатыВыбора.КПС;
Источник.КОСГУНазначениеПлатежа = РезультатыВыбора.КЭК;
Источник.КодЦели = РезультатыВыбора.КодЦели;
Источник.КодМероприятия = РезультатыВыбора.Мероприятие;
Источник.ДопКлассификация = РезультатыВыбора.ДопКлассификация;
ДопустимыеИсточникиСредств = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеИсточникиСредств(Источник.ЛицевойСчет,Источник.КФО);
Если ДопустимыеИсточникиСредств.Количество() > 0 Тогда
Источник.ИсточникСредств = ДопустимыеИсточникиСредств[0];
КонецЕсли;
Иначе
ЗаполнятьВалюту = ( РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасход» ИЛИ РезультатыВыбора.ВидДокумента = «КассовоеВыбытие» );
Если ЗаполнятьВалюту Тогда
ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
КурсКратность = РаботаСКурсамиВалют.ПолучитьКурсВалюты(ВалютаДокумента, ДанныеШапки.Дата);
Источник.ВалютаДокумента = ВалютаДокумента;
Источник.Курс = КурсКратность.Курс;
Источник.Кратность = КурсКратность.Кратность;
Источник.СуммаДокументаВВалюте = Источник.СуммаДокумента;
КонецЕсли;
Источник.РасшифровкаПлатежа.Очистить();
Для Каждого СтрокаОснования Из ТаблицаДляЗаполнения Цикл
СтрРасшифровка = Источник.РасшифровкаПлатежа.Добавить();
СтрРасшифровка.КФО = СтрокаОснования.КФО;
Если РезультатыВыбора.ВидДокумента = «РасходныйКассовыйОрдер» Тогда
СтрРасшифровка.КПС = СтрокаОснования.КПС;
СтрРасшифровка.КЭК = СтрокаОснования.КЭК;
Иначе
СтрРасшифровка.КБКНазначениеПлатежа = СтрокаОснования.КПС;
СтрРасшифровка.КОСГУНазначениеПлатежа = СтрокаОснования.КЭК;
ДопустимыеИсточникиСредств = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеИсточникиСредств(Источник.ЛицевойСчет, СтрРасшифровка.КФО);
Если ДопустимыеИсточникиСредств.Количество() > 0 Тогда
СтрРасшифровка.ИсточникСредств = ДопустимыеИсточникиСредств[0];
КонецЕсли;
КонецЕсли;
СтрРасшифровка.КодЦели = СтрокаОснования.КодЦели;
СтрРасшифровка.КодМероприятия = СтрокаОснования.Мероприятие;
СтрРасшифровка.ДопКлассификация = СтрокаОснования.ДопКлассификация;
Если ЗаполнятьВалюту Тогда
СтрРасшифровка.СуммаВал = СтрокаОснования.Сумма;
КонецЕсли;
СтрРасшифровка.Сумма = СтрокаОснования.Сумма;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
//Заполняет реквизиты получателя
&НаСервере
Процедура СозданиеНаОсновании_ПолучательПриИзмененииНаСервере(Объект)
РеквизитыПолучателя = Новый Структура(«КонтрагентИНН, КонтрагентКПП, КонтрагентНаименование, КонтрагентБанковскийСчет, КонтрагентНаименованиеБанка, КонтрагентБИКБанка, КонтрагентКорСчетБанка»,
«ИНН», «КПП», «Корреспондент», «СчетНомер», «Банк», «БИК», «КоррСчет»);
ПлатежноРасчетныеДокументы.ПолучитьПлатежныеРеквизитыПоТребованиюБанка(Объект.СчетКонтрагента, Объект.СчетКонтрагента, РеквизитыПолучателя);
СтруктураРеквизитов = Новый Структура(«ТипЛицевогоСчета, Код»);
СтруктураРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.СчетКонтрагента, СтруктураРеквизитов);
Если СтруктураРеквизитов.ТипЛицевогоСчета = Перечисления.ТипыЛицевыхСчетов.Казначейский Тогда
РеквизитыПолучателя.Вставить(«КонтрагентЛицевойСчет»,СтруктураРеквизитов.Код);
Иначе
РеквизитыПолучателя.Вставить(«КонтрагентЛицевойСчет»,»»);
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, РеквизитыПолучателя);
КонецПроцедуры
#КонецЕсли
При стандартной проверке модуля (все галочки в настройках включены) ошибок не обнаружено.
При проверке конфигурации через Конфигурация — Проверка конфигурации с включенной галкой Внешнее соединение (клиент-сервер) выдается ошибка компиляции, якобы не найдена эта процедура (СозданиеНаОсновании_ПолучательПриИзмененииНаСервере)
Ведь весь модуль обернут в инструкцию предпроцессора «#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда»
Что может быть не так?
Содержание:
1. Диагностика ошибки инициализации модуля
2. Устранение ошибки инициализации модуля
В данной статье будет описано, как устранять ошибку в системе «1С:Предприятие», когда при обновлении типовой конфигурации появляется объявление вида «Ошибка инициализации модуля:EF_00_00ХХХХХ». Будет проведён анализ данной неполадки и приведены способы по её устранению.
1. Диагностика ошибки инициализации модуля
Данная ошибка довольно часто появляется у юзеров системы 1С, когда после обновления выдает ошибку и всплывает объявление об ошибке по инициализации модуля. Окно с данной неполадкой в системе 1С представлено на скриншоте далее:
Окно ошибки инициализации модуля
Появление окна с данной неполадкой означает то, что система 1С не имеет возможности автоматического удаления патча с правками. Данный патч с правками недавно был внесён в обновление системы и позволяет быстро определять возможные неполадки и править их.
Обычно, специфика патчей с правками подразумевает то, что эта система автономная и будет удалять всё лишнее самостоятельно, как только версия 1С будет обновлена. Однако, в реальности, случается иначе: автоматическое удаление может не срабатывать, обновление прерывается и возникает ошибка по инициализации модуля.
2. Устранение ошибки инициализации модуля
Рассмотрим алгоритм действий пользователя для устранения ошибки инициализации модуля. Очевидно, что необходимо провести удаления патча самостоятельно.
Для удаления патча вручную существует два метода:
1. Через режим «1С:Предприятие» в системе. Откроем вкладку в меню «Администрирование», после чего кликнем на «Обслуживание», перейдём на раздел «Обновление программы» и избираем «Установленные исправления(патчи)», как демонстрируется на скриншоте с примером ниже:
Установленные исправления в режиме 1С Предприятия в системе
Перед пользователем появится список патчей с правками, как показано далее:
Список патчей с правками и их удаление
Избираем тот патч, который подлежит удалению и кликаем «Удалить исправление».
Также можно запустить перечень со всеми правками, которые были установлены, при помощи кнопки «Все функции», переходим на «Стандартные», после чего избираем «Управление расширениями конфигурации», как показано на скриншоте далее:
Управление расширениями конфигурации
2. Удалить патчи через «1С 8 Конфигуратор». Чтобы провести данную процедуру, понадобится избрать пункт «Конфигурация» и перейти по ссылке «Расширения конфигурации». Появится новая вкладка с перечнем все расширений, которые были установлены, выбираем нужное и кликаем на «Удалить», как демонстрируется на скриншоте с примером ниже:
Удаление расширения в 1С 8 Конфигуратор
Оба способа являются рабочими и возобновляют корректную работу системы 1С, избавляя ошибки после установки обновления.
В данной статье была продиагностирована ошибка после обновления1С по инициализации модуля, а также было приведено два метода по устранению данной неполадки.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
1 |
|
1C 8.x Работать с двумя базами18.07.2016, 12:18. Показов 5365. Ответов 24
Добрый день! Можете подсказать реально реализовать работу одновременно с двумя базами? Есть основная база №1, пользователь с помощью обработки заносит данные, сохраняет и создается новый документ в базе №2. Так сказать при помощи обработки (которая находится в базе №1) мы подключаемся ко второй базе и работает с ней. Если такое реально можете показать пример.
__________________ 0 |
3051 / 1998 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
18.07.2016, 14:28 |
2 |
Ermak27, что за базы? какие конфигурации? 0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
18.07.2016, 14:49 [ТС] |
3 |
GreenkA, 0 |
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
18.07.2016, 15:15 |
4 |
Ermak27, ну если только через com-соединение 1 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
18.07.2016, 15:15 |
5 |
Сообщение было отмечено Ermak27 как решение Решение
Мне интересно можно ли сделать как я написал выше. Можно http://programmist1s.ru/podkly… -2-po-com/ 1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
19.07.2016, 10:46 [ТС] |
6 |
|||
Не могу подключиться
0 |
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
19.07.2016, 20:38 |
7 |
Убери попытку-исключение и посмотри какую ошибку выдает платформа. 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
19.07.2016, 20:41 |
8 |
|||
или хотя бы так
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 10:24 [ТС] |
9 |
Dethmontt, Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Ошибка инициализации модуля: МодульВнешнегоСоединения . Это что значит? 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
20.07.2016, 11:30 |
10 |
Это что значит? Что там фигня какая то написана…
МодульВнешнегоСоединения 0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 11:35 [ТС] |
11 |
Dethmontt, что это за модуль? Где мне искать его? Мне не понятно. Я работаю на платформе 8.3, почему проблема 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
20.07.2016, 12:44 |
12 |
Ermak27, в базе к которой ты подключаешься не компилируется МодульВнешнегоСоединения Добавлено через 13 секунд Добавлено через 49 секунд
Где мне искать его? ПКМ по конфигурации в дереве — МодульВнешнегоСоединения 1 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 14:55 [ТС] |
13 |
Dethmontt, В общих модулях такого нет. 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
20.07.2016, 16:52 |
14 |
В общих модулях такого нет. А где я выше написал про Общие модули ? 0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 17:19 [ТС] |
15 |
Dethmontt, я тогда не понимаю где искать ПКМ по конфигурации в дереве — МодульВнешнегоСоединения ? 0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
21.07.2016, 08:55 [ТС] |
17 |
Dethmontt, Спасибо. А какая процедура или функция должна быть в этом модуле чтобы не выдавала ошибки? У меня самописная конфигурация. 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
21.07.2016, 16:00 |
18 |
Ermak27, а что там вообще есть? Добавлено через 36 секунд 0 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
22.07.2016, 10:01 [ТС] |
19 |
|||
Dethmontt, То что есть в внешнем модуле
0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
27.07.2016, 14:55 |
20 |
Ermak27, У общих модулей стоят галки «Внешнее соединение» ? 0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
27.07.2016, 14:55 |
20 |
-
Приветствую, ребята. Столкнулся с такой проблемкой. Переходим на новую конфу БП 3.0, но она специфична — БНФО. Есть еще одна база из которой пытаюсь вытянуть данные путем COM-соединения.
Ошибка вылетает: Ошибка при вызове метода контекста (СоздатьДокумент), посмотрел по коду, отваливается на том месте, в котором происходит обращение к общему модулю (там только галка — Сервер) : Переменная не определена (КонтДвиженияПоНФО), вот как раз КонтДвиженияПоНФО — это общий модуль.
Подскажите пожалуйста, есть ли какая фича, чтобы при создании доков через COM-соединение, не происходило обращений ко всяким общим модулям и подпискам на события ? -
Offline
nbIpKuH_BaH9I
Модераторы
Команда форума
Модератор- Регистрация:
- 16 сен 2009
- Сообщения:
- 8.173
- Симпатии:
- 554
- Баллы:
- 204
Именно в момент создания? Или в момент записи?
-
По всей видимости в момент создания, т.к. ругается на Подключение.Документы.КонтСтраховойПолис.СоздатьДокумент();
-
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.900
- Симпатии:
- 1.035
- Баллы:
- 204
По всей видимости, должна быть какая-то экспортная процедура/функция, которая формирует документ в БД и которая доступна для COM-соединения.
-
Т.е. если модулю поставить Внешнее соединение, по сути должен модуль отрабатывать ?
— Объединение сообщений, 21 фев 2017 —
Вот полный текст ошибки:
Произошла исключительная ситуация (1C:Enterprise 8.3.9.1850): Ошибка инициализации модуля: Документ.КонтСтраховойПолис.МодульОбъекта
{Документ.КонтСтраховойПолис.МодульОбъекта(1949,3)}: Переменная не определена (КонтДвиженияПоНФО)Последнее редактирование: 21 фев 2017
-
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.900
- Симпатии:
- 1.035
- Баллы:
- 204
В первом приближении — да, должен отработать.
Ошибка инициализации модуля: EF_00_00XXXXX
После обновления у некоторых пользователей может возникнуть ошибка при запуске базы «Ошибка инициализации модуля: EF_00_00XXXXX. < … > Процедура или функция с указанным именем уже определена».
Сложность в том, что программа не может удалить ранее установленный патч с исправлениями.
Патч — это расширение программы, которое устраняет ошибки в ее работе. Под каждый релиз выпускаются определенные патчи. После перехода на другой релиз, предыдущие ошибки исправляются автоматически и патч теряет свою актуальность.
При обновлении базы ненужные патчи должны удаляться автоматически, но иногда механизм не срабатывает и тогда нам требуется вручную удалить проблемный патч.
Есть несколько способов, рассмотрим самые распространенные:
- в режиме 1С:Предприятия (если информационная база все же запускается, но ошибки возникают при определенных действиях);
- через Конфигуратор (если программа не запускается).
- Удаление патча в режиме 1С:Предприятие
Достаточно зайти в Администрирование выбрать пункт Обслуживание и в разделе Обновление программы перейти в Установленные исправления (патчи).
В открывшемся списке, находим нужный патч и нажимаем Удалить исправление.
- Отключение патча в режиме Конфигуратор
В главном меню выбираем Конфигурация > Расширения конфигурации (если этот пункт недоступен, то переходим Конфигурация > Открыть конфигурацию, и нужный пункт будет доступен). В списке установленных расширений снимаем галку в поле Активно и обязательно закрываем Конфигуратор
Данный вариант доступен только в программах 1С версии ПРОФ, базовые версии не имеют пункта «Расширения конфигурации».
Уже более 10 000 компаний работают
в облачной 1С от 42Clouds
— Консультация по 1С Бесплатно!
— Поддержка 24/7 по техническим вопросам: в чате, по телефону, по почте
— Все типовые конфигурации онлайн, доступ через RDP, Remote App, Web
Добрый день!
Есть код в одном модуле менеджера одного документа:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Процедура ЗаполнитьРасходныйДокумент(Источник, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт
ДанныеШапки = ДанныеШапкиДокумента( ДанныеЗаполнения.Ссылка );
РезультатыВыбора = ДанныеЗаполнения.РезультатыВыбора;
ЗаполняемыеРеквизиты = «Организация, Контрагент, Договор» + ?(
РезультатыВыбора.ВидДокумента = «РасходныйКассовыйОрдер», «», «, НазначениеПлатежа»
);
Источник.ФП_ДокументОснование = ДанныеЗаполнения.Ссылка;
ЗаполнитьЗначенияСвойств(Источник, РезультатыВыбора, «ИФО»);
ЗаполнитьЗначенияСвойств(Источник, ДанныеШапки, ЗаполняемыеРеквизиты);
Если ЗначениеЗаполнено(Источник.Контрагент) И РезультатыВыбора.ВидДокумента <> «РасходныйКассовыйОрдер» Тогда
Источник.СчетКонтрагента = Справочники.БанковскиеИКазначейскиеСчета.ПолучитьСчетПоУмолчанию(Источник.Контрагент, «Документ.» + РезультатыВыбора.ВидДокумента);
Если РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасходСокращенная» ИЛИ РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасход» Тогда
Документы[ РезультатыВыбора.ВидДокумента ].ЗаполнитьРеквизитыПолучателя(Источник);
Иначе
СозданиеНаОсновании_ПолучательПриИзмененииНаСервере(Источник);
КонецЕсли;
КонецЕсли;
СтруктураПоиска = Новый Структура;
Для каждого ключЗначение ИЗ РезультатыВыбора Цикл
Если КлючЗначение.Ключ = «ВидДокумента» ИЛИ КлючЗначение.Ключ = «РеквизитыЛицевогоСчета» тогда
Продолжить;
КонецЕсли;
СтруктураПоиска.Вставить( КлючЗначение.Ключ, КлючЗначение.Значение );
КонецЦикла;
ИсточникРасшифрокиПлатежа = ПолучитьИзВременногоХранилища( ДанныеЗаполнения.НесопоставленныеОстаткиАдрес );
ВыбранныеСтроки = ИсточникРасшифрокиПлатежа.НайтиСтроки( СтруктураПоиска );
ТаблицаДляЗаполнения = ИсточникРасшифрокиПлатежа.Скопировать(ВыбранныеСтроки);
ТаблицаДляЗаполнения.Свернуть(«КФО,КПС,КЭК,КодЦели,Мероприятие,ДопКлассификация»,»Сумма»);
ТаблицаДляЗаполнения.Сортировать(«КПС,КЭК»);
Источник.СуммаДокумента = ТаблицаДляЗаполнения.Итог(«Сумма»);
Если РезультатыВыбора.ВидДокумента <> «РасходныйКассовыйОрдер» Тогда
Источник.ЛицевойСчет = РезультатыВыбора.РеквизитыЛицевогоСчета.Владелец;
Если РезультатыВыбора.ВидДокумента <> «КассовоеВыбытие» Тогда
Источник.РеквизитыЛицевогоСчета = РезультатыВыбора.РеквизитыЛицевогоСчета;
СозданиеНаОсновании_ПриИзмененииЛицевогоСчетаНаСервере(Источник, РезультатыВыбора.ВидДокумента);
Если РезультатыВыбора.ВидДокумента <> «ПлатежноеПоручение» Тогда
Источник.ОрганКазначейства = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.РеквизитыЛицевогоСчета, «КассовыйОрган»);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасходСокращенная» Тогда
Источник.КФО = РезультатыВыбора.КФО;
Источник.КБКНазначениеПлатежа = РезультатыВыбора.КПС;
Источник.КОСГУНазначениеПлатежа = РезультатыВыбора.КЭК;
Источник.КодЦели = РезультатыВыбора.КодЦели;
Источник.КодМероприятия = РезультатыВыбора.Мероприятие;
Источник.ДопКлассификация = РезультатыВыбора.ДопКлассификация;
ДопустимыеИсточникиСредств = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеИсточникиСредств(Источник.ЛицевойСчет,Источник.КФО);
Если ДопустимыеИсточникиСредств.Количество() > 0 Тогда
Источник.ИсточникСредств = ДопустимыеИсточникиСредств[0];
КонецЕсли;
Иначе
ЗаполнятьВалюту = ( РезультатыВыбора.ВидДокумента = «ЗаявкаНаКассовыйРасход» ИЛИ РезультатыВыбора.ВидДокумента = «КассовоеВыбытие» );
Если ЗаполнятьВалюту Тогда
ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
КурсКратность = РаботаСКурсамиВалют.ПолучитьКурсВалюты(ВалютаДокумента, ДанныеШапки.Дата);
Источник.ВалютаДокумента = ВалютаДокумента;
Источник.Курс = КурсКратность.Курс;
Источник.Кратность = КурсКратность.Кратность;
Источник.СуммаДокументаВВалюте = Источник.СуммаДокумента;
КонецЕсли;
Источник.РасшифровкаПлатежа.Очистить();
Для Каждого СтрокаОснования Из ТаблицаДляЗаполнения Цикл
СтрРасшифровка = Источник.РасшифровкаПлатежа.Добавить();
СтрРасшифровка.КФО = СтрокаОснования.КФО;
Если РезультатыВыбора.ВидДокумента = «РасходныйКассовыйОрдер» Тогда
СтрРасшифровка.КПС = СтрокаОснования.КПС;
СтрРасшифровка.КЭК = СтрокаОснования.КЭК;
Иначе
СтрРасшифровка.КБКНазначениеПлатежа = СтрокаОснования.КПС;
СтрРасшифровка.КОСГУНазначениеПлатежа = СтрокаОснования.КЭК;
ДопустимыеИсточникиСредств = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеИсточникиСредств(Источник.ЛицевойСчет, СтрРасшифровка.КФО);
Если ДопустимыеИсточникиСредств.Количество() > 0 Тогда
СтрРасшифровка.ИсточникСредств = ДопустимыеИсточникиСредств[0];
КонецЕсли;
КонецЕсли;
СтрРасшифровка.КодЦели = СтрокаОснования.КодЦели;
СтрРасшифровка.КодМероприятия = СтрокаОснования.Мероприятие;
СтрРасшифровка.ДопКлассификация = СтрокаОснования.ДопКлассификация;
Если ЗаполнятьВалюту Тогда
СтрРасшифровка.СуммаВал = СтрокаОснования.Сумма;
КонецЕсли;
СтрРасшифровка.Сумма = СтрокаОснования.Сумма;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
//Заполняет реквизиты получателя
&НаСервере
Процедура СозданиеНаОсновании_ПолучательПриИзмененииНаСервере(Объект)
РеквизитыПолучателя = Новый Структура(«КонтрагентИНН, КонтрагентКПП, КонтрагентНаименование, КонтрагентБанковскийСчет, КонтрагентНаименованиеБанка, КонтрагентБИКБанка, КонтрагентКорСчетБанка»,
«ИНН», «КПП», «Корреспондент», «СчетНомер», «Банк», «БИК», «КоррСчет»);
ПлатежноРасчетныеДокументы.ПолучитьПлатежныеРеквизитыПоТребованиюБанка(Объект.СчетКонтрагента, Объект.СчетКонтрагента, РеквизитыПолучателя);
СтруктураРеквизитов = Новый Структура(«ТипЛицевогоСчета, Код»);
СтруктураРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.СчетКонтрагента, СтруктураРеквизитов);
Если СтруктураРеквизитов.ТипЛицевогоСчета = Перечисления.ТипыЛицевыхСчетов.Казначейский Тогда
РеквизитыПолучателя.Вставить(«КонтрагентЛицевойСчет»,СтруктураРеквизитов.Код);
Иначе
РеквизитыПолучателя.Вставить(«КонтрагентЛицевойСчет»,»»);
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, РеквизитыПолучателя);
КонецПроцедуры
#КонецЕсли
При стандартной проверке модуля (все галочки в настройках включены) ошибок не обнаружено.
При проверке конфигурации через Конфигурация — Проверка конфигурации с включенной галкой Внешнее соединение (клиент-сервер) выдается ошибка компиляции, якобы не найдена эта процедура (СозданиеНаОсновании_ПолучательПриИзмененииНаСервере)
Ведь весь модуль обернут в инструкцию предпроцессора «#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда»
Что может быть не так?
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
1 |
|
1C 8.x Работать с двумя базами18.07.2016, 12:18. Показов 5704. Ответов 24
Добрый день! Можете подсказать реально реализовать работу одновременно с двумя базами? Есть основная база №1, пользователь с помощью обработки заносит данные, сохраняет и создается новый документ в базе №2. Так сказать при помощи обработки (которая находится в базе №1) мы подключаемся ко второй базе и работает с ней. Если такое реально можете показать пример.
0 |
3052 / 1999 / 524 Регистрация: 25.06.2009 Сообщений: 6,964 |
|
18.07.2016, 14:28 |
2 |
Ermak27, что за базы? какие конфигурации?
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
18.07.2016, 14:49 [ТС] |
3 |
GreenkA,
0 |
434 / 305 / 92 Регистрация: 28.05.2014 Сообщений: 1,247 |
|
18.07.2016, 15:15 |
4 |
Ermak27, ну если только через com-соединение
1 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
18.07.2016, 15:15 |
5 |
Сообщение было отмечено Ermak27 как решение Решение
Мне интересно можно ли сделать как я написал выше. Можно http://programmist1s.ru/podkly… -2-po-com/
1 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
19.07.2016, 10:46 [ТС] |
6 |
|||
Не могу подключиться
0 |
841 / 604 / 211 Регистрация: 24.07.2013 Сообщений: 2,101 |
|
19.07.2016, 20:38 |
7 |
Убери попытку-исключение и посмотри какую ошибку выдает платформа.
0 |
Dethmontt Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
||||
19.07.2016, 20:41 |
8 |
|||
или хотя бы так
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 10:24 [ТС] |
9 |
Dethmontt, Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Ошибка инициализации модуля: МодульВнешнегоСоединения . Это что значит?
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
20.07.2016, 11:30 |
10 |
Это что значит? Что там фигня какая то написана…
МодульВнешнегоСоединения
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 11:35 [ТС] |
11 |
Dethmontt, что это за модуль? Где мне искать его? Мне не понятно. Я работаю на платформе 8.3, почему проблема
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
20.07.2016, 12:44 |
12 |
Ermak27, в базе к которой ты подключаешься не компилируется МодульВнешнегоСоединения Добавлено через 13 секунд Добавлено через 49 секунд
Где мне искать его? ПКМ по конфигурации в дереве — МодульВнешнегоСоединения
1 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 14:55 [ТС] |
13 |
Dethmontt, В общих модулях такого нет.
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
20.07.2016, 16:52 |
14 |
В общих модулях такого нет. А где я выше написал про Общие модули ?
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
20.07.2016, 17:19 [ТС] |
15 |
Dethmontt, я тогда не понимаю где искать ПКМ по конфигурации в дереве — МодульВнешнегоСоединения ?
0 |
4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
|
21.07.2016, 08:55 [ТС] |
17 |
Dethmontt, Спасибо. А какая процедура или функция должна быть в этом модуле чтобы не выдавала ошибки? У меня самописная конфигурация.
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
21.07.2016, 16:00 |
18 |
Ermak27, а что там вообще есть? Добавлено через 36 секунд
0 |
Ermak27 4 / 4 / 0 Регистрация: 16.01.2013 Сообщений: 1,228 |
||||
22.07.2016, 10:01 [ТС] |
19 |
|||
Dethmontt, То что есть в внешнем модуле
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
27.07.2016, 14:55 |
20 |
Ermak27, У общих модулей стоят галки «Внешнее соединение» ?
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
27.07.2016, 14:55 |
20 |
-
Приветствую, ребята. Столкнулся с такой проблемкой. Переходим на новую конфу БП 3.0, но она специфична — БНФО. Есть еще одна база из которой пытаюсь вытянуть данные путем COM-соединения.
Ошибка вылетает: Ошибка при вызове метода контекста (СоздатьДокумент), посмотрел по коду, отваливается на том месте, в котором происходит обращение к общему модулю (там только галка — Сервер) : Переменная не определена (КонтДвиженияПоНФО), вот как раз КонтДвиженияПоНФО — это общий модуль.
Подскажите пожалуйста, есть ли какая фича, чтобы при создании доков через COM-соединение, не происходило обращений ко всяким общим модулям и подпискам на события ? -
Offline
nbIpKuH_BaH9I
Модераторы
Команда форума
Модератор- Регистрация:
- 16 сен 2009
- Сообщения:
- 8.173
- Симпатии:
- 554
- Баллы:
- 204
Именно в момент создания? Или в момент записи?
-
По всей видимости в момент создания, т.к. ругается на Подключение.Документы.КонтСтраховойПолис.СоздатьДокумент();
-
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.900
- Симпатии:
- 1.035
- Баллы:
- 204
По всей видимости, должна быть какая-то экспортная процедура/функция, которая формирует документ в БД и которая доступна для COM-соединения.
-
Т.е. если модулю поставить Внешнее соединение, по сути должен модуль отрабатывать ?
— Объединение сообщений, 21 фев 2017 —
Вот полный текст ошибки:
Произошла исключительная ситуация (1C:Enterprise 8.3.9.1850): Ошибка инициализации модуля: Документ.КонтСтраховойПолис.МодульОбъекта
{Документ.КонтСтраховойПолис.МодульОбъекта(1949,3)}: Переменная не определена (КонтДвиженияПоНФО)Последнее редактирование: 21 фев 2017 -
Offline
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.900
- Симпатии:
- 1.035
- Баллы:
- 204
В первом приближении — да, должен отработать.