|
Не удалось выполнить обновление ЗУП 3.0 | ☑ | ||
---|---|---|---|---|
0
Dzhart
10.08.16
✎
18:07
|
Приветствую, друзья!
Уже пару дней бодаюсь с косяком не могу понять, в чем же дело. После очередного обновления на 3.0.43.257 стала лезть ошибка обновления информационной базы уже в режиме предприятия. Текст такой: {ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(3962)}: Преобразование значения к типу Число не может быть выполнено ПортКластера = Число(Сред(ИмяСервера, РазделительПорта + 1)); Проблема в том, что ИмяСервера, которая получается посредством обрезания строки из функции СтрокаСоединенияИнформационнойБазы(), содержит вначале конструкцию "TCP://" (пример: "TCP://1C-SERV:1541"), из-за чего 1с и не может преобразовать имя сервера в числа, поскольку в коде: "Процедура ПрочитатьПараметрыИзСтрокиСоединения(СтруктураПараметровАдминистрирования) ПодстрокиСтрокиСоединения = СтрРазделить(СтрокаСоединенияИнформационнойБазы(), ";"); СтрокаИмениСервера = СтроковыеФункцииКлиентСервер.СократитьДвойныеКавычки(Сред(ПодстрокиСтрокиСоединения[0], 7)); СтруктураПараметровАдминистрирования.ИмяВКластере = СтроковыеФункцииКлиентСервер.СократитьДвойныеКавычки(Сред(ПодстрокиСтрокиСоединения[1], 6)); СписокСерверовКластера = СтрРазделить(СтрокаИмениСервера, ","); ИмяСервера = СписокСерверовКластера[0]; РазделительПорта = СтрНайти(ИмяСервера, ":"); Если РазделительПорта > 0 Тогда АдресАгентаСервера = Сред(ИмяСервера, 1, РазделительПорта - 1); ПортКластера = Число(Сред(ИмяСервера, РазделительПорта + 1)); Если СтруктураПараметровАдминистрирования.ПортКластера = 1541 Тогда СтруктураПараметровАдминистрирования.ПортКластера = ПортКластера; КонецЕсли; Иначе АдресАгентаСервера = ИмяСервера; КонецЕсли; СтруктураПараметровАдминистрирования.АдресАгентаСервера = АдресАгентаСервера; КонецПроцедуры" он ищет двоеточие, чтобы отрезать лишнее и выделить порт, но, к сожалению, он находит двоеточие раньше. Проверил на таком же релизе другие базы. В них всё ок, адрес кластера отображается без этой злое... конструкции. Соответственно, спокойно можно преобразовать строку в число. Единственная разница в том, что база, в которой проблема, находится на другом сервере. Хотел бы узнать у Вас, друзья, может ли это быть как-то связано? Если нет, то как быть в целом? Два дня уже бодаюсь. Тупик. |
|||
1
Мыш
10.08.16
✎
19:25
|
СтрЗаменить(СтрокаСоединенияИнформационнойБазы(),"TCP://","")
|
|||
2
shuhard
10.08.16
✎
20:34
|
(0) дружок, найди того, что воткнул цифру в имя сервера 1С и оторви ему всё важное
|
|||
3
Dzhart
11.08.16
✎
09:19
|
(1) Конфигурация типовая, нельзя врезаться в код. (2) Проблема не в этом. Я написал же, что логика такая: ищется двоеточие в имени сервера для того, чтобы обрезать всё до этого двоеточия и выделить порт. Но двоеточие встречается намного раньше, поскольку впереди имени сервера стоит "TCP://". Поэтому и вопрос: откуда возникает это TCP:// и как его убрать из имени сервера
P.S. Если отдельной обработкой в режиме предприятия вызвать функцию "СтрокаСоединенияИнформационнойБазы()", то имя сервера получается в нормальном виде без "TCP://" |
|||
4
Amra
11.08.16
✎
09:28
|
ЗУП 3.0.43? Такой нет и не будет
|
|||
5
Dzhart
11.08.16
✎
09:34
|
(4) да, косяк, имел ввиду БП. Но на проблему никакого влияния не оказывает. Есть идеи по существу?
|
|||
6
Горогуля
11.08.16
✎
09:42
|
поломай чуток кода, будь мыжиком
|
|||
7
Dzhart
11.08.16
✎
09:47
|
(6) не
|
|||
8
Мыш
11.08.16
✎
09:58
|
(3) > Конфигурация типовая, нельзя врезаться в код.
За два (три) дня уже успел бы сделать такой финт: - поправить код - обновить базу - сделать конфу обратно типовой |
|||
9
DJ Anthon
11.08.16
✎
10:04
|
переменную можно в табло поправить разово, не ломая конфигурацию.
например. с помощью обработки, которая содержит такой модуль объекта Функция Ду(Код, П=Неопределено, П1=Неопределено, П2=Неопределено, П3=Неопределено, П4=Неопределено) Экспорт Перем Р; Выполнить(Код); Возврат Р; КонецФункции Функция Присвоить(А,Б) Экспорт А=Б; Возврат А; КонецФункции //пример использования ВнешниеОбработки.Создать("C:\debug.epf").Присвоить(А, Неопределено) |
|||
10
Горогуля
11.08.16
✎
10:20
|
(9) бывают платформы с такой своей ерундовиной
|
|||
11
Ksantos
12.08.16
✎
10:06
|
Тоже столкнулись с такой проблемой
Решил так: Остановил службу сервера 1с отредактировал файл "C:\Program Files\1cv8\srvinfo\reg_1541\1CV8Clst.lst" убрал tcp:// из Srvr=tcp://имя_сервера Запустил службу, проблема пропала. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |