При работе с 1С:Предприятие 8.1 по некоторым независящим от нас с Вами причинам вы можете с толкнуться с сообщением об ошибке «Ошибка формата потока».
Например это может произойти так: После запуска chdbfl.exe выдал ошибки во внутреннем файле превышена длина кода, потом показал что ошибки исправлены. После этого запустить конфигурацию не удалось, стала выходить ошибка "ошибка формата потока......".
Способы возможного решения проблемы: * удаление из списка баз и повторное добавление
* очищение данных из каталога "C:\Documents and Settings\пользователь\Application Data\1C\1Cv81"
* простое копирование содержимого каталога bin в новый каталог
Общей причиной возникновения такой ситуации можно считать сбои железа (в одном случае пропала сеть, отключилось электричество), софта и т.д. (и не обязательно 1С).
* Отключите файрволы и антивирусы
* Скопировать базу с исходного источника другой флешкой
В случаи, если есть возможность зайти в режиме конфигуратора, то также есть смысл проверить целостность данных:
* для файловой версии использовать проверку целостности chdbfl.exe
* тестирование и исправление средствами конфигуратора
* выгрузка/загрузка конфигурации
Для ранних версий платформы были характерны механизмы, не контролирующие некорректное хранение данных, поэтому обратите внимание на такие решения как:
* обновили платформу до последней версии (но не просто обновлением, а удалением старой версии, и затем установкой новой)
* очистка журнала регистрации
* в клиент-серверном варианте сообщение "Ошибка формата потока" может возникнуть у клиента, когда одно из приложений из набора 1С:Предприятия, выполняющихся на сервере, не имеет достаточно дискового пространства в разделе /tmp для размещения временных файлов
* проверить обработкой все метаданным все строковые реквизиты (проверяем наличие и удаляем сивмолы 0x1a & 0xFFFF )
Особенно это характерно для ситуаций: после изменения типа реквизита формы справочника при попытке сохранить конфигурацию после долгого продолжительного молчания не приходя в сознание платформа выдала сообщение "ошибка формата потока".
Или в такой ситуации: Если через COMConnector происходит обращение к клиент-серверной базе данных, то возможной причиной ошибки является передача от клиента (COMConnector-а в клиентском приложении) серверу 1С:Предприятия или наоборот значения типа "Строка", содержащего символы с кодами 0x1F или 0xFFFF. Передача может выполняться как через параметры и результат процедур и функций, исполняемых на сервере, так и в том случае, если такие символы содержатся, например, в строковом значении константы.
Данная обработка устанавливает период в окне редактирования периода, но не назначает его. Т.е. еще нужно открыть окно выбора периода и нажать "Ок". *09
Как в стандартной форме выбора свойства номенклатуры сделать отбор по его назначению. В форме выбора добавлено поле "ГруппаНоменклатуры". При выборе группы номенклатуры нужно в табличном поле "ПланВидовХарактеристикСписок" отобразить только свойства у которых в назначении указана эта группа номенклатуры.
Создаем новую запись, заполняем ее поля. Записываем новый набор записей с замещением всех записей, соответствующих отбору. Параметр Замещение метода Записать() по умолчанию имеет значение Истина.
Для чего нужно замещение?
Дело в том, что в любом регистре запись с конкретным ключом записи всегда уникальна. Для непериодического независимого регистра сведений ключом записи является конкретная комбинация значений измерений.
То есть запись с определенной комбинацией значений измерений может присутствовать только в единственном экземпляре. Попытка записать новую запись с тем же набором значений измерений привела бы к ошибке.
Кроме того, в подобной работе можно удариться в другую крайность.
Если не применить отбор, то при записи система попытается заместить все существующие записи регистра. В результате, добавляя новый набор записей с замещением, мы бы удалили все ранее введенные записи регистра! Как добавить записи в независимый регистр сведений?
При обработке Таблицы значений в 16 колонок и 500 строк - Разница в скорости выполнения между методами составила 3 секунды в пользу Примера № 3 (тестировал IKSparrow )
Скорее всего у вас не установлена или установлена старая версия шрифта EanGnivc. Для корректного отображения штрих-кода нужно:
1. Скачать последнюю версию шрифта, например, здесь (скачать Файл шрифта EanGnivc) или взяв из нового дистрибутива конфигурации с первого диска (DISK1)
2. Для установки шрифта выполните следующие действия:
- откройте Панель управления (Control Panel) операционной
системы, для этого нажмите кнопку "Пуск", выберите команды
"Настройка" (Settings) и "Панель управления" (Control
Panel);
- в Панели управления дважды щелкните значок "Шрифты" (Fonts);
- в меню "Файл" (FilE) выберите команду "Установить шрифт"
(Install New Font);
- в поле со списком "Диски" (Drives) выберите нужный диск;
- в поле "Папки" (Folders) откройте каталог, в котором находится
файл EANG000.ttf
- в списке "Список шрифтов" (List of fonts) выберите строку
"EanGnivc (True Type)" и нажмите кнопку OK. Все...
В форме документа на основной панели "ДействияФормы" создаем подменю "ПодменюТипДокумента" и в процедуру при открытии добавляем СформироватьТипыДокумента():
В результате на форме появляется подменю Тип Документа, с выбором значений Обычный, Валюта, Рубли! При выборе значения на нем устанавливается помета,а на других убирается и устанавливается значение реквизита ВидРасчета
Для корректной установки компоненты V7Plus необходимо переместить файлы
V7PLUS.ALS
V7PLUS.DLL
Файлы V7PLUS.DLL и V7PLUS.ALS вы можете скачать здесь!
в рабочую директорию 1с:
"C:\Program Files\1Cv77\BIN\"
и зарегистрировать компоненту командой
regsvr32 "C:\Program Files\1Cv77\BIN\V7PLUS.DLL"
или же воспользоваться файлом start.bat(так же прилагается к архиву)
который делает то же самое но автоматически, если 1с установлена в директорию по умолчанию на диск с:
В данном примере получается структура таблиц справочника Номенклатура (в общем случае с этим объектом может быть связано несколько таблиц):
ПолучитьСтруктуруХраненияБазыДанных - возвращает таблицу значений с описаниями структуры таблиц, индексов и полей базы данных в терминах SDBL или используемой СУБД (MS SQL, PostgreSQL, IBM DB2)
Возможность получения структуры хранения базы данных может использоваться для выполнения административных действий. Информация о структуре хранения базы данных не должна применяться для реализации какой-либо части прикладной функциональности, а только для административных задач обслуживания базы данных и анализа записей технологического журнала. Структура и название таблиц использыемых для хранения данных в БД 1С 8.х Соответствие объектов 1С 8.х объектам в MS SQL
В указанной процедуре работа по получению списка пользователей начинается с обращения к свойству глобального контекста ПользователиИнформационнойБазы. Метод ПолучитьПользователей() возвращает массив объектов ПользовательИнформационнойБазы, который обходится потом в цикле.
Установленный монопольный режим позволит пользователю быть единственным пользователем базы, пока он установлен. Однако сам монопольный режим можно установить только в том случае, если на момент установки пользователь был единственным! Установка монопольного режима
Как видите, если применение процедуры работы с информационной базой УстановитьМонопольныйРежим() приводит к ошибке, приходится с этим смириться. Хотя если захотите обеспечить выход других пользователей из системы, в настоящем издании есть пример того, как этого добиться: Как принудительно завершить работу всех пользователей информационной базы ?».
Кроме самой установки монопольного режима можно еще, например, убедиться, что в текущий момент работа идет в монопольном режиме:
Проверка монопольного режима
Или же снять монопольный режим (Отмена монопольного режима):
В 1С 7.7, режим «Монопольно» присутствует только в сетевых версиях 1С. Если же у Вас не сетевая версия, то Вы будете по умолчанию заходить монопольно – Вас об этом даже не спросят.
Для определения режима работы существует специальный метод: МонопольныйРежим(). Возвращаемое значение: Число 1 — если программа запущена в монопольном режиме; Число 0 — если программа запущена в сетевом режиме. Небольшой пример: