Содержание
1C, План обмена, ошибка «Неизвестный получатель»
Для этого нам необходимо скачать и распаковать все необходимые обновления, сделать резервную копию базы данных 1С, зайти в конфигуратор.
Для того, чтобы мы могли производить обновление через конфигуратор, нам необходимо открыть конфигурацию «Конфигурация» > «Открыть конфигурацию». На некоторое время окно 1С зависнет, а после этого слева появится панель «Конфигурация». Обновляемся:
- «Конфигурация» > «Поддержка» > «Обновить конфигурацию».
- «Выбор файла обновления» (мы уже скачали и распаковали нужные файлы).
- Выбираем каталог с файлами обновлений. Обычно это C:\Users\dTI\AppData\Roaming\1C\1cv8\tmplts\1c
- Нажимаем Далее, применяем все изменения. Если мы закроем конфигуратор, перейдём в режим предприятия, то после зупуска процесс обвноления снова прервётся примерно на 88% выполнения. Поэтому мы
- не закрываем конфигуратор и не переходим в режим предприятия после обновления! Мы запускаем отладку кнопкой «F5», либо идём в меню «Отладка» > «Начать отладку». У вас запуститься обычное окно 1С:Предприятие, только в режиме отладки. Вот в нём мы и дождёмся завершения процедуры обновления. После того, как мы миновали релиз 3.0.43.236, обновления должны заработать в штатном режиме. Если этого не происходит, продолжайте обновляться через конфигуратор и завершайте обновление через отладку.
Сегодня я хочу поговорить о такой часто возникающей необходимости как проверка заполнения реквизитов. Если пользователь должен предоставить вводные данные, которые будут использоваться во время выполнения некого алгоритма, то перед тем как приступить к расчетам в обязательном порядке необходимо выполнить соответствующие проверки. Пожалуй, самой типичной проверкой является — тест на заполненность входных параметров. Если не заполнен важный параметр, без которого не может выполнится алгоритм, то нет смысла что-то продолжать делать.
Начнем с самого элементарного — ответим на вопрос: “Как можно делать проверки?”. Я обычно для этого завожу отдельную процедуры и в ней описываю алгоритмы проверок. В самом простом случае, конечно, алгоритмы описывать не требуется, т.к. имеется всего лишь одно условие — заполненность реквизита.
Если он заполнен, то все тип-том, можно продолжать выполнение. Проверка подобного вида обычно работает по следующему алгоритму:
Ошибка при чтении изменений при обмене РИБ
Определяем список реквизитов для проверки. Если проверяем все имеющиеся реквизиты, то список делать не нужно. Достаточно пробежаться по метаданным и перебрать у объекта все имеющиеся реквизиты. В случаях, когда часть входных данных вводится не в реквизиты, а в элементы управления (например, обычное поле ввода, расположенное на форме), то удобно выставлять таким элементам свойство “АвтоОтметкаНезаполненного” в ИСТИНА. Такие пустые элементы управления будут автоматически выделены красной чертой, свидетельствующей о необходимости обязательного заполнения. Во время проверки можно запросто перебрать все реквизиты формы с установленным флагом “АвтоОтметкаНезаполненного” и выполнить необходимые проверки.
2. Определить процедуру/функцию/процедуры/функции в которых будут реализованы различные алгоритмы проверок. Тут уже все зависит от решаемой задачи. Я обычно определял одну общую процедуру, а уже из нее производил вызов всех дополнительных.
С появлением платформы версии 8.2 ситуация в плане выполнения проверок немножко изменилась. Разработчики реализовали в платформе обработчик события ОбработкаПроверкиЗаполнения() и теперь выполнять проверку заполненности реквизитов рекомендуется в с его помощью. Если следовать новой методике, то алгоритм работы будет таким:
1. Выставляем для реквизитов, которые должны подвергаться проверкам, значение свойства “Проверка заполнения” в “Выдавать ошибку”.
2. Определяем в модуле объекта предопределенную процедуру “ОбработкаПроверкиЗаполнения()”. Описывается она следующим образом:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) // Вставить содержимое обработчика. КонецПроцедуры
Первый параметр (Отказ) принимает значение типа Булево и если передать ИСТИНА, то проверка будет считаться не удавшейся и прервется дальнейшая работа. Во втором параметре передается массив путей к реквизитам для которых будет выполнена проверка (т.е. те реквизиты, для которых мы переопределили свойство “Проверка заполнения”.
3. Описываем в данной процедуре все необходимые проверки. Стоит заменить, что если мы ничего не опишем (и даже не определим саму процедуру), то для реквизитов с переопределенным свойством “Проверка заполнения” будет автоматически выполнятся проверка на заполненность.
Практика
Все вышеописанное мы рассмотрим на практике, но, это будет в следующем посте….
Ошибка времени выполнения |
Я |
ЗЫ база клиент-серверная, Функция «УбратьЛишниеСимволы» отрабатывает нормально, говорит отладчик.
скрин ошибки.
по-моему отладчик падает на строке 1757
(2) Ты просто гений
(3) Я знаю. А ты похоже остановку по ошибке не можешь сделать.
Я привел тебе пример кода:
Подр = новый Структура; Пока Выборка.Следующий() цикл Ключ =УбратьЛишниеСимволы(Выборка.Наименование);///Ключ на выходе тип строка. Значение =Выборка.Ссылка; /// Значение тип справочник ссылка подразделение Подр.вставить(Ключ,Значение); /// это строка 1758, на ней все падает. при чем на одном конкретном подразделении. Остановка по ошибке дает именно такой результат, который показан на скрине. Я с такой ошибкой сталкиваюсь в первый раз.
Ошибка при обновлении конфигурации Бух. 8.2
В конфигурации с такой же точно структурой, все отрабатывает без проблем. КонецЦикла;
Значит в строке Ключ корявые данные, например, непечатные символы
Так что тоже не вариант…
(7) цифры тоже убирай. Зачем цифры туда запендюрил?
похоже, таки черепашка…
(8) потому что подразделение имеет название по адресу. И на одной улице может быть несколько подразделений… так что цифры нужны
есть подозрение на null
Подр.вставить(«Поле» + УбратьЛишниеСимволы(Выборка.Наименование),Выборка.Ссылка);
Цифры впереди букоф.
Ключ =»_»+УбратьЛишниеСимволы(Выборка.Наименование);
Тип: «Самключ» Тип: «СамоЗначение» падает именно на этом подразделении
(16) у тебя ключ на цифру начинается. О чём тебе уже долго твердят.
Нельзя в Структуру много данных писать.
(17) Пятница дает о себе знать… читал сп, но почему то не придал значение…
(13),(15)Все решилось, спасибо всем.
(18) там не сильно много много.
Наведи порядок в своей работе используя конфигурацию 1C «Управление IT-отделом 8»
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.