|
Управление торговлей 11.1.10 - Ошибка формата потока данных | ☑ | ||
---|---|---|---|---|
0
Soldat38
10.12.15
✎
06:57
|
После обновления Управления торговли с версии 11.1.9.70 на версию 11.1.10.86 документы "Реализация товаров" и "Поступление товаров" перестают открываться, вылазит такая ошибка:
{ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(3520)}: Ошибка при вызове метода контекста (Следующий) Пока Выборка.Следующий() Цикл по причине: Ошибка формата объекта настроек по причине: Ошибка формата потока Все стандартные методы борьбы с ошибкой формата потока испробованы. Тестирование и исправление ошибок не находит, chdbfl тоже. Конфигурация типовая, обновляю четко по инструкции через конфигуратор. Дальнейшие обновления конфигурации тоже не помогают избавиться от проблемы. Что еще можно попробовать для исправления? |
|||
1
Soldat38
10.12.15
✎
06:59
|
Если вдруг это важно - платформа 8.3.7.1776.
|
|||
2
ИС-2
naïve
10.12.15
✎
07:04
|
(0) почистить кэш, выгрузка загрузка dt, перенос данных через XML в новую базу.
Может, кто-то работает на разных релизах платформы? |
|||
3
Soldat38
10.12.15
✎
07:06
|
(2) почистить кэш, выгрузка загрузка dt - испробовано, не помогло.
XML еще не пробовала. |
|||
4
Мэс33
10.12.15
✎
07:12
|
(1) Был случай - смена платформы помогла.
То есть у клиента был релиз 8.2.18.хх, у меня 8.2.19.хх У клиента перестала открываться форма элемента справочника из-за добавленных реквизитов. Пришлось повторить процедуру на версии 8.2.18 |
|||
5
cw014
10.12.15
✎
07:13
|
Девушка - солдат. Возможно где то нарушение данных
|
|||
6
Мэс33
10.12.15
✎
07:16
|
(0)
- поднять бэкап до обновления - почистить кэш, сделать ТИИ - обновить - почистить кэш, сделать ТИИ - проверить |
|||
7
Soldat38
10.12.15
✎
07:19
|
(4) Не совсем понимаю историю с "клиентами" - я единственный юзер, запускаю на своем компе. В инфе к обновлению указано, что версия платформы не ниже 8.3.5.1443, у меня сейчас 8.3.7 - вы рекомендуете сделать установку "даунгрейд" версии и повторить обновление конфигурации?
(5) Так получилось. (6) Уже пробовала, не помогло. |
|||
8
Мэс33
10.12.15
✎
07:22
|
(7) Ну я же не знал, что все делается у вас, все на одной машине. Поэтому предположил, что где-то вдруг закралась ошибка из-за разных платформ.
|
|||
9
cw014
10.12.15
✎
07:29
|
Выборка.Следующи() - это что за выборка? Из результата запроса или из документвыборка?
|
|||
10
Soldat38
10.12.15
✎
07:31
|
(9) я нуб, вообще не знаю что это и где смотреть. :(
|
|||
11
Мэс33
10.12.15
✎
07:32
|
(10) Найти этот модуль
ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль И посмотреть |
|||
12
Soldat38
10.12.15
✎
07:54
|
(11) нашла:
#Область СлужебныйПрограммныйИнтерфейс //////////////////////////////////////////////////////////////////////////////// // Обработка результата выполнения. // Формирует шаблон результата выполнения. // // Возвращаемое значение: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // Функция НовыйРезультатВыполнения(Результат = Неопределено) Экспорт Если Результат = Неопределено Тогда Результат = Новый Структура; КонецЕсли; Результат.Вставить("ВыводОповещения", Новый Структура("Использование, Заголовок, Ссылка, Текст, Картинка", Ложь)); Результат.Вставить("ВыводСообщения", Новый Структура("Использование, Текст, ПутьКРеквизитуФормы", Ложь)); Результат.Вставить("ВыводПредупреждения", Новый Структура("Использование, Заголовок, Текст, ПутьКРеквизитуФормы, ТекстОшибок", Ложь)); Результат.Вставить("ОповещениеФорм", Новый Структура("Использование, ИмяСобытия, Параметр, Источник", Ложь)); Результат.Вставить("ОповещениеДинамическихСписков", Новый Структура("Использование, СсылкаИлиТип", Ложь)); Возврат Результат; КонецФункции // Добавляет в структуру информацию о типах, которые необходимо обновить в динамических списках. // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // ИзмененныеОбъекты - Массив - Ссылки измененных объектов. // Процедура ОповеститьДинамическиеСписки(Результат, ИзмененныеОбъекты) Экспорт Если ТипЗнч(ИзмененныеОбъекты) <> Тип("Массив") Или ИзмененныеОбъекты.Количество() = 0 Тогда Возврат; КонецЕсли; Если Не Результат.Свойство("ОповещениеДинамическихСписков") Тогда Результат.Вставить("ОповещениеДинамическихСписков", Новый Структура("Использование, СсылкаИлиТип", Ложь)); КонецЕсли; Оповещение = Результат.ОповещениеДинамическихСписков; Оповещение.Использование = Истина; Значение = Оповещение.СсылкаИлиТип; ЗначениеЗаполнено = ЗначениеЗаполнено(Значение); Если ИзмененныеОбъекты.Количество() = 1 И НЕ ЗначениеЗаполнено Тогда Оповещение.СсылкаИлиТип = ИзмененныеОбъекты[0]; Иначе // Преобразование оповещения в массив. ТипЗначения = ТипЗнч(Значение); Если ТипЗначения <> Тип("Массив") Тогда Оповещение.СсылкаИлиТип = Новый Массив; Если ЗначениеЗаполнено Тогда Оповещение.СсылкаИлиТип.Добавить(?(ТипЗначения = Тип("Тип"), Значение, ТипЗначения)); КонецЕсли; КонецЕсли; // Добавление типов измененных объектов. Для Каждого ИзмененныйОбъект Из ИзмененныеОбъекты Цикл ТипИзмененногоОбъекта = ТипЗнч(ИзмененныйОбъект); Если Оповещение.СсылкаИлиТип.Найти(ТипИзмененногоОбъекта) = Неопределено Тогда Оповещение.СсылкаИлиТип.Добавить(ТипИзмененногоОбъекта); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры // Добавляет в структуру информацию о событии, о котором надо оповестить все открытые формы. // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // ИмяСобытия - Строка - Имя события, которое используется для первичной идентификации сообщений принимающими формами. // Параметр - Произвольный - Набор данных, которые используются принимающей формой для обновления состава. // Источник - Произвольный - Источник оповещения, например форма-источником. // Процедура РезультатВыполненияДобавитьОповещениеОткрытыхФорм(Результат, ИмяСобытия, Параметр = Неопределено, Источник = Неопределено) Экспорт Если Не Результат.Свойство("ОповещениеФорм") Тогда Результат.Вставить("ОповещениеФорм", Новый Массив); ИначеЕсли ТипЗнч(Результат.ОповещениеФорм) = Тип("Структура") Тогда // Структуру в массив структур. ОповещениеФорм = Результат.ОповещениеФорм; Результат.ОповещениеФорм = Новый Массив; Результат.ОповещениеФорм.Добавить(ОповещениеФорм); КонецЕсли; ОповещениеФорм = Новый Структура("Использование, ИмяСобытия, Параметр, Источник", Истина, ИмяСобытия, Параметр, Источник); Результат.ОповещениеФорм.Добавить(ОповещениеФорм); КонецПроцедуры // Добавляет в структуру информацию об узлах дерева, которые необходимо "развернуть". // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // ИмяТаблицы - Строка - Имя таблицы формы (дерева значений), в которой требуется развернуть узел. // Идентификатор - Произвольный - Необязательный. Идентификатор строки дерева, которую требуется развернуть. // Если указано "*", то будут развернуты все узлы верхнего уровня. // Если указано Неопределено, то строки дерева развернуты не будут. // Значение по умолчанию: "*". // СПодчиненными - Булево - Необязательный. Раскрывать ли подчиненные узлы. // Значение по умолчанию: Ложь (не раскрывать подчиненные узлы). // Процедура РазвернутьУзлыДерева(Результат, ИмяТаблицы, Идентификатор = "*", СПодчиненными = Ложь) Экспорт Если Идентификатор = Неопределено Тогда Возврат; КонецЕсли; Если Не Результат.Свойство("РазворачиваемыеУзлы") Тогда Результат.Вставить("РазворачиваемыеУзлы", Новый Массив); КонецЕсли; РазворачиваемыйУзел = Новый Структура("ИмяТаблицы, Идентификатор, СПодчиненными"); РазворачиваемыйУзел.ИмяТаблицы = ИмяТаблицы; РазворачиваемыйУзел.Идентификатор = Идентификатор; РазворачиваемыйУзел.СПодчиненными = СПодчиненными; Результат.РазворачиваемыеУзлы.Добавить(РазворачиваемыйУзел); КонецПроцедуры // Добавляет в структуру информацию, необходимую для вывода предупреждения или текста ошибки. // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // Текст - Строка - Текст предупреждения. // ТекстОшибок - Строка - Необязательный. Тексты ошибок, которые при желании может просмотреть пользователь. // Заголовок - Строка - Необязательный. Заголовок окна. // ПутьКРеквизитуФормы - Строка - Необязательный. Путь к реквизиту формы, значение которого вызывало ошибку. // Процедура ВывестиПредупреждение(Результат, Текст, ТекстОшибок = "", Заголовок = "", ПутьКРеквизитуФормы = "") Экспорт ВыводПредупреждения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "ВыводПредупреждения"); Если ВыводПредупреждения = Неопределено Тогда ВыводПредупреждения = Новый Структура("Использование, Заголовок, Текст, ПутьКРеквизитуФормы, ТекстОшибок", Ложь); Результат.Вставить("ВыводПредупреждения", ВыводПредупреждения); КонецЕсли; ВыводПредупреждения.Использование = Истина; ВыводПредупреждения.Заголовок = Заголовок; ВыводПредупреждения.Текст = Текст; ВыводПредупреждения.ТекстОшибок = ТекстОшибок; ВыводПредупреждения.ПутьКРеквизитуФормы = ПутьКРеквизитуФормы; КонецПроцедуры // Добавляет в структуру информацию, необходимую для вывода сообщения о неверно заполненных полях формы. // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // Текст - Строка - Текст сообщения. // ПутьКРеквизитуФормы - Строка - Необязательный. Путь к реквизиту формы, значение которого вызывало ошибку. // Процедура ВывестиСообщение(Результат, Текст, ПутьКРеквизитуФормы = "") Экспорт ВыводСообщения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "ВыводСообщения"); Если ВыводСообщения = Неопределено Тогда ВыводСообщения = Новый Структура("Использование, Текст, ПутьКРеквизитуФормы", Ложь); Результат.Вставить("ВыводСообщения", ВыводСообщения); КонецЕсли; ВыводСообщения.Использование = Истина; ВыводСообщения.Текст = Текст; ВыводСообщения.ПутьКРеквизитуФормы = ПутьКРеквизитуФормы; КонецПроцедуры // Добавляет в структуру информацию, необходимую для вывода всплывающего оповещения. // Действие выполняется на клиенте после вызова СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Результат). // // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // Заголовок - Строка - Заголовок оповещения. // Текст - Строка - Текст оповещения. // Ссылка - Строка - Навигационная ссылка для перехода к объекту конфигурации. // Картинка - Картинка - Картинка оповещения. // Процедура ВывестиОповещение(Результат, Заголовок, Текст = "", Картинка = Неопределено, Ссылка = "") Экспорт ВыводОповещения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Результат, "ВыводОповещения"); Если ВыводОповещения = Неопределено Тогда ВыводОповещения = Новый Структура("Использование, Заголовок, Ссылка, Текст, Картинка", Ложь); Результат.Вставить("ВыводОповещения", ВыводОповещения); КонецЕсли; ВыводОповещения.Использование = Истина; ВыводОповещения.Заголовок = Заголовок; ВыводОповещения.Ссылка = Ссылка; ВыводОповещения.Текст = Текст; ВыводОповещения.Картинка = Картинка; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // Табличный документ // Вычисляет сумму выделенных ячеек и возвращает ее представление. // // Параметры: // ТабличныйДокумент - ТабличныйДокумент - Таблица, для которой вычисляет сумма ячеек. // ВыделенныеОбласти // - Неопределено - При вызове с клиента этот параметр будет определен автоматически. // - Массив - При вызове с сервера в этот параметр следует передавать области, // предварительно вычисленные на клиенте // при помощи функции ОтчетыКлиент.ВыделенныеОбласти(ТабличныйДокумент). // // Возвращаемое значение: // Строка - Представление суммы выделенных ячеек. // // См. также: // ОтчетыКлиент.ВыделенныеОбласти(). // Функция СуммаЯчеек(ТабличныйДокумент, ВыделенныеОбласти) Экспорт Если ВыделенныеОбласти = Неопределено Тогда #Если Клиент Тогда ВыделенныеОбласти = ТабличныйДокумент.ВыделенныеОбласти; #Иначе Возврат НСтр("ru = 'Не указано значение параметра ""ВыделенныеОбласти"".'"); #КонецЕсли КонецЕсли; #Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда КоличествоВыделенныхОбластей = ВыделенныеОбласти.Количество(); Если КоличествоВыделенныхОбластей = 0 Тогда Возврат ""; // Нет ни одного числа. ИначеЕсли КоличествоВыделенныхОбластей >= 100 Тогда Возврат "<"; // Нужен вызов сервера. КонецЕсли; КоличествоВыделенныхЯчеек = 0; #КонецЕсли Сумма = Неопределено; ПроверенныеЯчейки = Новый Соответствие; Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл #Если Клиент Тогда Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда Продолжить; КонецЕсли; #КонецЕсли ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Верх; ВыделеннаяОбластьНиз = ВыделеннаяОбласть.Низ; ВыделеннаяОбластьЛево = ВыделеннаяОбласть.Лево; ВыделеннаяОбластьПраво = ВыделеннаяОбласть.Право; Если ВыделеннаяОбластьВерх = 0 Тогда ВыделеннаяОбластьВерх = 1; КонецЕсли; Если ВыделеннаяОбластьНиз = 0 Тогда ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы; КонецЕсли; Если ВыделеннаяОбластьЛево = 0 Тогда ВыделеннаяОбластьЛево = 1; КонецЕсли; Если ВыделеннаяОбластьПраво = 0 Тогда ВыделеннаяОбластьПраво = ТабличныйДокумент.ШиринаТаблицы; КонецЕсли; Если ВыделеннаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Колонки Тогда ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Низ; ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы; КонецЕсли; ВыделеннаяОбластьВысота = ВыделеннаяОбластьНиз - ВыделеннаяОбластьВерх; ВыделеннаяОбластьШирина = ВыделеннаяОбластьПраво - ВыделеннаяОбластьЛево; #Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда КоличествоВыделенныхЯчеек = КоличествоВыделенныхЯчеек + ВыделеннаяОбластьШирина * ВыделеннаяОбластьВысота; Если КоличествоВыделенныхЯчеек >= 1000 Тогда Возврат "<"; // Нужен вызов сервера. КонецЕсли; #КонецЕсли Для НомерКолонки = ВыделеннаяОбластьЛево По ВыделеннаяОбластьПраво Цикл Для НомерСтроки = ВыделеннаяОбластьВерх По ВыделеннаяОбластьНиз Цикл Ячейка = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); Если ПроверенныеЯчейки.Получить(Ячейка.Имя) = Неопределено Тогда ПроверенныеЯчейки.Вставить(Ячейка.Имя, Истина); Иначе Продолжить; КонецЕсли; Если Ячейка.Видимость = Истина Тогда Если Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Колонки И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда Число = Ячейка.Значение; ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда Число = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Ячейка.Текст); Иначе Продолжить; КонецЕсли; Если ТипЗнч(Число) = Тип("Число") Тогда Если Сумма = Неопределено Тогда Сумма = Число; Иначе Сумма = Сумма + Число; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; Если Сумма = Неопределено Тогда Возврат ""; // Нет ни одного числа. КонецЕсли; Возврат Формат(Сумма, "ЧН=0"); КонецФункции #КонецОбласти |
|||
13
Мэс33
10.12.15
✎
07:58
|
(12) Не вижу этого куска
Пока Выборка.Следующий() Цикл на 3520 строке. |
|||
14
Soldat38
10.12.15
✎
08:04
|
(13) Сорри, не тот модуль, промахнулась немного :(
Почему-то не удается скопировать в сообщение форума текст того самого модуля (наверное, слишком много текста), скопировала здесь: https://yadi.sk/i/DafZmUArm7qpn |
|||
15
Мэс33
10.12.15
✎
08:07
|
(14) http://interface31.ru/tech_it/2014/04/1spredpriyatie-8-oshibka-formata-potoka-pri-vyzove-otchetov.html
Посмотри, кажется по твоей теме. |
|||
16
Soldat38
10.12.15
✎
08:12
|
(15) У меня в 1Ске нет справочника "Сохраненные настройки", в Регистрах сведений есть "Настройки вариантов отчетов" - там чисто, ни одной настройки нету.
|
|||
17
Мэс33
10.12.15
✎
08:19
|
(16) Засада.. на яндекс диск доступа нет.
|
|||
18
Soldat38
10.12.15
✎
08:21
|
(17) А куда есть? Дропбокс?
|
|||
19
Мэс33
10.12.15
✎
08:28
|
Попробуй посмотреть содержимое хранилища настроек, вот код:
|
|||
20
Soldat38
10.12.15
✎
08:37
|
(19) Я очень извиняюсь за свою необразованность, но куда нужно вводить этот код / команду?
|
|||
21
Мэс33
10.12.15
✎
08:40
|
(20) Ааа.
В общем есть ХранилищеСистемныхНастроек, там хранятся настройки различных представлений форм документов, справочников, отчетов и т.д. для пользователей. Судя по сообщению в (0) - сохраненное значение не может быть прочитано и 1С валится с ошибкой. Ну я так думаю. Чтобы посмотреть и/или удалить ошибочные записи - надо написать небольшую обработку. Если не умеете - зовите спеца. Но вдруг тут у форумчан рецепт другой найдется. У меня на большее фантазии не хватает. |
|||
22
Мимохожий Однако
10.12.15
✎
08:41
|
Восстанови архив, убедись, что всё работает. И начинай заново. Вариант 2 - нанять спеца.
|
|||
23
Soldat38
10.12.15
✎
08:43
|
(21) Спасибо вам огромное за помощь в любом случае!
(22) Спеца позвала, но он сможет прийти только на следующей неделе, а нужно было прям щас. Видимо, придется как-то выкручиваться, работать на старой версии и ждать помощь. |
|||
24
Soldat38
13.12.15
✎
11:01
|
Если вдруг кому будет нужно: как удалось решить проблему без привлечения программистов 1С. Дело действительно было в хранилище настроек. Создала нового юзера-админа, под логином которого все документы стали открываться без ошибки формата потока.
|
|||
25
Мэс33
13.12.15
✎
13:31
|
(24) Кстати, да. Тоже вариант решения проблемы.
Но те данные в базе останутся. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |