Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1ска стояла на win xp конфигурация самописная( получил новую машину с win 7. И выдаёт
{МодульПриложения(42)}: Получение элемента по индексу для значения не определено
Стр = ЯзыковойФайл[НомерСообщения];
в модуле приложения нашел
Перем ЯзыковойФайл Экспорт;
// Получает локализованную строку из файла языковых расширений
// Параметры:
// НомерСообщения - номер сообщения из файла
// П1..П5 - параметры этого сообщения.
Функция ПолучитьЯзыковуюСтроку(НомерСообщения, П1 = "", П2 = "", П3 = "", П4 = "", П5 = "") Экспорт
Стр = ЯзыковойФайл[НомерСообщения];
Стр = СтрЗаменить(Стр, "{#13}{#10}", Символы.ПС);
Стр = СтрЗаменить(Стр, "{%1}", П1);
Стр = СтрЗаменить(Стр, "{%2}", П2);
Стр = СтрЗаменить(Стр, "{%3}", П3);
Стр = СтрЗаменить(Стр, "{%4}", П4);
Стр = СтрЗаменить(Стр, "{%5}", П5);
Возврат Стр;
КонецФункции
подскажите в чем проблема такая ошибка только на этой машине ставил на другие 7ки эту базу всё работает.
{МодульПриложения(42)}: Получение элемента по индексу для значения не определено
Стр = ЯзыковойФайл[НомерСообщения];
в модуле приложения нашел
Перем ЯзыковойФайл Экспорт;
// Получает локализованную строку из файла языковых расширений
// Параметры:
// НомерСообщения - номер сообщения из файла
// П1..П5 - параметры этого сообщения.
Функция ПолучитьЯзыковуюСтроку(НомерСообщения, П1 = "", П2 = "", П3 = "", П4 = "", П5 = "") Экспорт
Стр = ЯзыковойФайл[НомерСообщения];
Стр = СтрЗаменить(Стр, "{#13}{#10}", Символы.ПС);
Стр = СтрЗаменить(Стр, "{%1}", П1);
Стр = СтрЗаменить(Стр, "{%2}", П2);
Стр = СтрЗаменить(Стр, "{%3}", П3);
Стр = СтрЗаменить(Стр, "{%4}", П4);
Стр = СтрЗаменить(Стр, "{%5}", П5);
Возврат Стр;
КонецФункции
подскажите в чем проблема такая ошибка только на этой машине ставил на другие 7ки эту базу всё работает.
По теме из базы знаний
- ОбменComXML
- Удаление ошибки виды контактной информации во время выгрузки из УТ 10.3 в УТ 11
- Перенос данных из ЗУП2.5 в ЗУП3.0 (Исправление правил)
- Счет на оплату покупателю (исправлена ошибка: "Получение элемента по индексу для значения не определено")
- "Заплатка" для больничного листа, для КА 2.4.8.82
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
1) Что бы поняьб, нужно искать где вызывается эта функция... (отладка - остановка по ошибке) и почему передает индекс больше или меньше, чем есть...
2) Некрасиво, но должно помочь.
В самой функции:
Исключение
тело функции
Иначе
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
КонецПопытки;
3) А что такое вообще ЯзыковойФайл? Найдите как он формируется...
2) Некрасиво, но должно помочь.
В самой функции:
Исключение
тело функции
Иначе
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
КонецПопытки;
3) А что такое вообще ЯзыковойФайл? Найдите как он формируется...
(5) AnryMc, 1 http://imglink.ru/show-image.php?id=14f9634c18f623529b224881e3c83341
2http://imglink.ru/show-image.php?id=5d04437d707dfe4a4990a1f8354799eb
3http://imglink.ru/show-image.php?id=6e69726afc2594183591901829cb1fd8
через глобальный поиск только тут находит.
а 2) Некрасиво, но должно помочь.
В самой функции:
Исключение
тело функции
Иначе
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
КонецПопытки;
http://imglink.ru/show-image.php?id=7cc31f8aede2e96343f3f21d8c2c1cfb
2
3
через глобальный поиск только тут находит.
а 2) Некрасиво, но должно помочь.
В самой функции:
Исключение
тело функции
Иначе
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
КонецПопытки;
(9) pipos522, Так
// Получает локализованную строку из файла языковых расширений
// Параметры:
// НомерСообщения - номер сообщения из файла
// П1..П5 - параметры этого сообщения.
Функция ПолучитьЯзыковуюСтроку(НомерСообщения, П1 = "", П2 = "", П3 = "", П4 = "", П5 = "") Экспорт
Попытка
Стр = ЯзыковойФайл[НомерСообщения];
Стр = СтрЗаменить(Стр, "{#13}{#10}", Символы.ПС);
Стр = СтрЗаменить(Стр, "{%1}", П1);
Стр = СтрЗаменить(Стр, "{%2}", П2);
Стр = СтрЗаменить(Стр, "{%3}", П3);
Стр = СтрЗаменить(Стр, "{%4}", П4);
Стр = СтрЗаменить(Стр, "{%5}", П5);
Возврат Стр;
Исключение
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
Возврат "";
КонецПопытки;
КонецФункции
// Получает локализованную строку из файла языковых расширений
// Параметры:
// НомерСообщения - номер сообщения из файла
// П1..П5 - параметры этого сообщения.
Функция ПолучитьЯзыковуюСтроку(НомерСообщения, П1 = "", П2 = "", П3 = "", П4 = "", П5 = "") Экспорт
Попытка
Стр = ЯзыковойФайл[НомерСообщения];
Стр = СтрЗаменить(Стр, "{#13}{#10}", Символы.ПС);
Стр = СтрЗаменить(Стр, "{%1}", П1);
Стр = СтрЗаменить(Стр, "{%2}", П2);
Стр = СтрЗаменить(Стр, "{%3}", П3);
Стр = СтрЗаменить(Стр, "{%4}", П4);
Стр = СтрЗаменить(Стр, "{%5}", П5);
Возврат Стр;
Исключение
Сообщить("прередан индекс "+СокрЛП(НомерСообщения));
Возврат "";
КонецПопытки;
КонецФункции
Мм, посмотрите значение перем "ЯзыковойФайл" в отладчике. Непонятно, что это вообще и для чего? Возможно там идёт обращение к виндовому файлу, а в вашей винде его допустим нет. Или он пустой или ещё что. И вообще после чего такая ошибка выходит? Нужно копаться в коде - без этого никак. Ну либо пробовать винду поставить другую, но имхо проще и быстрее - код.
(7) HPFV, http://imglink.ru/show-image.php?id=c638e7197caf5d90594b6ef7820e3a40 выходит сразу включаю 1с выбираю пользователя ОК -> и такая ошибка
(11) pipos522, ну тогда даже не знаю, возможно поиск не везде прошёлся? Откуда вызывается данная функция вообще? Нужно ставить точку в модуле приложения на "ПередЗапускомСистемы" и смотреть где она вызывается и собственно зачем.
Ну или (15) AnryMc удаленный доступ дай. Через тот же тимвьювер)
Если всё же сам - посмотри там где нормально запускается, что в переменной храниться?
Кстати версия win7 случайно не базовая? (там насколько я помню только один язык)
Ну или (15) AnryMc удаленный доступ дай. Через тот же тимвьювер)
Если всё же сам - посмотри там где нормально запускается, что в переменной храниться?
Кстати версия win7 случайно не базовая? (там насколько я помню только один язык)
в конфигураторе: встань на строчку Стр = ЯзыковойФайл[НомерСообщения]; нажми F9 появится красная точка - нажми F5 - запустится программа - ваыполни действия приводящие к ошибке - программа (конфигуратор) остановится на этой строчке (стрелочка появится), нажми shift+F9 - в появившемся окне введи ЯзыковойФайл - нажми вычислить - результат сюда
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот