Имя: Пароль:
1C
 
БСП 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
https://yadi.sk/d/YIPJSd1EjgsVg

нет, ее в _демо не было
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) там не понятно какие комментарить надо процедуры :)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший