|
БСП 2.3.1.84 - при внедрении ошибки прут | ☑ | ||
---|---|---|---|---|
0
EvgeniuXP
12.10.15
✎
20:41
|
Читаю вот ИСТ, там написано: "Шаг 1. В открывшемся окне сравнения и объединения конфигураций снять все флажки и отметить переносимые объекты с помощью команды Действия – Отметить по подсистемам конфигурации поставщика." - вот нет такого меню "отменить по подсистемам поставщика", спецы 1С пишут :), исправить сложно.
ПроблемыЖ 1. Когда переношу модуль сеанса и модуль управляемого приложения - запускаю 1С под админом - вываливается ошибка на вызов второй процедуры в модуле сеанса :( 2. Если ее закомментарить, запускаю 1С - вываливается ошибка при обновлении - какие-то не указаны параметры конфигурации... как исправить-то? |
|||
1
EvgeniuXP
12.10.15
✎
20:43
|
переносил только базовый функционал без дополнительных подсистем, сервисы тоже не трогал.
|
|||
2
EvgeniuXP
12.10.15
✎
20:44
|
в модуле сеанса ругается вот на это:
// ТехнологияСервиса ТехнологияСервиса.ВыполнитьДействияПриУстановкеПараметровСеанса(ИменаПараметровСеанса); // Конец ТехнологияСервиса |
|||
3
EvgeniuXP
12.10.15
✎
20:46
|
помощника я как понимаю уже не нужно запускать - т.к. ничего не удаляет - пишет 0 удаленных. В отличии от версии 2.1.х.36
|
|||
4
EvgeniuXP
12.10.15
✎
20:49
|
вторая ошибка: "не заданы сведения об основной конфигурации", см. процедуру ПриДобавленииПодсистем общего модуля ПодсистемыКонфигурацииПереопределяемый.
|
|||
5
tixis
12.10.15
✎
20:50
|
http://i017.radikal.ru/1510/86/ed067824fd0f.png отметить по подсистемам
|
|||
6
tixis
12.10.15
✎
20:52
|
(4) нужна своя процедура (например ОбновлениеИБ) , ее название прописать в
Процедура ПриДобавленииПодсистем(МодулиПодсистем) Экспорт МодулиПодсистем.Добавить("ОбновлениеИБ"); КонецПроцедуры |
|||
7
EvgeniuXP
12.10.15
✎
20:52
|
(5) это я сделал, "из файла" указал, обновил, "продолжить" нажал - ошибки идут...
|
|||
8
EvgeniuXP
12.10.15
✎
20:53
|
(6) это тоже пробовал... щас еще раз повторю у себя дома - напишу какие еще идут ошибки...
|
|||
9
tixis
12.10.15
✎
20:54
|
(7)я тебе написал что сделать надо
|
|||
10
tixis
12.10.15
✎
20:55
|
Для твоей процедуры ОбновлениеИб, ну или ка ты там ее назовешь надо в модуле встаить обработчики, например из процедуры демо конфигурации _ДемоОбновлениеИнформационнойБазыБСП то что заключено в область программный инерфейс
|
|||
11
tixis
12.10.15
✎
20:55
|
Текст обработчиков надо закоментить но сами процедуры должны быть
|
|||
12
tixis
12.10.15
✎
20:56
|
(0)1. Когда переношу модуль сеанса и модуль управляемого приложения - запускаю 1С под админом - вываливается ошибка на вызов второй процедуры в модуле сеанса :(
какой процедуры? |
|||
13
EvgeniuXP
12.10.15
✎
20:58
|
(12) см. (2) - жалуется нет общего модуля ТехнологияСервиса
|
|||
14
tixis
12.10.15
✎
21:01
|
(13) а ты внедрял подсисему // ТехнологияСервиса? вроде как нет, так она тебе и не нужна
|
|||
15
EvgeniuXP
12.10.15
✎
21:02
|
нет, вот и закомментарил ее вручную. Думаю вдруг не правильно сделал сам.
|
|||
16
EvgeniuXP
12.10.15
✎
21:02
|
общий модуль добавил, лезут еще:
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(592)}: Метод объекта не обнаружен (ПриОпределенииРежимаОбновленияДанных) Модуль.ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка) |
|||
17
EvgeniuXP
12.10.15
✎
21:03
|
(+15)
Процедура ПриДобавленииПодсистем(МодулиПодсистем) Экспорт МодулиПодсистем.Добавить("ОбновлениеИБ"); КонецПроцедуры |
|||
18
EvgeniuXP
12.10.15
✎
21:04
|
сам модуль ОбновлениеИБ:
//////////////////////////////////////////////////////////////////////////////// // Обновление информационной базы библиотеки СтандартныеПодсистемы (БСП). // //////////////////////////////////////////////////////////////////////////////// #Область ПрограммныйИнтерфейс //////////////////////////////////////////////////////////////////////////////// // Сведения о библиотеке (или конфигурации). // Заполняет основные сведения о библиотеке или основной конфигурации. // Библиотека, имя которой имя совпадает с именем конфигурации в метаданных, определяется как основная конфигурация. // // Параметры: // Описание - Структура - сведения о библиотеке: // // * Имя - Строка - имя библиотеки, например, "СтандартныеПодсистемы". // * Версия - Строка - версия в формате из 4-х цифр, например, "2.1.3.1". // // * ТребуемыеПодсистемы - Массив - имена других библиотек (Строка), от которых зависит данная библиотека. // Обработчики обновления таких библиотек должны быть вызваны ранее // обработчиков обновления данной библиотеки. // При циклических зависимостях или, напротив, отсутствии каких-либо зависимостей, // порядок вызова обработчиков обновления определяется порядком добавления модулей // в процедуре ПриДобавленииПодсистем общего модуля // ПодсистемыКонфигурацииПереопределяемый. // Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "Конфигурация"; Описание.Версия = "1.0.0.0"; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // Обработчики обновления информационной базы. // Добавляет в список процедуры-обработчики обновления данных ИБ // для всех поддерживаемых версий библиотеки или конфигурации. // Вызывается перед началом обновления данных ИБ для построения плана обновления. // // Обработчики - ТаблицаЗначений - описание полей, см. в процедуре. // ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления. // // Пример добавления процедуры-обработчика в список: // Обработчик = Обработчики.Добавить(); // Обработчик.Версия = "1.1.0.0"; // Обработчик.Процедура = "ОбновлениеИБ.ПерейтиНаВерсию_1_1_0_0"; // Обработчик.РежимВыполнения = "Монопольно"; // Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт // Обработчики этого события для подсистем БСП добавляются через подписку на служебное событие: // "СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПриДобавленииОбработчиковОбновления". // // Процедуры обработки этого события всех подсистем БСП имеют то же имя, что и эта процедура, // но размещены в своих подсистемах. // Чтобы найти процедуры можно выполнить глобальный поиск по имени процедуры. // Чтобы найти модули в которых размещены процедуры, можно выполнить поиск по имени события. ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( "СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПриДобавленииОбработчиковОбновления"); Для каждого Обработчик Из ОбработчикиСобытия Цикл Если Обработчик.Подсистема <> "СтандартныеПодсистемы" Тогда Продолжить; КонецЕсли; Обработчик.Модуль.ПриДобавленииОбработчиковОбновления(Обработчики); КонецЦикла; КонецПроцедуры // Вызывается перед процедурами-обработчиками обновления данных ИБ. // Процедура ПередОбновлениемИнформационнойБазы() Экспорт // Обработчики этого события для подсистем БСП добавляются через подписку на служебное событие: // "СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПередОбновлениемИнформационнойБазы". // // Процедуры обработки этого события всех подсистем БСП имеют то же имя, что и эта процедура, // но размещены в своих подсистемах. // Чтобы найти процедуры можно выполнить глобальный поиск по имени процедуры. // Чтобы найти модули в которых размещены процедуры, можно выполнить поиск по имени события. ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( "СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПередОбновлениемИнформационнойБазы"); Для каждого Обработчик Из ОбработчикиСобытия Цикл Если Обработчик.Подсистема <> "СтандартныеПодсистемы" Тогда Продолжить; КонецЕсли; Обработчик.Модуль.ПередОбновлениемИнформационнойБазы(); КонецЦикла; КонецПроцедуры // Вызывается после завершения обновления данных ИБ. // // Параметры: // ПредыдущаяВерсия - Строка - версия до обновления. "0.0.0.0" для "пустой" ИБ. // ТекущаяВерсия - Строка - версия после обновления. // ВыполненныеОбработчики - ДеревоЗначений - список выполненных процедур-обработчиков обновления, // сгруппированных по номеру версии. // ВыводитьОписаниеОбновлений - Булево - если установить Истина, то будет выведена форма // с описанием обновлений. По умолчанию, Истина. // Возвращаемое значение. // МонопольныйРежим - Булево - Истина, если обновление выполнялось в монопольном режиме. // // Пример обхода выполненных обработчиков обновления: // // Для Каждого Версия Из ВыполненныеОбработчики.Строки Цикл // // Если Версия.Версия = "*" Тогда // // Обработчик, который может выполнятся при каждой смене версии. // Иначе // // Обработчик, который выполняется для определенной версии. // КонецЕсли; // // Для Каждого Обработчик Из Версия.Строки Цикл // ... // КонецЦикла; // // КонецЦикла; // Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсия, Знач ТекущаяВерсия, Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, МонопольныйРежим) Экспорт // Вызываем процедуры-обработчики служебного события "ПослеОбновленияИнформационнойБазы". // (Для быстрого перехода к процедурам-обработчикам выполнить глобальный поиск по имени события.). ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( "СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПослеОбновленияИнформационнойБазы"); Для каждого Обработчик Из ОбработчикиСобытия Цикл Если Обработчик.Подсистема <> "СтандартныеПодсистемы" Тогда Продолжить; КонецЕсли; Обработчик.Модуль.ПослеОбновленияИнформационнойБазы(ПредыдущаяВерсия, ТекущаяВерсия, ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, МонопольныйРежим); КонецЦикла; КонецПроцедуры // Вызывается при подготовке табличного документа с описанием изменений в программе. // // Параметры: // Макет - ТабличныйДокумент - описание обновления всех библиотек и конфигурации. // Макет можно дополнить или заменить. // См. также общий макет ОписаниеИзмененийСистемы. // Процедура ПриПодготовкеМакетаОписанияОбновлений(Знач Макет) Экспорт КонецПроцедуры #КонецОбласти |
|||
19
tixis
12.10.15
✎
21:07
|
закоменть все внутри процдур, кроме
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "Конфигурация"; Описание.Версия = "1.0.0.0"; КонецПроцедуры и здесь я бы написал Описание.Имя = Метаданные.Имя; Описание.Версия = Метаданные.Версия; хотя 1с так не рекомендуют |
|||
20
tixis
12.10.15
✎
21:07
|
а сами процедуры оставь
|
|||
21
EvgeniuXP
12.10.15
✎
21:11
|
(19) сделал, как рекомендовал, ошибка та же:
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(592)}: Метод объекта не обнаружен (ПриОпределенииРежимаОбновленияДанных) Модуль.ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка); |
|||
22
EvgeniuXP
12.10.15
✎
21:13
|
целый день бьюсь - вот эти три ошибки и получаются.
|
|||
23
tixis
12.10.15
✎
21:18
|
стек вызовов и откуда вызывается данная процедура?
|
|||
24
tixis
12.10.15
✎
21:21
|
что то напутал я так пониманимаю. У твоей процедуры обновление иб какие галочки стоят?
|
|||
25
EvgeniuXP
12.10.15
✎
21:22
|
серве, вызов сервера
|
|||
26
EvgeniuXP
12.10.15
✎
21:23
|
(25) не правильно
сервер, внешнее соединение |
|||
27
tixis
12.10.15
✎
21:23
|
а это процедура хоть и пустая есть в моддуле ОБновлениеИБ?
|
|||
28
EvgeniuXP
12.10.15
✎
21:27
|
||||
29
tixis
12.10.15
✎
21:28
|
странно ,у меня версия 2.3.1.81, там идут еще процедуры:
// Позволяет переопределить режим обновления данных информационной базы. // Для использования в редких (нештатных) случаях перехода, не предусмотренных в // стандартной процедуре определения режима обновления. // // Параметры: // РежимОбновленияДанных - Строка - в обработчике можно присвоить одно из значений: // "НачальноеЗаполнение" - если это первый запуск пустой базы (области данных); // "ОбновлениеВерсии" - если выполняется первый запуск после обновление конфигурации базы данных; // "ПереходСДругойПрограммы" - если выполняется первый запуск после обновление конфигурации базы данных, // в которой изменилось имя основной конфигурации. // // СтандартнаяОбработка - Булево - если присвоить Ложь, то стандартная процедура // определения режима обновления не выполняется, // а используется значение РежимОбновленияДанных. // Процедура ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка) Экспорт КонецПроцедуры // Добавляет в список процедуры-обработчики перехода с другой программы (с другим именем конфигурации). // Например, для перехода между разными, но родственными конфигурациями: базовая -> проф -> корп. // Вызывается перед началом обновления данных ИБ. // // Параметры: // Обработчики - ТаблицаЗначений - с колонками: // * ПредыдущееИмяКонфигурации - Строка - имя конфигурации, с которой выполняется переход; // или "*", если нужно выполнять при переходе с любой конфигурации. // * Процедура - Строка - полное имя процедуры-обработчика перехода с программы // ПредыдущееИмяКонфигурации. // Например, "ОбновлениеИнформационнойБазыУПП.ЗаполнитьУчетнуюПолитику" // Обязательно должна быть экспортной. // // Пример добавления процедуры-обработчика в список: // Обработчик = Обработчики.Добавить(); // Обработчик.ПредыдущееИмяКонфигурации = "УправлениеТорговлей"; // Обработчик.Процедура = "ОбновлениеИнформационнойБазыУПП.ЗаполнитьУчетнуюПолитику"; // Процедура ПриДобавленииОбработчиковПереходаСДругойПрограммы(Обработчики) Экспорт //Обработчик = Обработчики.Добавить(); //Обработчик.ПредыдущееИмяКонфигурации = "БиблиотекаСтандартныхПодсистемДемоБазовая"; //Обработчик.Процедура = "_ДемоОбновлениеИнформационнойБазыБСП.ПерейтиСБазовойВерсииНаПРОФ"; КонецПроцедуры // Вызывается после выполнения всех процедур-обработчиков перехода с другой программы (с другим именем конфигурации), // и до начала выполнения обновления данных ИБ. // // Параметры: // ПредыдущееИмяКонфигурации - Строка - имя конфигурации до перехода. // ПредыдущаяВерсияКонфигурации - Строка - имя предыдущей конфигурации (до перехода). // Параметры - Структура - // * ВыполнитьОбновлениеСВерсии - Булево - по умолчанию Истина. Если установить Ложь, // то будут выполнена только обязательные обработчики обновления (с версией "*"). // * ВерсияКонфигурации - Строка - номер версии после перехода. // По умолчанию, равен значению версии конфигурации в свойствах метаданных. // Для того чтобы выполнить, например, все обработчики обновления с версии ПредыдущаяВерсияКонфигурации, // следует установить значение параметра в ПредыдущаяВерсияКонфигурации. // Для того чтобы выполнить вообще все обработчики обновления, установить значение "0.0.0.1". // * ОчиститьСведенияОПредыдущейКонфигурации - Булево - по умолчанию Истина. // Для случаев когда предыдущая конфигурация совпадает по имени с подсистемой текущей конфигурации, следует // указать Ложь. // Процедура ПриЗавершенииПереходаСДругойПрограммы(Знач ПредыдущееИмяКонфигурации, Знач ПредыдущаяВерсияКонфигурации, Параметры) Экспорт //Если ПредыдущееИмяКонфигурации = "ПредыдущееИмяКонфигурацииБазовая" Тогда // Параметры.ВерсияКонфигурации = ПредыдущаяВерсияКонфигурации; //КонецЕсли; КонецПроцедуры #КонецОбласти |
|||
30
tixis
12.10.15
✎
21:30
|
скопируй этот кусок к себе и пробуй
|
|||
31
tixis
12.10.15
✎
21:32
|
емае, я же говорил надо из демо брать, а не из цф конфы
|
|||
32
tixis
12.10.15
✎
21:34
|
(31) это к (28)
|
|||
33
EvgeniuXP
12.10.15
✎
21:39
|
(31) УРА! получилось! Спасибо ГРОМАДНОЕ!
|
|||
34
tixis
12.10.15
✎
21:40
|
(33) на будущее, смотри в демо, а не в цф конфы, там много чего есть
|
|||
35
EvgeniuXP
12.10.15
✎
21:54
|
(34) там не понятно какие комментарить надо процедуры :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |