Неправильные параметры источника доступных настроек
[ Вопрос дня ] Почему в управляемых формах нужно использовать создание источника доступных настроек именно для адреса схемы компоновки данных?
Доброго дня, коллеги!
В рамках курса по СКД глубоко думающий и очевидно очень внимательный слушатель задал вопрос из серии “тонкие моменты работы с СКД, на которые большинство специалистов не обращают внимания”. Скорее всего и Вы не обратили внимание на особенность создания источника доступных настроек с помощью адреса СКД во временном хранилище. Тем интереснее будет “Вопрос дня” при прочтении!
Вопрос
Ответ
Добрый день! Разработчики платформы рекомендуют для управляемых форм применять такой способ – поместить схему во временное хранилище и инициализировать источник доступных настроек полученным адресом:
В противном случае может возникать непонятное поведение системы, например, в пользовательском режиме список доступных полей отбора окажется пустым. Тут дело в том, что в управляемом приложении на клиенте схема компоновки данных отсутствует. Подробнее в статье на сайте ИТС – Редактирование настроек для не основной схемы компоновки данных.
Вопрос
Ответ
Да, это нужно запомнить. В управляемых формах нужно использовать создание источника доступных настроек именно для адреса схемы компоновки данных. Как этот нюанс объясняют разработчики платформы (https://partners.v8.1c.ru/forum/t/1245259/m/1246544):
“Источник на основании схемы нельзя использовать в управляемом приложении, т.к. на клиенте схема компоновки данных отсутствует.”
Лейбович Максим (1С, Москва)
Действительно, работа пользователя с компоновщиком настроек происходит на клиенте (например, настройка структуры отчета, отборов и т.д.). На клиенте схема компоновки данных недоступна. В Синтакс-помощнике смотрим доступность: сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер. Поэтому чтобы на клиенте корректно отображались доступные поля используется именно адрес во временном хранилище. А вот для обычной формы можно создавать источник доступных настроек для схемы компоновки данных. И это будет работать, поскольку в толстом клиенте схема компоновки данных доступна.
Ошибки 1С 8.3 и их исправление
Любая программа, установленная на компьютер, может время от времени работать неправильно. Периодические сбои, которые приводят к невозможности использования ПО, называются ошибки. Чтобы суметь диагностировать и устранять ошибки в 1С, пользователь должен хотя бы немного разбираться в особенностях работы программ. Наличие минимальных знаний позволяет решать проблемы самостоятельно.
Прежде чем рассматривать основные разновидности ошибок, стоит заметить, что они отличаются между собой по происхождению. Приложение может привести к физическому или логическому сбою. В результате 1С просто не запускается или начинает работать в режиме «Конфигуратор». Пользовательский режим бывает недоступен или, при использовании определенных команд, будет появляться сбой.
Чтобы научиться быстро исправлять ошибки в 1С необходимо изначально их проанализировать. Часто во всплывающем окне написана суть некорректного поведения, что помогает решить проблему.
Причины появления ошибки в 1С
Разберем основные моменты, связанные с частым появлением сбоев при работе с базой данных. Они возникают в разных ситуациях, и определить их истинную причину не всегда возможно.
Одна из самых частых причин нарушение работы связанна с компьютером, на который установлена база данных 1С. Рабочая область может автоматически закрываться из-за нехватки оперативной памяти на сервере. Все возникающие неисправности должны быстро устраняться. В противном случае есть вероятность потери данных.
Часто возникающие ошибки 1С
Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:
Для того, чтобы научиться исправлять возникающие ошибки, рассмотрим каждый пункт по отдельности.
Недостаточно памяти
Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.
Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.
Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.
Ошибка доступа
Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.
Ошибка формата потока
Когда пользователь только запускает программу, на экране может появиться окно сбоя. Оно предлагает завершить работу или перезапустить. Причиной выступает некорректное завершение работы приложения.
Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.
Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.
Ошибка СУБД: Файл базы данных поврежден
Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:
Неправильное отображение блоков формы
Такая неисправность возникает от разных факторов. Чтобы привести программу к нормальной работоспособности, пользователю необходимо последовательно выполнить несколько команд. После проведения каждой проверяется устранение сбоя:
Если приведенные методы не помогают, рационально будет провести обновление платформы.
Внутренняя ошибка компоненты dbeng
Подобное сообщение говорит о повреждении структуры базы данных. Приведенный в названии документ хранится в папке с программной. Решение сбоя находится простой переустановкой платформы. Если такой метод не помог, можно воспользоваться тестированием и исправлением базы данных.
Dump при запуске
Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».
На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.
Неверный формат хранилища
В появившемся окне обязательно будет надпись, содержащая «AppData/Local/». Она указывает на точное расположение проблемного файла. В этом сообщении уже написан правильный путь решения. Пользователю достаточно перейти по указанному адресу и удалить временные файлы. Очистка кэша помогает решить множество проблем.
Ничего не работает
Если программа перестала нормально работать без видимых причин, значит пользователю придется самостоятельно искать неисправность. Для восстановления работоспособности базы данных проводятся следующие мероприятия:
Если это не критичная ошибка, она должна исправляться при установке актуальной версии программного комплекса. В остальных ситуациях необходимо пользоваться помощью профессиональных мастеров, которые отлично понимают принцип подобных продуктов.
Сетевой адаптер не имеет допустимых параметров настройки IP в Windows 10
IP помогает компьютеру идентифицировать себя в сети, к которой он пытается подключиться. Если возникает проблема, в которой говорится, что у интернета нет допустимой IP-конфигурации, значит, с сетевой платой (NIC) что-то не так.
IP помогает компьютеру идентифицировать себя в сети, к которой он пытается подключиться. Если возникает проблема, в которой говорится, что у интернета нет допустимой IP-конфигурации, значит, с сетевой платой (NIC) что-то не так.
Почему возникает проблема?
К сожалению, встроенное средство поиска и устранения неполадок Windows помогает только определить эту проблему, но не предлагает решений – пользователь должен исправить конфигурацию вручную. Проблема может быть вызвана несколькими причинами, такими как неисправная сеть со стороны провайдера, устаревшие драйверы, неправильные настройки, просроченные кэшированные файлы, отключенные службы Windows и т.п.
Представленные ниже способы позволяют устранить различные проблемы, связанные с настройкой адреса IP. Но рекомендуется выполнять следующие шаги в точном порядке.
Важно! Прежде чем использовать какой-либо метод, сначала необходимо перезагрузить компьютер. Иногда простой ребут системы помогает избавиться от самых досадных ошибок.
Проверка настроек NIC
Важно! IP-адреса могут немного отличаться, поэтому обязательно нужно подключить другой компьютер к интернету и проверить его состояние.
Перезагрузка роутера и проверка кабеля Ethernet
Если интернет по-прежнему не работает, стоит попробовать подключить другой кабель Ethernet, затем – компьютер к другому роутеру. Если такая же проблема есть и с другим устройством, нужно заменить NIC. Если соединение работает – купить новый маршрутизатор, но прежде следует попробовать восстановить заводские настройки (инструкция по сбросу представлена в руководстве производителя).
Еще одна важная диагностика – проверить, могут ли другие девайсы подключаться к интернету. Если могут, скорее всего, проблема в самом компьютере.
Также нужно убедиться, что все кабели правильно подключены не только к ПК, но и маршрутизатору. При подсоединении Ethernet-провода должен быть характерный щелчок, а мигание индикатора на устройстве означает, что кабель подключен правильно.
Сброс настроек сети
Разбираемся с настройками компоновки данных
Заметил, что все чаще приходится программно работать с настройками компоновки. Чтобы лучше понять, из чего они состоят, собрал основные элементы в виде таблицы. Заодно сделал пару картинок, которые показывают соответствие коллекций в конструкторе СКД и объектной модели, так как иногда имя коллекции отличается от заголовка вкладки, на которой располагаются ее элементы.
Соответствие коллекций и вкладок
Состав вложенных коллекций
В таблицах приведены только часто используемые элементы. Остальные можно увидеть в синтаксис помощнике или отладчике. Другими словами, отброшены незначительные детали, чтобы проще было сосредоточить внимание на главных.
Это позволяет охватить все коллекции одним взглядом, чтобы увидеть основные различия и закономерности. Что помогает лучше понять и запомнить взаимосвязи внутренних объектов.
Опишу один из вариантов как пользоваться таблицами. Пусть нужно программно добавить отбор в корень настроек. В первой колонке находим «Настройки», видим, что они имеют поле «Отбор». Далее находим поле «Отбор» в левой колонке, видим, что оно содержит вложенную коллекцию «Элементы». Также из таблицы видно, что у добавляемого элемента будет тип ЭлементОтбораКомпоновкиДанных и состав полей, которые нужно будет заполнить. Получится, например, такой код:
Некоторые особенности и закономерности
— Если вложенная коллекция может содержать элементы нескольких типов, то при программном добавлении элемента необходимо указывать тип.
— Если все элементы в коллекции имеют одинаковый тип, то при добавлении элемента в коллекцию тип указывать не нужно
— Тип ЗначениеПараметраНастроекКомпоновкиДанных имеет несколько нелогичную структуру: внутри значения параметра располагается параметр. Хотя логичнее было бы, чтобы в параметре располагалось значение
— Значения параметров компоновки данных добавлять нельзя, их можно только найти и установить
— Некоторые значения параметров могут содержать вложенную коллекцию параметров
— В коллекции ПараметрыВывода (вкладка «Другие настройки») имена параметорв иногда отличаются от синонимов в конструкторе СКД, что может доставлять неудобства при разработке
Примеры программного создания элементов я повторять не буду, их можно посмотреть тут
ps. Насколько я понял, редактор данного ресурса не позволяет объединять ячейки в таблицах, поэтому я выложил таблицы в виде картинок.
Специальные предложения
Данная статья будет полезна программистам, которые довольно хорошо ориентируются в конструкторе СКД и хотят получше запомнить, как устроены внутренние коллекции настроек. Вообще, если нужно решить простую задачу, например, установить параметр настроек или добавить отбор, то особых знаний не требуется. Можно погуглить, обойти несколько форумов, найти подходящий пример и исправить под себя. Но мне некоторое время назад попалась задача, для которой необходимо было программно копировать разные элементы СКД. Хорошего решения на форумах я не нашел, пришлось разбираться самостоятельно, сцеплять разношерстные кусочки кода. Чтобы лучше понять все настройки в целом, я все основные элементы и их состав вывел в таблицу. Кроме того, я обратил внимание, что некоторые различия между программными объектами и объектами в конструкторе неочевидны и запутывают понимание. Я предположил, что не я один сталкиваюсь с такими трудностями и решил выложить результат, который у меня получился на данном ресурсе. Возможно он пригодится мне в будущем, возможно он будет полезен кому-нибудь еще.
Ценность данной публикации на мой взгляд именно в краткости. Вот возьмем, к примеру, некий курс по СКД или книгу. Сколько времени нужно, чтобы их просмотреть/прочитать? И при этом мы будем получать очень большое количество повторов: сначала разжевывается то, что мы и так знаем и отсилы 5% новой информации мы почерпнем. И какой результат? Большинство просто сливаются или заранее понимают, что выгода, которые они получат от полного курса меньше, чем затраты на прослушивание/прочтение. Слишком много лишней информации. Похожая ситуация возникает, когда мы открываем в отладчике в точке останова настройки компоновки и пытаемся понять куда смотреть, чтобы найти нужный нам элемент. Но там не все коллекции называются так как мы ожидаем, а также много лишнего и глубокая вложенность. В итоге наше внимание засоряется ненужными полями типа ДоступныеПоляЧегоТоТам
В данной статье, собрано все основное и отброшено все мало востребованное при программной работе с СКД. И все это на одной странице. Вы можете сравнивать их, анализировать просто перемещая глаза по экрану. При этом также подключается и зрительная память. В итоге при программной работе с настройками можно не просто бездумно копипастить код с форумов, а лучше представлять что где лежит и как это нужно заполнять.
И да воды тоже нет, только мои выводы, которые я посчитал полезными. Много времени на ее прочтение вы не потратите, даже если не найдете ничего нового для себя.
Обработка ошибок, возникающих при обмене данными в распределенной информационной базе
Общие ошибки, возникающие при работе с XML
Сообщение обмена данными является документом XML, поэтому имеет смысл описать возможные ошибки, которые могут возникнуть во время чтения/записи сообщений обмена данными при использовании средств чтения/записи данных XML, предоставляемых платформой «1С:Предприятие 8». При работе с данными в формате XML может возникать множество различных ситуаций, однако в данной статье будут рассмотрены только те, которые так или иначе имеют отношение к обмену данными в рамках распределенной информационной базы.