1с ошибка при вызове метода контекста получитьфоновыезадания

Фоновые задания ☑ 0

Merkuce

22.09.10

11:03

Разбираюсь с регламентными и фоновыми заданиями.

Следующая строка кода в типовой консоли заданий

ФоновыеЗадания.ПолучитьФоновыеЗадания();

выдает ошибку

ФоновыеЗадания.ПолучитьФоновыеЗадания()    {(1)}: Ошибка при вызове метода контекста (ПолучитьФоновыеЗадания): Менеджер заданий не активен.    

Как этот менеджер активировать?

1

zbv

22.09.10

11:05

файловая ?

2

Merkuce

22.09.10

11:06

да

3

0xFFFFFF

22.09.10

11:07

ой, ща отправят справку читать…

4

zbv

22.09.10

11:08

(2) переводи на сервер, либо в настройках указывай пользователя под которым запускаются рег.задания и не забудь запустить 1сину под этим юзером.

5

0xFFFFFF

22.09.10

11:08

Механизмы выполнения фоновых заданий в файловом и клиент-серверном вариантах различаются.

·         В файловом варианте необходимо создать выделенный клиентский процесс, который будет заниматься выполнением фоновых заданий. Для этого в клиентском процессе должна периодически вызываться функция глобального контекста ВыполнитьОбработкуЗаданий. Только один клиентский процесс на информационную базу должен выполнять обработку фоновых заданий (и, соответственно, вызывать данную функцию). Если клиентского процесса для обработки фоновых заданий не создано, то при программном доступе к механизму заданий будет выдана ошибка «Менеджер заданий не активен». Не рекомендуется клиентский процесс, выполняющий обработку фоновых заданий, использовать для других функций.

После того, как клиентский процесс, выполняющий обработку фоновых заданий, запущен, остальные клиентские процессы получают возможность программного доступа к механизму фоновых заданий, т.е. могут запускать и управлять фоновыми заданиями.

6

smitru

22.09.10

11:09

(0) перейди на клиент-сервер — многое будет понятнее :-)

7

Merkuce

22.09.10

11:11

я нашла , что должен быть выполнен метод ВыполнитьОбработкуЗаданий()

Но где его выполнять? И почему его нужно выполнять несколько раз, я хочу , чтобы задания выполнялись по расписанию регламентных заданий

8

Merkuce

22.09.10

11:16

(4) я в этой самой консоли заданий указала юзера, под которым запуск производится.

(6) нет сейчас возожности

9

zbv

22.09.10

11:16

(8) указать надо в Настройках программы.

в консоли это не то — это типа «Ответственный» в документах.

10

Shurjk

22.09.10

11:18

(8) Запусти под этим юзером приложение, и настрой задание с помощью консоли заданий и будет тебе счастье.

11

0xFFFFFF

22.09.10

11:19

В ПриНачалеРаботыСистемы делай ПОД ОПРЕДЕЛЕННЫМ ПОЛЬЗОВАТЕЛЕМ ПодключитьОбработчикОжидания. С определенной периодичностью (минута например) внутри этого обработчика вызывай ВыполнитьОбработкуЗаданий()

12

Shurjk

22.09.10

11:19

+(10) А ну и конечно указать в настройках программы юзера для регл заданий.

13

0xFFFFFF

22.09.10

11:19

А лучше вместо этого мозго…кхм сделать виндовую задачу с передачей туды параметра…

14

0xFFFFFF

22.09.10

11:20

+(13) если задач немного (1,2,3)

15

Merkuce

22.09.10

11:21

Все, спасибо всем, разобралась

Как на календарь назначить задачи

SOBOLEV
03.09.2010 14:44 Прочитано: 4551

Здравствуйте пожалуйста помогите с вопросом желательно бы пример кода +) )

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
03.09.2010 16:02 Ответ № 1

Что значит на календарь добавить задачи? как в аутлуке что ли?

SOBOLEV
03.09.2010 16:59 Ответ № 2

ну вот смотри допустим я хочу чтобы в определённую дату формировался определённый отчёт самостоятельно. это возможно?

E_Migachev
06.09.2010 13:42 Ответ № 3

Да, для этого есть Регламентные задания!

SOBOLEV
07.09.2010 10:49 Ответ № 4

а можно по подробней!

E_Migachev
07.09.2010 12:31 Ответ № 5

(4) SOBOLEV, подробнее о регламентных заданиях здесь
Создаешь задание, в коде обработки пишешь код формирования отчета, в котором указываешь любую дату, куда сохранить, что вывести в отчет…

SOBOLEV
08.09.2010 16:57 Ответ № 6

Процедура ОбработкаЗаданий()
ВыполнитьОбработкуЗаданий();
КонецПроцедуры

ПодключитьОбработчикОжидания(«ОбработкаЗаданий», 3);
у меня файловый вариант работы но у меня она не работает я прав её же в модуль вставлять?

E_Migachev
08.09.2010 17:10 Ответ № 7

(6) используй для запуска обработку из 5 ответа

E_Migachev
08.09.2010 17:29 Ответ № 8

для ручного запуска, для отладки:
Вотссылка на обработку
Запускаешь ее, указываешь какое регламентное задание выполнить и жмешь выполнить

Для автоматического запуска в файловом варианте:
ПодключитьОбработчикОжидания(«ОбработкаЗаданий», 3);
Добавляешь это в Модуле Приложений

SOBOLEV
09.09.2010 09:20 Ответ № 9

ПодключитьОбработчикОжидания(«ОбработкаЗаданий», 3);
спасибо за консоли это понятно вот ещё вопрос в общем модуле я создаю задание выпрыгивает модуль я туда вставляю Обработчик ожидания правильно? если да то у меня он почему то не работает выдаёт ошибку при сохранении {ОбщийМодуль.РегламентныеПроцедуры(3,15)}: Обнаружено логическое завершение исходного текста модуля
КонецПроцедуры<<?>>
Из а этого нечего не работает как я понял.

SOBOLEV
09.09.2010 09:22 Ответ № 10

просто обычно все работают в созданной конфигурации а я создаю свою может быть с этим связано?? *17

SOBOLEV
09.09.2010 09:34 Ответ № 11

и ещё когда запускаешь консоль заданий выпрыгивает
{Форма.ФормаКонсоли(104)}: Ошибка при вызове метода контекста (ПолучитьФоновыеЗадания): Менеджер заданий не активен.
Фоновые = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
по причине:
Менеджер заданий не активен.
что это? )

E_Migachev
09.09.2010 10:11 Ответ № 12

Вообщем так: про Менеджер заданий не активен
А если в каратце, то нужно сделать так:
1. Создать пользователя Регламент
2. ТОЛЬКО для этого пользователя периодически вызывать функцию глобального контекста ВыполнитьОбработкуЗаданий
Код 1C v 8.х

  Процедура ОбработкаЗаданий()
ВыполнитьОбработкуЗаданий();
КонецПроцедуры
ПодключитьОбработчикОжидания("ОбработкаЗаданий", 3);

3. Когда хочешь чтобы Регламентные задания выполнялись, запускаешь базу под этим пользователем(клиентский процесс) и пусть она висит запущенная! И Не рекомендуется это клиентский процесс, выполняющий обработку фоновых заданий, использовать для других функций.

SOBOLEV
10.09.2010 11:21 Ответ № 13

где в пользователе можно поставить второй пункт+) 2. ТОЛЬКО для этого пользователя периодически вызывать функцию глобального контекста и какие прова ему следует задать администратора??

E_Migachev
10.09.2010 11:35 Ответ № 14

Права полные задавай,
а про выполнение сделай так:
1. Созай новую обработку, в модуле добавь процедуру:
Код 1C v 8.х

   Процедура ОбработкаЗаданий()
ВыполнитьОбработкуЗаданий();
КонецПроцедуры

А в процедуре кнопки Выполнить
Код 1C v 8.х

 ПодключитьОбработчикОжидания("ОбработкаЗаданий", 3);   

2. Запускай базу от этого пользователя
3. открывай созданную обработку и жми Выполнить
4. Проверяй в Журнале Регистарции, выполняются ли регламентные задания?!

SOBOLEV
14.09.2010 13:14 Ответ № 15

как сделать что бы 2. ТОЛЬКО для этого пользователя периодически вызывать функцию глобального контекста ВыполнитьОбработкуЗаданий ?
и как Проверяй в Журнале Регистарции, выполняются ли регламентные задания ? там же толька показан сеанс?

SOBOLEV
14.09.2010 13:18 Ответ № 16

е иещё все регламентные задания навешать на пользователя Регламент и когда я буду под ним заходить всё будет автоматически выполнятся

SOBOLEV
14.09.2010 13:18 Ответ № 17

е иещё все регламентные задания навешать на пользователя Регламент и когда я буду под ним заходить всё будет автоматически выполнятся

E_Migachev
14.09.2010 16:05 Ответ № 18

Продолжение в использование Регламентированных заданий

Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.

В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

Исправляем ситуацию

Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.

Планшет

Приглашаем на
бесплатный вебинар!

18 апреля в 11:00 мск

1 час

Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:


	 Запрос = Новый Запрос;
	 Запрос.Текст =
	         "ВЫБРАТЬ
	          |        Номенклатура.Ссылка КАК Ссылка,
	          |        Номенклатура.ВерсияДанных КАК ВерсияДанных,
	          |        Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	          |        Номенклатура.Родитель КАК Родитель,
	          |        Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	          |        Номенклатура.Код КАК Код,
	          |        Номенклатура.Наименование КАК Наименование,
	          |        Номенклатура.Артикул КАК Артикул,
	          |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	          |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	          |        Номенклатура.Предопределенный КАК Предопределенный,
	          |        Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	          |ИЗ
	          |        Справочник.Номенклатура КАК Номенклатура
	          |ГДЕ
	          |         ";
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 КонецЦикла;

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.


	 Запрос = Новый Запрос;
	            Запрос.Текст =
	                       "ВЫБРАТЬ
	                        |          Номенклатура.Ссылка КАК Ссылка,
	                        |          Номенклатура.ВерсияДанных КАК ВерсияДанных,
	                        |          Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	                        |          Номенклатура.Родитель КАК Родитель,
	                        |          Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	                        |          Номенклатура.Код КАК Код,
	                        |          Номенклатура.Наименование КАК Наименование,
	                        |          Номенклатура.Артикул КАК Артикул,
	                        |          Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                        |          Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                        |          Номенклатура.Предопределенный КАК Предопределенный,
	                        |          Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	                        |ИЗ
	                        |          Справочник.Номенклатура КАК Номенклатура
	                        |ГДЕ
	                        |          НЕ Номенклатура.ЭтоГруппа ";
	 НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
	 КонецЦикла;

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.

УПП. Обновился называется

Я

  

barsik123

02.10.21 — 16:19

1с доработали адреса в формате фиас и понеслось.

После обновления на УПП 166.2 возникло несколько проблем с заполнением адресов.

1. В контрагенте при сохранении адреса выдается ошибка, когда пытаешься установить номер квартиры, а слово Квартира не выбирается..

ОбщийМодуль.УправлениеКонтактнойИнформациейСлужебный.Модуль(225)}: Ошибка при вызове метода контекста (ЗаписатьJSON)

ЗаписатьJSON(ЗаписьJSON, Значение,, «АдаптацияПолейКонтактнойИнформации», УправлениеКонтактнойИнформациейСлужебный);

по причине:

Передано значение недопустимого типа

2. В документе больничного при попытке выбрать адрес мед. заведения выдается ошибка:

{Обработка.РедактированиеКонтактнойИнформации.МодульОбъекта(236)}: Поле объекта не обнаружено (ПанельНастроекАдреса)

ФормаРедактированияАдреса.ЭлементыФормы.ПанельНастроекАдреса.Свертка = РежимСверткиЭлементаУправления.Верх;

3. При открытии Классификатора из адресной строки физ лица:

{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(260)}: Тип не определен (ФормаКлиентскогоПриложения)

            ТипыСвойств.Вставить(«ФормаВладелец», Тип(«ФормаКлиентскогоПриложения»));

Даже как-то странно. такое количество ошибок, либо они вообще ничего не тестировали, просто накатили обнову и отправили людям.

У кого нибудь есть такие проблемы? Погуглил, таких ошибок не нашел.

  

МихаилМ

1 — 02.10.21 — 16:39

Даже как-то странно, что человек после 8 лет общения с 1с обновляется не протестировав изменения.

где-то в 2010 на курсах в 1с Морозов утверждал, что ут почти вся покрыта тестами, а упп — вся.

но судя по кол-ву ошибок — тесты не поддерживаются и не применяются.

  

barsik123

2 — 02.10.21 — 16:43

(1) Не поверите, но сколько не обновлялся за 20 лет косяков глобальных никогда не было, чтобы нельзя было работать. Вот чего чего, времени на глобальные тесты у меня нет, всех изменений не протестируешь. Если только у кого вагон свободного времени.

  

Garykom

3 — 02.10.21 — 17:03

УПП считай все

Дальше будет только хуже

Более свежие УФ типовые там хотя бы патчами-расширениями довольно шустро

  

NorthWind

4 — 02.10.21 — 17:18

Дедушка старый, ему все равно. УПП, судя по всему, совсем не в приоритете у 1С, несмотря на то что они собирают по 8 штук за месячный пинкод обновлений и по 60 — за годовой.

  

NorthWind

5 — 02.10.21 — 17:21

(1) да в общем-то и я действую также. Чтобы тестировать — время надо и людей. Если в ит-отделе полтора человека, то заниматься этим некому. Если что-то вылезет в критичном функционале — подправляем прямо наживую. Что характерно, уже 10 годков существуем в таком режиме и ничего. Но у нас и готовность 24 часа в сутки не нужна, оттого что база будет недоступна, скажем, час — ничего не поменяется. Свет вырубают чаще и на-дольше, чем происходят сбои в ИТ.

  

NorthWind

6 — 02.10.21 — 17:22

(0) спасибо что написал, подождем следующего релиза

  

rphosts

7 — 02.10.21 — 17:44

(0) ээээ, кто-то обновляет упыпырище не только лишь для нововведений/рег.отчётности?

  

rphosts

8 — 02.10.21 — 17:44

*критичных нововведений

  

barsik123

9 — 02.10.21 — 18:00

(7) да девочка одна с кадров, позвонила, плачется, сзв-тд не грузится из 1с в контур, ошибки какие-то. Это моя не основная контора, где я работаю, времени мало на все, надо было самому глянуть,что ошибки, думал, может формат поменяли с прошлого моего обновления, вот и накатил обновление. Обычно никогда так не делаю, все обновы ставлю ближе к сдаче отчетности и немного гуглю на предмет ошибок в конфигурациях, поэтому проблем обычно и не было.

  

Злопчинский

10 — 02.10.21 — 18:18

(1) «где-то в 2010 на курсах в 1с Морозов утверждал, что ут почти вся покрыта тестами, а упп — вся.»

— «Пи..ят!»

  

NorthWind

11 — 02.10.21 — 18:21

(8) так там ничего другого уже лет 7 как нет. Но я так понимаю, ФИАС наконец-то вкрячили не просто так? Скорее всего, теперь на него что-то из отчетности завязано, и обойтись уже нельзя, хотя вообще ФНС отказалась от КЛАДРа много лет назад.

  

rphosts

12 — 02.10.21 — 18:23

(11) вот поэтому мы обычно накатываем в январе и апреле… ну и когда приспичит пипец как  — в начале августа что-ли этого года такое случилось.

  

rphosts

13 — 02.10.21 — 18:24

(10) с тех пор прошло 10+ лет… много чего изменилось…

  

Garykom

14 — 02.10.21 — 18:25

(11) Там просто ФИАС поменялся на ГАР БД ФИАС

  

Garykom

15 — 02.10.21 — 18:25

(14)+ структура внутри слегка иная

  

NorthWind

16 — 02.10.21 — 18:26

(12) у меня все привязано к первому месяцу квартала обычно, т.е. к сдаче отчетности. Но время от времени бывают и промежуточные обновы.

  

rphosts

17 — 02.10.21 — 18:31

(16) у нас январь потому-что время есть накатить (сильно перепиленная у нас УПП) и апрель в виду необходимости дообновить рег

  

NorthWind

18 — 02.10.21 — 18:32

хоца посмотреть что они сделали с адресами. Интересно, регистр КИ не поменялся?

  

NorthWind

19 — 02.10.21 — 18:33

никто не смотрел что там как? Я пока пинкод очередной еще не активировал

  

Mikhail Volkov

20 — 02.10.21 — 18:42

(0) Эти проблемы при заполнении новых КИ? У нас в УПП ничего не заполняется, все работают в Альфа-Авто 4 (не обновляется), потом все перебрасывается в УПП для получения отчетности. Мне нужно вносить какие либо изменения в правила обмена?

  

Смотрящий от 1С

21 — 03.10.21 — 01:05

(7) обновлял регулярно и ставил свечку за команду которая поддерживала УПП. Были глюки, но не критичные. Судя по последним обновлениям кто то ушел из команды. Базу после обновлений не открывают и сразу в продакшен. Только что копался в КЛАДР. Не подставлялся индекс в улицах которые попадали сразу в несколько индексов. Почему то в последнем КЛАДР все адреса прилетали с добавлением ЛИТЕР А, Б и дальше по алфавиту. Убрал эти ЛИТЕР и вот на тебе… ФИАС пришел и все перестало работать совсем.

  

vovastar

22 — 03.10.21 — 01:21

(21) было время, когда ккт в личном кабинете налоговой можно было ставить тоже, только указав номер помещения, видимо этот чувак теперь работает в другом месте, ибо в ЛК этого уже не нужно.

  

Vstur

23 — 03.10.21 — 03:15

вот у вас проблемы….

в УТ 10.3 лепили с 01.07 один неработоспособный релиз за другим, не то, чтобы проблемы, а просто….ошибка…вылет…

С этой памятной даты только от меня ошибок 9 штук официально зарегистрировали….

  

МимохожийОднако

24 — 03.10.21 — 07:05

(9) «сзв-тд не грузится из 1с в контур, ошибки какие-то»

у одной из моих клиенток при подобной ошибке оказалось достаточным зарегистрировать компоненту comcntr.dll, и правильно прописать путь к базе 1С в обработке для Контура.

ну и, на десерт…Если есть КАКИЕ-ТО ошибки,то надо ЧТО-ТО сделать )

  

ОператорПК

25 — 03.10.21 — 09:31

(21) +1, я тоже еще не мог нарадоваться релизам УПП, но сейчас это дно какое то…

  

ОператорПК

26 — 03.10.21 — 09:32

+ (25) «еще не мог»= «еще недавно не мог»

  

NorthWind

27 — 03.10.21 — 10:09

ну пока они косяки исправляют, и обычно достаточно быстро… Кроме того, в большинстве случаев там страшного-то нет ничего, можно и самому поправить

  

NorthWind

28 — 03.10.21 — 10:10

благо, УПП — это все ж не современные конфы на УФ. Относительно доступно код написан.

  

elvan

29 — 04.10.21 — 10:32

Тоже ошибка выскочила в Обработка.РедактированиеКонтактнойИнформации.  В 1Бит написал

  

Адинэснег

30 — 04.10.21 — 12:02

(0) а ты при обновлении чекай хотя бы критичные места, которые точно активно используете и которые приехали с релизом.

Ошибки, с которыми нельзя работать, бывали за 20 лет.

Но не суть. Суть в том что поддержка сейчас стоит х3 (ИТС + продленная поддержка УПП), а 1С так и не начали тестить типовые, тем более в таких критичных местах.

Спасибо за инфу)

  

Krendel

31 — 04.10.21 — 12:07

ООО УППшники, а чекните вот этот набор действий:

Заполняем график работы пятидневка, заполняем документ «план производства по сменам»,

потом меняем тип графика работы с «пятидневки» на «сменный», перезаполняем документ «план производства».

При проведнии должен падать клиент ;-)

  

Sega82

32 — 04.10.21 — 12:16

А откатить на 1.3.166.1 можно?

  

Hmster

33 — 04.10.21 — 13:43

в файловой:

{ОбщийМодуль.ДлительныеОперации.Модуль(822)}: Ошибка при вызове метода контекста (ПолучитьФоновыеЗадания)

        ЗапущеноЗаданийВФайловойИБ = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор).Количество();

по причине:

Менеджер заданий не активен.

  

ДенисЧ

34 — 04.10.21 — 13:47

(33) Платформа, совместимость?

  

Sega82

35 — 04.10.21 — 13:50

(33) видимо на 8.3.14 нужно пересаживаться ((

  

ДенисЧ

36 — 04.10.21 — 13:51

(32) Да. Из копии, которую ты сделал перед обновлением.

Ты же сделал, да?

  

Sega82

37 — 04.10.21 — 14:01

  

Hmster

38 — 04.10.21 — 14:11

(35) Не поможет. 8.3.18.

ПолучитьФоновыеЗадания в файловой вроде как и не должна работать

  

ДенисЧ

39 — 04.10.21 — 14:14

(38) С какого перепою?

  

Sega82

40 — 04.10.21 — 14:18

3. При открытии Классификатора из адресной строки физ лица:

{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(260)}: Тип не определен (ФормаКлиентскогоПриложения)

            ТипыСвойств.Вставить(«ФормаВладелец», Тип(«ФормаКлиентскогоПриложения»));

(0) как, я понял, эту ошибку решает платформа 8.3.14

  

sl23rus

41 — 04.10.21 — 14:26

При попытке заполнить контрагента по ИНН:

Ошибка при работе с сервисом.

Не удалось проверить доступность сервиса. Не удалось получить описание сервиса. {РегистрСведений.КэшПрограммныхИнтерфейсов.МодульМенеджера(471)}: Ошибка при вызове метода контекста (СкачатьФайлНаСервере)

        ОписаниеФайла = МодульПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(Адрес, ПараметрыПолучения);

по причине:

Попытка передачи с клиента на сервер мутабельного значения 2-го параметра метода СкачатьФайлНаСервере ()..

С разных компов и разных юзеров. Естественно после обновления.

  

volink

42 — 04.10.21 — 15:03

(0) В обработке РедактированиеКонтактнойИнформации поменял типы реквизитов ТипДома ТипКорпуса ТипКвариры на Строка (0) и всё заработало. Ошибка при сохранении адреса контрагента пропала.

  

Mikhail Volkov

43 — 04.10.21 — 16:57

Заполнил адрес вручную:

{ОбщийМодуль.УправлениеКонтактнойИнформациейСлужебный.Модуль(225)}: Ошибка при вызове метода контекста (ЗаписатьJSON)

    ЗаписатьJSON(ЗаписьJSON, Значение,, «АдаптацияПолейКонтактнойИнформации», УправлениеКонтактнойИнформациейСлужебный);

по причине:

Передано значение недопустимого типа

Надеюсь в следующем релизе исправят… работаю 8.3.10.2466

  

Адинэснег

44 — 05.10.21 — 07:12

а структура регистра КИ тоже поменялась?

нахера вообще объекты трогать, которые не менялись 20 лет?

Сейчас все правила конвертации откиснут, которые к переходу на ЕРП пилились

В общем стопать надо переходы на ЕРП, пока УПП не устаканится, как перестанут основные объекты курочить — так и будем смотреть в сторону ЕРП

  

vovastar

45 — 05.10.21 — 07:17

(44) пока ты будешь смотреть в сторону ЕРП, выйдет ЕРП 3.0 и начинай жить заново.

  

Адинэснег

46 — 05.10.21 — 07:22

(45) Ну хоть источник зафиксируется в 26 году

  

vovastar

47 — 05.10.21 — 07:24

(46) одна радость)))

  

Адинэснег

48 — 05.10.21 — 08:19

ну да, посмотрел, накопипастили регистров новых, а код забыли проверить

8.3.19.1264, дело не в платформе, а кривых ручках, которые мы с вами по доп.подписке кормим 🤣

  

Адинэснег

49 — 05.10.21 — 08:25

в рс КИ тоже ресурсов вкорячили, правила тоже придется перепиливать, либо от подписки отказаться и не обновлять упп, либо на ерп не торопиться, а интеграцию пилить ближе к 2026

  

Mikhail Volkov

50 — 05.10.21 — 08:46

(44) Тоже не понимаю для чего это:

Формат ввода адреса по ФИАС

Новая адресная информация заполняется по формату ФИАС (пункт 1 части 2 статьи 5 Федерального закона от 28.12.2013 № 443-ФЗ). Загрузить адресный классификатор ФИАС можно с портала 1С:ИТС, а также из файлов, распространяемых ФНС РФ.

Чем не понравилось то, что работало много лет?

  

ДенисЧ

51 — 05.10.21 — 08:47

(50) А налоговая теперь без фиаса принимать документы не будет ))

  

Mikhail Volkov

52 — 05.10.21 — 09:00

(51) «без фиаса» — это как, формат адресов поменялся?

  

ДенисЧ

53 — 05.10.21 — 09:01

(52) Ну, типа заполнять по фиасу нужно будет, а не по кладру. И проверяться по нему же.

Мне уже все мозги с этим вынесли…

  

NorthWind

54 — 05.10.21 — 09:01

(52) да. В фиасе все элементы адреса гуидами задаются. В кладре нет.

  

ОператорПК

55 — 05.10.21 — 09:16

(46) а была официальная инфа?

  

vovastar

56 — 05.10.21 — 09:20

(55) так поддержка УПП заканчивается в 26 году. Вот источник и зафиксируется)

  

NorthWind

57 — 05.10.21 — 09:23

  

elvan

58 — 05.10.21 — 09:35

Ответили с v8

Добрый день.

Зарегистрирована ошибка 00-00404444.

Локальное исправление:

1. Заменить обработку РедактированиеКонтактнойИнформации (во вложении)

2. Внести изменения в общие модули

Общий модуль АдресныйКлассификаторСлужебный

Функция НомерДомаЧислом

Строку:

    НаборЦифр = СтрРазделить(ИсходнаяСтрока, СимволыДляУдаления, Ложь);

заменить на строку:

    НаборЦифр = ?(ПустаяСтрока(ИсходнаяСтрока) И ПустаяСтрока(СимволыДляУдаления), Новый Массив, СтрРазделить(ИсходнаяСтрока, СимволыДляУдаления, Ложь));

Процедура ДобавитьИнформациюОДоме

Строку:

            НайденныйФрагментСтроения = Новый ФорматированнаяСтрока(ТекстПроСтроения, Разделитель + НазваниеСтроения + » » + СокрЛП(ОписаниеДома.Строние));

заменить на строку:

            НайденныйФрагментСтроения = Новый ФорматированнаяСтрока(ТекстПроСтроения, Разделитель + НазваниеСтроения + » » + СокрЛП(ОписаниеДома.Строение));

Общий модуль РаботаСАдресами

Заменить объявление функции:

Функция СтруктураАдресаВСтруктуруJSON(Знач КонтактнаяИнформация)

на следующее:

Функция СтруктураАдресаВСтруктуруJSON(Знач КонтактнаяИнформация) Экспорт

  

ОператорПК

59 — 05.10.21 — 09:42

(57) ну понятно «вода» как обычно… точных данных нигде нет.

  

NorthWind

60 — 05.10.21 — 09:45

(59) для общего понимания вполне достаточно. Сроки обрисованы. С 17 года и таких не было.

  

ОператорПК

61 — 05.10.21 — 09:54

(60) сколько раз сроки по БП 2.0 сдвигали?

  

Флориан

62 — 05.10.21 — 09:59

(58) а можно ссылку на обработку «РедактированиеКонтактнойИнформации» сюда?

  

Mikhail Volkov

63 — 05.10.21 — 10:01

(54) В документах отчетности нет никаких гуидов в адресах (или будут?). Эти гуиды будут прикручиваться только к новым адресам с 29.09.2021 (дата релиза 1.3.166.2), старые трогаться не будут? (есть в базе адреса, которые уже не существуют)

(58) Значит потерпеть надо вводить новые адреса до следующего релиза…

  

elvan

64 — 05.10.21 — 10:04

  

DimVad

65 — 05.10.21 — 10:56

(56) Очень интересно сколько «боевых» УПП останется к 2026 году. Если «много» то 1С будет продлевать поддержку или другие варианты будут — не суть. Может быть кто-нибудь может оценить «скорость выбытия» по своим клиентам, например ?

Была бы весьма ценная информация.

  

NorthWind

66 — 05.10.21 — 11:04

(61) ну сдвинут — хорошо. Тем не менее пока я планирую ориентироваться на то,1 что озвучили.

  

Mikhail Volkov

67 — 05.10.21 — 11:18

(58) Внес эти исправления, но все равно не позволяет новый адрес внести физлицу: выбираю регион — пусто, вручную ввожу — пишет: «Выбор из списка недоступен, т.к. в адресном классификаторе отсутствует информация о адресных сведениях». Наверное ФИАС не загружен. Жму Классификатор, пишет: Менеджер заданий не активен. Как ФИАС загрузить? Скачать файлы ФИАС, а ссылку на них куда поместить?

  

Mikhail Volkov

68 — 05.10.21 — 13:28

+ В КА2 например, в Загрузка адресного классификатора отмечаешь нужные регионы, выбираешь Вариант загрузки: Из папки на диске, выбираешь папку с ФИАС, в ней файлы ADDRSTATUS.FI, SOCRBASE.FI, и ZIP файлы регионов. А в УПП просит указать 4 dbf файла классификатора. А в ней только FI файлы!?

  

Флориан

69 — 05.10.21 — 14:24

  

Mikhail Volkov

70 — 05.10.21 — 14:50

(69) Спс, да zip, а в нем только FI-файлы. А в УПП ФормаЗагрузкиАдресногоКлассификатора просит dbf-файлы (вроде старая осталась). Как загрузить адресный классификатор?

  

vis_tmp

71 — 05.10.21 — 14:53

(70)Может, эта форма старая?

  

Mikhail Volkov

72 — 05.10.21 — 15:26

(71) Да, вроде нашел в РС.АдресныеОбъекты УФ ЗагрузкаАдресногоКлассификатора, но как ее открыть?

  

OVG

73 — 05.10.21 — 16:12

Если пойти спр ФизическиеЛица — Общее — Адреса и телефоны жмакнуть Представление. В открывшемся Адрес проживания физ. лица,  Классификатор. В открывшемся Загрузка адресного классификатора выбрать регион и Вариант загрузки С портала 1С:ИТС В РС Адресные объекты появляются записи.

  

Mikhail Volkov

74 — 05.10.21 — 17:46

(73) Ошибка: {ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(260)}: Тип не определен (ФормаКлиентскогоПриложения)

            ТипыСвойств.Вставить(«ФормаВладелец», Тип(«ФормаКлиентскогоПриложения»));

Но если эту строчку закомментировать (?), то УФ ЗагрузкаАдресногоКлассификатора открывается, ставлю Вариант загрузки: С портала 1С:ИТС, и опять ошибка: Вероятно в данный момент на сайте ведутся технические работы… Менеджер заданий не активен.

Спс, попробую позже, но возможно за-за того, что подписка закончилась!?

  

Mikhail Volkov

75 — 05.10.21 — 19:18

(74) > Но если эту строчку закомментировать (?)

На 8.3.10.2466, а на 8.3.17.1851 вроде не надо, но результат тот же.

  

Hmster

76 — 05.10.21 — 19:58

(74) База файловая?

  

Mikhail Volkov

77 — 05.10.21 — 20:12

(76) Экспериментирую на файловой. В ОбщийМодуль.ДлительныеОперации.ЕстьФоновыеЗаданияВФайловойИБ() пришлось вставить:

    Попытка

        ЗапущеноЗаданийВФайловойИБ = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор).Количество();

    Исключение

        ЗапущеноЗаданийВФайловойИБ = 0;

    КонецПопытки;

  

Hmster

78 — 05.10.21 — 20:38

(77)  чуть выше писал, что в файловой не работает ФоновыеЗадания.ПолучитьФоновыеЗадания

  

Mikhail Volkov

79 — 06.10.21 — 09:21

(78) С вставкой (77) ошибки (33) в файловой базе нет, но Адресный классификатор не загружается. А в sql-базу загрузился!!!

Только та же ошибка (74) в {ОбщийМодуль.ДлительныеОперацииГлобальный.ПроконтролироватьДлительныеОперации(37)}: Тип не определен (ФормаКлиентскогоПриложения). Пришлось закомментировать фрагмент:

    Если ДлительнаяОперация.ОповещениеОЗавершении <> Неопределено И ТипЗнч(ДлительнаяОперация.ОповещениеОЗавершении.Модуль) = Тип(«ФормаКлиентскогоПриложения»)

        И Не ДлительнаяОперация.ОповещениеОЗавершении.Модуль.Открыта() Тогда

        ОперацияОтменена = Истина;

    КонецЕсли;

  

Mikhail Volkov

80 — 06.10.21 — 10:11

Интересно, ошибка: Тип не определен (ФормаКлиентскогоПриложения) из-за низкой версии платформы на 8.3.10.2466 выскакивает?

В sql-базе в Вариант загрузки: С портала 1С:ИТС появилась надпись: Доступно обновление от 20 сентября 2021 г. В файловой базе не было.

Как понимаю загрузку адресного классификатора в Фоновые задания вставили. Зачем? Он сам периодически обновляется? В КА2 его лет 5 не обновлял…

  

OVG

81 — 06.10.21 — 10:39

(58) Применил исправление, в спр ФизическиеЛица адрес изменяется без ошибок. Теперь вылезла другая проблема

Документы Заказ покупателя или  Реализация товаров и услуг —   Поле Адрес доставки.

Нажимаем на кнопку выбора , появляется Список Контактная информация. 

Добавим ещё один адрес , все отлично адрес создаётся, но при попытке его выбрать в это поле, оно пустое. Если выбрать адреса, которые присутствуют в этом списке, они выбираются, а вновь созданные нет.

Вот здесь….УправлениеКонтактнойИнформацией

Функция ПолучитьПолныйАдрес(Запись) Экспорт

    
    Результат = «»;

    

    Если Запись = Неопределено Тогда

        Возврат Результат;

    КонецЕсли;

    

    Если ОпределитьДляОбъектаРоссийскийАдрес(Запись) Тогда    

        Результат = «,» +

        СокрЛП(Запись.Поле1) + «, » +

        СокрЛП(Запись.Поле2) + «, » +

        СокрЛП(Запись.Поле3) + «, » +

        СокрЛП(Запись.Поле4) + «, » +

        СокрЛП(Запись.Поле5) + «, » +

        СокрЛП(Запись.Поле6) + «, » +

        СокрЛП(Запись.Поле7) + «, » +

        СокрЛП(Запись.Поле8) + «, » +

        СокрЛП(Запись.Поле9);

        

        // Если в записи присутствует хотябы одно заполненное значение номе дома, номер корпуса или номер квартиры

        // дополним результат значениями типов домов, корпусов, квартир

        Если НЕ ПустаяСтрока(Запись.Поле7) ИЛИ НЕ ПустаяСтрока(Запись.Поле8) ИЛИ НЕ ПустаяСтрока(Запись.Поле9)Тогда

        

            Результат = Результат + «, » +

                СокрЛП(Запись.ТипДома)+ «, » +

                СокрЛП(Запись.ТипКорпуса)+ «, » +

                СокрЛП(Запись.ТипКвартиры);

        
        КонецЕсли;

Запись приходит с пустыми полями Запись.Поле1 , Запись.Поле2…., но зато Запись.Значение содержит JSON(полную инфу об адресе), Запись.Представление уже  содержит необходимый адрес

Переменная Результат как раз формируется из полей Запись.Поле1 и.т д. , а они пустые

Переменная Результат принимает значение «,, , , , , , , , »     соответственно Функция возвращает «». Поэтому поле Адрес доставки пустое

При добавлении

             Если Результат = «,, , , , , , , , » Тогда  

            
             Результат = Запись.Представление;

            

         КонецЕсли;  

Можно как-то временно выкрутиться, тогда поле Адрес заполняется.

  

Черников

82 — 06.10.21 — 10:46

При обновлении столкнулись еще с одной ошибкой, касающейся контактной информации:

после обновления на релиз 166.2

в справочнике Клиенты на закладке контакты

идет неправильная сортировка,

раньше все заполненные элементы были вверху,

а сейчас вверху находятся пустые строки, а заполненные строи идут в середине и в конце

  

OVG

83 — 06.10.21 — 12:32

(81) Пришел ответ от ТП

Направляем ответ отдела разработки программ:

Зарегистрирована ошибка с кодом 00-00404772. Локализована. Исправление войдет в ближайший релиз. Для оперативного решения проблемы можно порекомендовать локальное исправление… В методе «ПолучитьПолныйАдрес» общего модуля «УправлениеКонтактнойИнформацией» строку …     Если ОпределитьДляОбъектаРоссийскийАдрес(Запись) Тогда     изменить на строку…     Если ОпределитьДляОбъектаРоссийскийАдрес(Запись) И ПустаяСтрока(Запись.Значение) Тогда

Еще не пробовал

  

NorthWind

84 — 06.10.21 — 12:36

новый релиз еще не вышел?

  

OVG

85 — 06.10.21 — 13:00

(84)Релиз не вышел. (83) проблема с пустым адресом решилась этим исправлением.

  

Флориан

86 — 06.10.21 — 15:43

(82) в 1с ошибку отправили?

  

ilou

87 — 06.10.21 — 19:47

интересно, а это вообще где (во вложении)

чет я ищу и не вижу, куда хоть смотреть то?

Способ исправления:

1. Заменить обработку РедактированиеКонтактнойИнформации (во вложении)

  

Emvika

88 — 06.10.21 — 21:00

167 вышел… Боюсь ставить даже в тестовом варианте…

  

Mikhail Volkov

89 — 07.10.21 — 11:30

(88) Вроде в него внесли исправления (58) и (83). Но файловый вариант не загружает Адресный классификатор?

  

cmzap

90 — 07.10.21 — 12:00

Сделали все исправления в 166.2 по класификатору как указано выше, теперь все сохраняется, но появилась проблема с отправкой в ФСС

«В строке номер 1 табличной части «Пособия»: Не удалось разобрать адрес регистрации, возможно указан адрес за пределами РФ!»

Звонили тех поддержку ФСС они ссылаются на техподдержку 1С

  

shuhard

91 — 07.10.21 — 12:14

(88) ты до сих пор в 1С и на УПП ?

  

Смотрящий от 1С

92 — 07.10.21 — 13:42

(88) можно на него сразу с 165.2?

  

OVG

93 — 07.10.21 — 14:21

(92) нет    1.3.167.1    06.10.21        1.3.166.1, 1.3.166.2

  

Emvika

94 — 07.10.21 — 14:57

(89) эти внесли, а что еще сломали? На примере предыдущих 5 релизов подряд с критичными ошибками как-то неуютненько…)))

(91) да. А что, это уже неприлично?)

  

elvan

95 — 07.10.21 — 15:08

(93)  Почему нет? 167.1 — полная установка.  Даже с  162.3 получилось

  

Mikhail Volkov

96 — 07.10.21 — 15:19

(89) А то, что в файловый вариант не загружает Адресный классификатор — это косяк 1С, или только у меня?

В ДлительныеОперации.ВыполнитьВФоне фрагмент:

    Попытка

        Задание = ЗапуститьФоновоеЗаданиеСКонтекстомКлиента(ИмяПроцедуры, ПараметрыВыполнения, ПараметрыЭкспортнойПроцедуры);

    Исключение

        Результат.Статус = «Ошибка»;

В файловом варианте не выполняется, ИмяПроцедуры — АдресныйКлассификаторСлужебный.ДоступныеВерсииАдресныхСведений

  

elvan

97 — 07.10.21 — 16:40

(96) Да, в файловой не загружает. Специально на демо проверил. А на сервере все загрузилось в рабочую.

  

elvan

98 — 07.10.21 — 18:04

(96) Настройка программы, раздел Регламентные задания

Нужно выбрать значение в настройке Пользователь для выполнения регламентных заданий в файловом режиме, затем запустить отдельный сеанс под этим пользователем.

  

Mikhail Volkov

99 — 07.10.21 — 19:49

(98) Спс, так загружает Адресный классификатор!

  

shuhard

100 — 08.10.21 — 08:42

(94) не то слово =)

Содержание:

1.     Ошибка при открытии настроек отчета СКД 1С

         Как-то поступило обращение от пользователя с просьбой о помощи. Пользователь открывает отчет, разработанный в системе компоновки данных 1С, нажимает на кнопку «Настройки» и на экран пользователя выводится окно с сообщением об ошибки (Рис. 1). Пример ошибки проиллюстрирован в конфигурации Зарплата и управление персоналом, редакция 3.1.

Рисунок № 1.

         В данном случае ошибка связана с установленной настройкой на вкладке «Условное оформление» (Рис. 2).

Рисунок № 2.

         Это можно увидеть из описания ошибки, которую можно получить, нажав на кнопку «Подробно» (Рис. 3).

Рисунок № 3.

         Увидеть причину ошибки в пользовательском режиме 1С не получится так как при попытке открыть настройки в пользовательском режиме 1С возникает ошибка.

         Когда пользователь завершает работу с отчетом система может автоматически сохранить изменения в настройках или пользователь самостоятельно вручную сохраняет вариант отчета. Через некоторое время разработчик может внести изменения в отчет, которые могут быть не совместимы с сохраненными пользователем или автоматически системой настройками, что может быть причиной ошибки. Теоретически возможно, но маловероятно ошибка была совершена на этапе разработки программистом. Есть разные комбинации подобных ошибок, когда сохраненные настройки начинают конфликтовать со структурой модифицированного (измененного) отчета. В данном случае ошибка возникает при нажатии кнопки «Настройки».

         Может быть заказчик попросил доработать отчет, для этого отчета был создан новый вариант отчета 1С СКД. И этот новый вариант отчета 1С СКД должен был открываться непосредственно с помощью команды, которая размещена в области команд, навигации и действий для определенного раздела. После обновления релиза 1С конфигурации отчет перестает открываться.  

2.     Варианты решения проблемы в конфигурации системы 1С

         Когда удается открыть форму отчета 1С СКД, то одним из вариантов решения проблемы — это установить стандартные настройки 1С. Для этого нужно в окне отчета нажать кнопку «Ещё» (Рис. 4). Из выпадающего списка выбрать команду «Стандартные настройки 1С», но иногда она бывает не доступна.

Рисунок № 4.

         Стандартные настройки 1С — это оригинальный вариант настроек, который определен разработчиком.

         Ошибка может возникать и при открытии отчета. Тогда установить стандартные настройки 1С не получиться, форма отчета 1С СКД не откроется, система будет выводить окно с сообщением об ошибке.

         Если данная проблема возникла в конфигурации Зарплата и управление персоналом, редакция 3.1 нужно открыть раздел «Администрирование»-«Настройки пользователей и прав»-«Настройки пользователей». В окне «Настройки пользователей» нужно открыть вкладку «Настройки отчетов». На вкладке «Настройки отчетов», в списке нужно найти отчет. С помощью кнопки «Очистить» (Рис. 5) удалить настройку по этому отчету.

Рисунок № 5.

Специалист  компании «Кодерлайн»

Быков Владимир

Довольно часто начинающие 1С разработчики сталкиваются с ошибками, которых достаточно легко избежать. Ниже мы рассмотрим топ 11 ошибок и способы их исправления. Также доступна видеоверсия статьи

Содержание

Поле объекта не обнаружено

1С ошибка Поле объекта не обнаружено

Существует множество статей, которые описывают возможные причины возникновения в 1С ошибки “Поле объекта не обнаружено”. Порой это связывают с обновлением платформы, обновлением типового релиза, или с какими-то другими причинами.

Мы же будем оперировать фактами. В конце статьи прилагается внешняя обработка, в которой воспроизведена данная ошибка.

Такое сообщение платформа выдает, когда пытается обратиться к свойству объекта языка, которого у данного объекта нет. Не важно, что это за объект – документ, справочник, таблица значений , или сообщение пользователю.

  • Удалили табличную часть, к которой обращаемся в коде?
  • Переименовали реквизит, а в коде не исправили?
  • Заменили значение со ссылки на неопределено?

Вуаля – платформа выдаст ошибку “Поле объекта не обнаружено”!

Как исправить? Исходя из природы ошибки – переименовать реквизит на нужное имя, отредактировать код, или использовать правильные обращения к стандартным свойствам объекта.

Например, у объекта “СообщениеПользователю” нет свойства “Таблица”, и следующий код приведет к ошибке:

Сообщение = Новый СообщениеПользователю;
Сообщение.Таблица = “Ошибка”;

Индекс находится за границами массива

1С ошибка Индекс находится за пределами массива

Что означает такое сообщение системы? Как правило, с данной ошибкой разработчик сталкивается при некорректной работе с коллекциями. Самые частые случаи появления ошибки “Индекс находится за границами массива”.

  • Использование при обходе коллекции количества элементов вместо индекса. Индексы начинаются с нуля, а количество элементов – с единицы. Поэтому следующий код гарантированно приведет к ошибке: Массив[Массив.Количество()]
  • Последствия удаления элементов из коллекции, очистки коллекции или замены коллекции на пустую
  • Ошибочное увеличение счетчика в цикле “Для”

 Как исправить? Для удаления элементов из коллекции по условию – использовать обратный цикл. Добавлять условие на соответствие счетчика цикла и индекса массива. Не увеличивать счетчик внутри кода цикла Для … Цикл … КонецЦикла

Обращение к процедуре как к функции

ОШибка

Суть этой ошибки в том, что процедура не может возвращать значение. И если мы в коде используем вызов процедуры справа от знака присваивания, это приведет к ошибке.

Данная ошибка имеет две вариации – если используется стандартная процедура из методов какого-нибудь объекта, то фраза будет звучать “Обращение к процедуре объекта как к функции”. Если же использовать процедуру, объявленную в коде, то текст ошибки будет “Обращение к процедуре как к функции”.
При этом ошибка использования процедуры объекта является ошибкой времени выполнения – т.е. на этапе сохранения и проверки конфигурации платформа эту ошибку не обнаружит.

А вот неправильное использование процедуры синтаксическая проверка (Ctrl + F7) успешно обнаруживает, и не даст сохранить конфигурацию или внешнюю обработку/отчет, пока ошибка не будет устранена.

Рассмотрим два примера:

1. Воспроизведем ошибку “Обращение к процедуре как к функции”. При этом платформа не даст сохранить изменения, т.к. не проходит синтакс-контроль.

2. Воспроизведем ошибку “Обращение к процедуре объекта как к функции”. Здесь мы неверно используем метод объекта массива “Добавить”, который является процедурой.

Как исправить? Ошибка тривиальная, и исправление тоже. Чаще всего, достаточно внимательно прочитать описание методов объекта во встроенной справке или синтакс-помощнике. Если метод является процедурой, то значений он возвращать не может. Следовательно, нужно модифицировать код так, чтобы такого ошибочного вызова не было.
Если же используется процедура, объявленная в коде, возможно, есть необходимость изменить ее на функцию, либо также скорректировать код, который эту процедуру использует.

Процедура не может возвращать значение

Родственная предыдущей ошибка. Для того, чтобы код возвращал какое-то значение, следует этот код размещать в функции, а не в процедуре.

В процедуре можно написать ключевое слово “Возврат” без параметров. Это будет означать выход из процедуры.

Следующий код является ошибочным, т.к. в теле процедуры Возврат используется с параметром:

Процедура ПроцедураНеМожетВозвращатьЗначение(Команда)
Возврат "Ошибка";
КонецПроцедуры

Как исправить? Платформа сама подсказывает, в каком месте кода ошибка. Нужно изменить текст модуля – либо удалить параметр у ключевого слова Возврат, либо убрать его вовсе, либо изменить процедуру на функцию – зависит от того, какая логика у вашей процедуры, и как вы предполагаете ее использовать.

Переменная не определена

Такой текст ошибки платформа 1С выдает на этапе синтаксического контроля, при сохранении конфигурации, внешнего отчета или обработки.
Причин у этой ошибки может быть несколько.

  • Опечатка в имени переменной
  • Обращение к переменной, которая нигде в области видимости не объявлена (неявной инициализацией с присвоением значения, явным образом с использованием ключевого слова “Перем”, или передана в качестве параметра)
  • Написание на клиенте серверного кода. Например, обращение к менеджеру справочников “Справочники”, и т.п. Клиентская часть приложения “не видит ” серверные объекты языка
  • Также ошибка может появиться, если ранее код использовался в режиме толстого клиента, но после был запущен в тонком клиенте.

Как исправить?

Внимательно следить за правильностью набранного кода, своевременно объявлять переменные или передавать их в качестве параметров. Писать серверный код только в серверных модулях, а также использовать соответствующие инструкции препроцессора, например “&НаСервере”.

Значение не является значением объектного типа

Ошибка “Значение не является значением объектного типа” может возникнуть при неверном обращении к объекту языка. Объектный тип – это такие объекты языка, которые содержат в себе другие объекты – свойства, реквизиты и т.п. Эти свойства доступны через точку, например “Объект.СвойствоЭтогоОбъекта”

Но если через точку попытаться использовать какое-то значение, которое внутри себя свойств не имеет – например, любое значение примитивного типа – это и приведет к ошибке.

Разберем более сложный пример:

&НаСервере
Процедура ЗначениеНеЯвляетсяЗначениемОбъектногоТипаНаСервере(Справочники = Ложь)
Сообщить(Справочники.Сотрудники.ПустаяСсылка());
КонецПроцедуры

Ошибка может быть “плавающей”. Если вместо параметра по умолчанию “Справочники = Ложь” будет передан менеджер справочников, то ошибки возникать не будет. А если вызвать процедуру без параметров, то будет использоваться параметр по умолчанию с типом Булево, что и приведет к ошибке.

Чаще всего чтобы исправить ошибку, нужно в отладчике посмотреть, какой тип значения используется. Можно внести изменения в код, чтобы обеспечить корректное поведение (например, в запросе вместо наименования товара выбрать ссылку, и в коде через точку уже обращаться к свойствам ссылки, а не текстового наименования). А можно добавить проверку на нужный тип значения. Т.е. – если значение того типа, который мы ожидаем – выполняем код. Иначе – не выполняем.

Ошибка при вызове метода контекста

Ошибка при вызове метода контекста

Обнаружены ошибки в 1С Синтаксическая ошибка

В языке 1С у разных объектов (запросов, справочников, табличных документов и др.) есть предопределенные методы, предусмотренные платформой. Обращение к этим методам требует соблюдения порядка и параметров, правильного синтаксиса и соблюдения условий использования. Например, при чтении табличного документа из файла он не должен быть открыт в другой программе, при подключении к http-соединению оно должно быть доступно, и т.п.

Если эти условия не соблюдать, платформа в зависимости от версии может выдавать сообщения вида “Ошибка при вызове метода контекста”, и далее будут следовать более подробные сведения об ошибке – стек вызовов, приведших к ошибке, номер строки и позиции в строке, где произошла ошибка.

Чаще всего ошибка при вызове метода контекста встречается в следующих методах:

  1. Записать
  2. Прочитать
  3. Выполнить
  4. Создать
  5. ПроверитьВывод

Разберем эту ошибку на примере метода Выполнить объекта Запрос:

Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 1 ГДЕ ИСТИНА И");
Запрос.Выполнить();

В тексте запроса допущена ошибка –  после первого условия “ГДЕ ИСТИНА” указан оператор И, но после него нет еще одного условия. В результате при попытке выполнения запроса, платформа вернет ошибку.

Для исправления ошибки зачастую достаточно внимательно использовать методы, при необходимости уточнять порядок, количество и тип параметров – это можно сделать в справке или синтакс-помощнике (встать курсором на имя метода в коде, и нажать сочетание клавиш Ctrl+F1). В случае запроса – нужно передавать синтаксически корректный текст запроса; в случае проверки вывода на печать – в системе должен быть установлен принтер; в случае подключения к почте – должны быть корректно указаны логин и пароль, и т.п.

Тип не может быть выбран в запросе в 1С 8.3 (8.2)

Ошибка Тип не может быть выбран в запросе

С такой ошибкой начинающие разработчики (да и не только начинающие 😉 ) сталкиваются чаще всего, при чтении запросом данных из таблиц значений, либо из регистров сведений. Все дело в том, что запросы поддерживают далеко не все типы значений. Так, например, нельзя запросом выбрать тип Картинка, ХранилищеЗначений, Шрифт, и многие другие типы, которые не относятся к примитивным или ссылочным типам значений.

Так, если ресурс регистра сведений имеет тип ХранилищеЗначений, выбрать его запросом будет нельзя. Также, если в таблицу значений поместить значения не подходящих типов, а после передать эту таблицу в качестве параметра-источника данных, выполнение запроса также приведет к ошибке “Тип не может быть выбран в запросе”.

Еще одна ситуация, когда запрос будет выдавать ошибку – если таблица значений, которая передается в качестве параметра, имеет не типизированные колонки.

Неверно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент");

Верно:

//ТЗОшибочныйТип.Колонки.Добавить("Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));

Для исправления ошибки нужно правильным образом инициализировать колонки таблицы значений, а также не обращаться в запросе к полям, типы которых запросами не поддерживаются.

Ошибка Использование в 1С модальных окон в данном режиме запрещено​

Платформа будет выдавать такое сообщение, если в коде используются методы, приводящие к открытию модальных окон. Модальные окна – это окна, которые при открытии блокируют весь остальной интерфейс. В 1С есть несколько модальных методов – например – “Вопрос”, “ОткрытьЗначение”, “Предупреждение”. Кроме того, в коде может использоваться модальный синтаксис открытия форм: “ОткрытьМодально()”

Если в свойствах конфигурации выбран режим использования модальности “Не использовать”, то выполнение модальных методов будет приводить к этой ошибке “Использование в 1С модальных окон в данном режиме запрещено”.

Для устранения ошибки можно пойти несколькими путями. Как водится, один – быстрый, другой – правильный 🙂

Быстрый способ – переключить режим использования модальности в положение “Использовать”.

Более правильный способ – использовать в коде немодальные вызовы методов. Например, у метода “Вопрос” есть немодальный аналог  – “ПоказатьВопрос”, у метода “Предупреждение” – “ПоказатьПредупреждение”, и т.п. Чаще всего об этих методах дополнительно указано в синтакс-помощнике и справке.

Кроме того, в последних версиях платформы появились асинхронные методы – “ВопросАсинх”, “ПредупреждениеАсинх” и др. Появление этих методов позволяет писать более простой и понятный асинхронный код, и направлено в первую очередь, на более полноценную поддержку браузерами и работу в веб-клиенте.

1С 8.3 и 8.2: Запись с такими ключевыми полями существует!

Данная ошибка появляется при некорректной записи в регистр сведений. Чаще всего с этой ошибкой сталкиваются начинающие разработчики, не до конца понимающие механизмы работы с ключевыми полями (измерениями).

Суть ошибки следующая – регистр сведений позволяет записать запись (строку таблицы) с уникальным набором ключевых полей – а для периодических регистров также и поля Период. Если следующая запись полностью повторяет значение ключевых полей, но осуществляется методом Записать с параметром Замещать = Истина, то запись в таблице регистра просто заменится на идентичную.

Однако если поместить две абсолютно одинаковые записи в набор записей, и попытаться его записать – платформа выдаст ошибку. Еще один распространенный случай, когда 1С сообщает “Запись с такими ключевыми полями существует” – это запись в периодический регистр сведений с периодичностью от “День” и выше, подчиненный регистратору.

В типовых конфигурациях часто эту ошибку можно воспроизвести, если в пользовательском режиме создать два документа “Установка цен номенклатуры” с одной и той же номенклатурой и за один и тот же день. Попытка провести второй документ приведет к ошибке.

В случае, когда ошибка возникает не в результате действий пользователя, а при выполнении кода, чтобы устранить ее, чаще всего необходимо проанализировать алгоритм записи в регистр. Если запись осуществляется одним набором данных, его предварительно нужно свернуть до уникальных записей. Например, выгрузить в таблицу значений, свернуть, и загрузить в набор записей.

Поле объекта недоступно для записи в 1С

Ошибка Поле объекта недоступно для записи в 1С​

Чаще всего начинающие программисты 1С сталкиваются с этой ошибкой в двух ситуациях.

Первый случай – это попытка редактирования системных полей, недоступных для записи. Например, в модуле формы сама форма будет содержаться в объекте ЭтаФорма. И попытка присвоить этому реквизиту любое значение приведет к ошибке “Поле объекта недоступно для записи”.

Второй случай – и с ним новички как раз допускают больше всего ошибок – это попытка редактирования полей ссылки, а не самого объекта. Чаще всего код выглядит примерно так:

Элемент = Справочники.Сотрудники.НайтиПоКоду("12345");
Элемент.Наименование = "Новое наименование";

Исполнение данного кода приведет к ошибке, т.к. поля ссылки доступны только для чтения, а метод НайтиПоКоду вернет именно ссылку. Чтобы можно было внести изменения, следует из ссылки получить сам объект – используя соответствующий метод ПолучитьОбъект().

Для исправления ошибки зачастую достаточно получить объект из ссылки. В случае же попытки редактирования свойств, доступных только на чтение самый правильный подход – анализировать имеющуюся документацию по этим свойствам, и не пытаться присваивать им значения, если платформа этого не предусматривает.

Ссылка на обработку

По ссылке вы можете скачать внешнюю обработку, в которой воспроизводится большая часть ошибок, описанных в статье. Для воспроизведения части ошибок нужно будет убрать комментарии в коде.

Заключение

Как видите, зачастую ошибки тривиальны, и достаточно просто исправляются. Общие рекомендации – внимательно читать документацию и справку, корректно использовать методы, активно пользоваться отладчиком. Если вы новичок, и хотите освоить программирование в 1С с нуля – могу предложить приобрести мой базовый курс для начинающих. Более подробная информация – по ссылке.

Ошибка после обновления или мой косяк?

Автор ОльгаН, 06 ноя 2014, 12:48

0 Пользователей и 1 гость просматривают эту тему.

Добрый день, коллеги. У меня УПП 1.3. Обновила с релиза 54.1 на 58.2 (последовательно, как позволила система 54.1->55.2->56.2->58.2).  При вводе контактной информации у физлица у пользователя с неполными правами вылетает ошибка «В данной транзакции уже происходили ошибки». Более глубоко читаю: «{ОбщийМодуль.РаботаСОбщимиПеременнымиПовтИсп.Модуль(84)}: Ошибка при вызове метода контекста (Получить)         Возврат Константы[ИмяПараметраВР].Получить();» У пользователя с полными правами все ОК. Понимаю, что где-то косяк с правами, второй день не могу найти. Подскажите, пжлста, куда копать? 


В конфигураторе, Общие / Роли. посмотрите на эту роль, какие стоят права у константы. найдите ту роль у которой есть права на эту константу.
Далее варианта два:
1. Добавить человеку найденную роль которой доступны права
2. Добавить его роли права на эту константу.

Помог? Нажми — Спасибо :)
skype: Soprov1C


У меня есть копия базы с начальным релизом 54.1, где такой заморочки нет. Я сравнила две конфигурации путем сравнения/объединения из файла. Различий в ролях не найдено.


Очень может быть, что наименование константы не то. отладчик в помощь, чтоб посмотреть чему равно ИмяПараметраВР

Помог? Нажми — Спасибо :)
skype: Soprov1C


Прокрутила все еще вчера. Не получилось определить имя константы. Думаю, что проблема где-то глубже. Возможно, где-то произошло прерывание транзакции, т.е. возникла ошибка, которую почему-то система не идентифицировала. В журнале регистрации тоже определить ничего не удалось…

Добавлено: 06 ноя 2014, 14:23


Получила все-таки в отладчике имя константы: ДублироватьСообщенияВЖурналРегистрации. Сразу же проверила права на нее в «хорошей» копии и «плохой» живой базе. Одинаковы.


НУ напишите обработку где просто

Сообщить(Константы.ДублироватьСообщенияВЖурналРегистрации.Получить());

Помог? Нажми — Спасибо :)
skype: Soprov1C


Решила проблемку. Оказалось, скорее мой косяк. Новый ПланОбмена.ОбменУправлениеПроизводственнымПредприятиемДокументооборот не был (в силу некоторых объективных причин) прописан в правах роли Пользователь. Прописала, проблема снялась. Благодарю всех за внимание. Спасибо.


Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’

Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.

Решить данную проблему можно двумя способами.

Способ №1.

Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.

Способ №2.

Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.

Перед этим нам необходимо изменить Параметры контроль учетной записи.

Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.

Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.

В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.

Учетные записи пользователей

Там выбрать Изменить параметры контроля учетных записей.

Параметры контроля учетных записей

Затем поставить ползунок в самом нижнем положении.


Виртуальный 1С помощник

Ползунок параметров контроля учетных записей

И перезапустить компьютер.

После перезагрузки необходимо:

Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».

Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».

Запуск командной строки

У нас откроется Командная строка, где нам необходимо ввести команду:

1.Для платформы x86

Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).

Команда для платформы x86

2.Для платформы х64

Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).

Команда для платформы x64

Затем нажать клавишу Enter.

Если все сделали правильно, то увидите вот такое окно.

Успешное выполнение команды

После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.

Содержание

  1. Решение проблемы
  2. Исправляем ситуацию
  3. Контекстные правила и методы
  4. Несоблюдение правил и методов программного контекста
  5. Ошибки команд
  6. Как узнать правильный метод?
  7. Что полезно знать об ошибках

Любой программист 1С встречался с таким сообщением, как «Ошибка при вызове метода контекста (Выполнить)». Обычно эта ошибка не вызывает затруднения у опытного программиста. Почему она возникает? Рассмотрим ниже.

Как в любом языке программирования, в платформе 1С есть предопределенные методы, которые облегчают жизнь разработчикам. Но выполнение этих команд требует правильного соблюдения синтаксиса языка программирования.

Самые распространенные ошибки при вызове типовых методов:

  • Записать
  • Создать
  • Подключиться
  • Connect
  • ПроверитьВывод
  • PreviewFile1C
  • Прочитать
  • Выполнить
  • ВыполнитьПакет
  • ПрочитатьИзменения

Рассмотрим пример. Мы программно создали запрос (справочник по запросам), передав в параметры «текст» вот такой фрагмент:

Получите 267 видеоуроков по 1С бесплатно:

В конструкции «ГДЕ» мы преднамеренно ошиблись, поставив «И», но не прописав еще одно условие. Совершенно логично, что 1С не сможет справиться с таким запросом и выдаст ошибку:

<МодульСеанса(21)>: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
<(13, 4)>: Синтаксическая ошибка
И >

Рассмотрим еще один пример:

Перенесем ошибочный код в обработчик «ПередЗаписью» справочника «Версии программ» и попробуем записать справочник программно. Видим ошибку:

<МодульСеанса(8)>: Ошибка при вызове метода контекста (Записать)
Выборка.ПолучитьОбъект().Записать();
по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
<Справочник.ВерсииПрограмм.МодульОбъекта(20)>: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
<(13, 4)>: Синтаксическая ошибка
И >

Несмотря на то, что ошибка заключается в выполнения метода «Выполнить», система ругается и на строчку кода, где вызывается программная запись объекта.

Решение проблемы

Для решения проблемы достаточно понять, в чем именно заключается ошибка. В 99% случаев проблема решается банальным чтением справки и анализом проблемы.

Для того чтобы узнать, как пользоваться тем или иным методом, достаточно установить курсор на интересующей Вас функции и нажать «Ctrl + F1». Платформа 1С выдаст Вам контекстную подсказку по требуемому методу:

Проверьте параметры, передаваемые в функцию, и правильность её использования.

Другие статьи по 1С:

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

Исправляем ситуацию

Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.

Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.

Ошибки при использовании той или другой программы встречаются самого разного рода. Из них есть целая серия — которые возникают по нашей вине. Рассмотрим, как исправить ошибку при выводе метода контекста в 1С, возникающую в результате несоблюдения правил и методов контекста.

Понимание принципов функционирования метода контекста поможет избежать ошибок при работе в 1С.

Контекстные правила и методы

Любой программный продукт архитектурно состоит из модулей (module, англ.), частей. Модульные части программы 1С и их местоположение показаны на рисунке:

Программные модули, в свою очередь, состоят из разделов:

Контекст (context, англ.) — это одно из важнейших понятий в программировании. В 1С под ним понимается окружение модуля и его разделов, — какие именно переменные, свойства, объекты, метод (method) и события могут быть ему доступны в каждой конкретной точке. В разных точках context, как правило, уже другой.

Разработчик (доработчик) должен понимать — какие контекстные свойства имеет точка и какой method является доступным для использования в ней.

В восьмёрке выделены контекстные виды:

  • В любой точке конфигурации доступен Глобальный context. Отдельная ветка синтаксис-помощника показывает доступные для вызова функции:
  • Локальный context (более низкого уровня) доступен в точках каждой модульной части;
  • Ещё ниже уровень — локальный context процедуры и так далее.

Базовыми являются основные четыре правила для доступа процедур, переменных, и ф-ций в модулях:

  • В общих модульных частях не будут доступными для экспорта переменные, процедуры и ф-ции модульных приложений;
  • В модульных приложениях есть доступ для экспорта процедур и ф-ций общих модулей;
  • Для общих мод. частей открыт доступ к экспорту процедур и ф-ций прочих общих модулей;
  • Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.

Если какой-либо форме присвоен основной реквизит, то в контексте этой формы будут содержаться свойство и method, отвечающие этому основному реквизиту. К примеру, в модуле формы для элемента справочника Номенклатура доступен method и свойства объекта СправочникОбъект.Номенклатура.

Иллюстрация приведённых правил на схеме:

Стрелками обозначено что одной из модульных частей предоставляется возможность другим по обращению к своим переменным, функциям и процедурам для экспорта. Напоминаем, — в общем модуле не существует объявления переменных.

Несоблюдение правил и методов программного контекста

Все программисты встречались с уведомлением об ошибке 1С при вызове метода контекста. Рассмотрим такой пример:

Ошибки команд

При создании запроса в справочнике в его параметре «текст» был внесён фрагмент:

В конструкции «ГДЕ» было внесено «И», но само условие осталось непрописанным.

Реакция программы была такой:

<МОДСеанса(21)>: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();

Как узнать правильный метод?

Для того чтобы получить подсказку платформы 1С о том, как использовать какой-либо method, поставьте курсор на нужную функцию и нажмите «Ctrl + F1». При возникновении ошибок нужно проверить параметры, которые передаются в функцию, а также правильность использования функции.

Что полезно знать об ошибках

Напоследок проведём общий анализ ошибок в 1С. Любая из них может быть причиной тех, которым посвящена тема статьи:

  • Нарушение как логической, так физической целостности информационной базы;
  • Ошибки пользователей при обращении с платформой;
  • Ошибочно введённый разработчиком (доработчиком) код;
  • Человеческий фактор — например, забывчивость;
  • Чрезвычайные ситуации (отсутствие света, метель, дождь, град, ураган, наводнение).

Провести анализ ошибки:

  • Сравнить релизы платформы и конфигурации;
  • Прочитать полный текст сообщения до конца, некоторое время подумать и понять то, что написала машина. Очень часто люди не читают такие сообщения целиком. Но бывает, что именно в конце его содержатся рекомендации к её устранению;
  • Проанализировать насколько давней она является и обстоятельства её появления;
  • Можно ли её воспроизвести;
  • Невоспроизводимые ранее не встречавшиеся ошибки, как правило, не исправляются;
  • Повторяется ли ошибка с другого компьютера или другим пользователем. В этом случае рассмотреть очистку кэша, настройку прав, очистку пользовательских настроек.

Дополнительно о причинах ошибок:

  • Часть ошибок — это результат использования нелицензионного программного обеспечения (и windows тоже);
  • Повреждённая платформа — это самый распространённый пример. Всего один патч способен взломать версию платформы. После чего можно не обнаружить базу (или лицензию);
  • При первичном столкновении с ошибкой стоит поискать решение в поисковике — возможно решение её уже кем-то найдено;
  • Следите за актуальностью релиза конфигурации (особенно если из них сдаётся регламентированная отчётность);
  • Актуальность релиза платформы — для каждой конфигурации рекомендован свой релиз;
    Все события, происходящие в 1С, протоколируются в технологическом журнале!
  • Перед началом каких-то действий с базой необходимо делать архивную копию!

Теперь вы знаете что такое context, почему возникают связанные с ним ошибки, как анализировать ошибки в 1С и как их решать.

Автор статьи

Ольга Александровна Блохина

Эксперт по предмету «1С:Бухгалтерия»

Предложить статью

Модули в 1С

Как и любая программа, программа 1С состоит из модулей, частей. Существует несколько видов модулей:

  • общие модули (проведение, отчеты, процедуры общего назначения и т.д.);
  • модуль объекта (валюты);
  • модуль формы (форма: списка, элемента, подбора и выбора);
  • модуль приложения.

Программные модули состоят из разделов:

  • объявления переменных;
  • процедур и функций;
  • основной программы.

Определение 1

Контекст в 1С заключается в окружении модуля и его разделов, т.е. это конкретные переменные, свойства, объекты, метод и события которые могут быть доступны в каждой конкретной точке.

Виды контекста:

  • Глобальный контекст указывает открытые для вызова функции;
  • Локальный контекст (более низкий уровень) становится доступен в каждой модульной части.

Существуют правила для доступа процедур, переменных, и функций в модулях:

  • В общем модуле не будут доступны для экспорта переменные, процедуры и функции модульных приложений;
  • В модульных приложениях существует доступ для экспорта процедур и функций общих модулей;
  • В общих модульных частях открыт доступ к экспорту процедур и функций прочих общих модулей;
  • Для модульных прикладных объектов и для модульных форм являются доступными переменные, функции и процедуры модулей приложений для экспорта и общих модулей.

Замечание 1

Если какой-либо из форм присвоен основной реквизит, то в настройках этой формы будут содержаться свойство и метод, которые отвечают этому основному реквизиту.

Ошибка модуля

В программе 1С ошибка модуля называется «Ошибка при вызове метода контекста». Такое сообщение об ошибке программа 1С дополняет пояснениями, которые описывают обстоятельства, вызвавшие сбой. Такие объяснения программа выдает только во второй и третий версиях программы. Данное пояснение находится в скобках после сообщения об ошибке, что существенно сокращает время, потраченное на ее исправление.

«Ошибка модуля в 1С: причины и способы исправления» 👇

Самые распространенные пояснения:

  • записать;
  • создать;
  • подключиться;
  • connect;
  • проверить вывод;
  • previewFile1C;
  • прочитать;
  • выполнить;
  • выполнить пакет;
  • прочитать изменения.

Данная ошибка может возникнуть по причинам:

  • нарушена логическая и физическая целостность информационной базы;
  • ошибки при обращении с программой;
  • разработчиком ошибочно был введен код;
  • внезапное закрытие программы.

Вы можете провести анализ ошибки:

  1. Сравнить версии программы и конфигурации (может быть повреждена платформа).
  2. Прочитать весь текст сообщения, т.к. в конце его содержатся рекомендации к её устранению.
  3. Проанализировать давность ее появления и обстоятельства её появления.
  4. Проверьте, появлялась ли ранее данная ошибка, т.к. невоспроизводимые ранее не встречавшиеся ошибки, чаще всего не исправляются.
  5. Если появившаяся ошибка появляется при пользовании программой под другим пользователем, то эту ошибку можно устранить путем очистки кэша, настройки прав, очистки пользовательских настроек.

Способы устранения ошибки

Замечание 2

Перед началом работы с базой обязательно сделайте архивную копию!

Данная ошибка в 99% случаях легко решается. Для этого вам достаточно проанализировать проблему и вызвать справку. Так же вы можете забить конкретную ошибку с пояснением в поиск и найти решение проблемы.

Перед использованием любого метода вы можете получить подсказку о том, как его использовать. Для этого выберете требуемую функцию и нажмите на клавиши на клавиатуре «Ctrl + F1». Программа откроет подсказку по необходимому методу. В конце работы проверьте параметры, которые передаются в функцию, и правильность её использования.

Замечание 3

В качестве профилактики следите за актуальностью релиза конфигурации.

Находи статьи и создавай свой список литературы по ГОСТу

Поиск по теме

Дата написания статьи: 22.02.2019

Каким образом программно можно удалить фоновое задание зависшее со статусом «Задание завершено с ошибками»?

У меня в базе ночью с помощью Регламентного задания запускаются вспомогательные процедуры, но по каким-то причинам они не отрабатывают. В журнале регистрации ошибок нет.

Я считаю, если оно завершено, нечего ему делать в базе. Если завершилось, пускай высвобождает ресурсы.

Подучаю задания с помощью Массив ФЗ = ФоновыеЗадания.ПолучитьФоновыеЗадания. Потом обхожу полученный массив. Какую функцию нужно вызвать, чтобы удалить фоновое задание?

Пробовал вот так: Получаю ошибку: <Форма.Форма.Форма>: Ошибка при вызове метода контекста (ОжидатьЗавершения): Выполнение одного или нескольких заданий завершилось с ошибкой

Я не понял, кто кому задачу ставит? Хорошо. У тебя есть квадрат на полу, где написано мелом «тут был комп». Как убрать его из комнаты, чтобы он место не занимал?

Свойства: Описание: Состояние фонового задания. См. также: ФоновоеЗадание, свойство Состояние Если завершено (или завершено аварийно), то ресурсы не используются. Чтобы ушло из списка — перезапусти сервер 1с.

это ёперный пистец, и о не связан с нормальной работой 1с. перезапускай севрер. Может код кривой в задании? вызывает утечку памяти?

что за задание? каждые 15 секунд стартует и видимо такая ошибка, что не снимает соединение, а-ля «зависший» сеанс, когда сервак пыхтит и пыхтит над заданием, хотя клиент давно забил

В том-то и дело, что используются. Дело в том, что эта база вспомогательная: она ночью через COM-соедиение коннектится к другим базам и запускает регламентные задания. При этом она не «отпускает» COM-соединение в случае аварийного завершения фонового задания. Вот у меня весь кластер «засран» COM-соединениями и фоновыми заданиями.

код в студию, принудительно отпускай ком соединение в задании. Почему ошибки? в попытки заворачивай подключения и действия, в исключениях — сброс кома

Да, с этим придется разобраться. Идей, как завершить фоновые задания ни у кого не появилось? У меня вопрос не про отладку фонового задания

Да, правильная идея. Я почему-то думал, что можно как-то через ФоновыеЗадания управлять зависшими фоновыми заданиями

+ Т. е. работу платформа делает самостоятельно. Зачем это надо? У меня вот, например, фоновые и регламентные задания запускаются по несколько штук за минуту — и ничего.

ты скрины видишь ? видишь время? они висят день целый, в СЕАНСАХ, а не в ФоновыеЗадания.ПолучитьФоновыеЗадания.

1с доработали адреса в формате фиас и понеслось.
После обновления на УПП 166.2 возникло несколько проблем с заполнением адресов.

1. В контрагенте при сохранении адреса выдается ошибка, когда пытаешься установить номер квартиры, а слово Квартира не выбирается..
ОбщийМодуль.УправлениеКонтактнойИнформациейСлужебный.Модуль(225)>: Ошибка при вызове метода контекста (ЗаписатьJSON)
ЗаписатьJSON(ЗаписьJSON, Значение,, «АдаптацияПолейКонтактнойИнформации», УправлениеКонтактнойИнформациейСлужебный);
по причине:
Передано значение недопустимого типа

2. В документе больничного при попытке выбрать адрес мед. заведения выдается ошибка:
: Поле объекта не обнаружено (ПанельНастроекАдреса)
ФормаРедактированияАдреса.ЭлементыФормы.ПанельНастроекАдреса.Свертка = РежимСверткиЭлементаУправления.Верх;

3. При открытии Классификатора из адресной строки физ лица:
: Тип не определен (ФормаКлиентскогоПриложения)
ТипыСвойств.Вставить(«ФормаВладелец», Тип(«ФормаКлиентскогоПриложения»));

Даже как-то странно. такое количество ошибок, либо они вообще ничего не тестировали, просто накатили обнову и отправили людям.
У кого нибудь есть такие проблемы? Погуглил, таких ошибок не нашел.

Даже как-то странно, что человек после 8 лет общения с 1с обновляется не протестировав изменения.
где-то в 2010 на курсах в 1с Морозов утверждал, что ут почти вся покрыта тестами, а упп — вся.
но судя по кол-ву ошибок — тесты не поддерживаются и не применяются.

(1) Не поверите, но сколько не обновлялся за 20 лет косяков глобальных никогда не было, чтобы нельзя было работать. Вот чего чего, времени на глобальные тесты у меня нет, всех изменений не протестируешь. Если только у кого вагон свободного времени.

Дедушка старый, ему все равно. УПП, судя по всему, совсем не в приоритете у 1С, несмотря на то что они собирают по 8 штук за месячный пинкод обновлений и по 60 — за годовой.

(1) да в общем-то и я действую также. Чтобы тестировать — время надо и людей. Если в ит-отделе полтора человека, то заниматься этим некому. Если что-то вылезет в критичном функционале — подправляем прямо наживую. Что характерно, уже 10 годков существуем в таком режиме и ничего. Но у нас и готовность 24 часа в сутки не нужна, оттого что база будет недоступна, скажем, час — ничего не поменяется. Свет вырубают чаще и на-дольше, чем происходят сбои в ИТ.

Как в 1С производится запуск фоновых заданий, каким образом можно получить список заданий при помощи метода «ПолучитьФоновыеЗадания()?

В одном проекте понадобилось запускать выполнение выгрузки на сайт с сервера.

Пользователь на своем клиенте открывает обработку, устанавливает параметры и нажимает выгрузить.

Выгрузка идет не с компьютера клиента, а создается фоновое задание на сервере!

На клиенте в модуле Кнопки Выгрузить:

ПараметрыФоновогоЗадания — это переменные функции, они задаются по порядку как определены в вызываемой функции.

На сервере в общем модуле МодульРегламентныхЗаданий:

Как Получить фоновые задания?

Напишем в процедуре обработки нажания следующий код:

Текст процедуры на сервере:

Распечатать

Похожие FAQ

Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 10060 (0x0000274C): Попытка установить соединение была безуспешной 19
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools — это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем rphost занимает память и грузит процессор 19
У многих возникают проблемы с rphost.exe, разного вида: rphost занимает всю память rphost грузит процессор rphost жрет память причем 1С даже на запущена, а в диспетчере следующее: ежеминутно расчет на 2-3 мегабайта. Как быть и что делат Посмотреть все результаты поиска похожих

Еще в этой же категории

Регламентные и фоновые задания (создание, настройка, запуск) 41
При работе в 1С встречается много рутинных операций которые должны запускаться или формироваться по расписанию выполняя то или иное действие, например: проведение документов или загрузка данных в 1С с сайта. Недавно я разместил статью: Чтение данн Фоновые задания 1С, примеры работы и параллельного запуска 7
В рамках выполнения проекта столкнулся с интересной задачей ускорения загрузки данных из других информационных баз. Задача загрузки данных предполагала выполнение к внешней базе несвязанных между собой запросов, результаты которых помещаются в одну Посмотреть все в категории Регламентные задания, Фоновые задания

Анна Викулина

Исправляем ситуацию

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

Рис.3 Синтакс-помощник

Рис.3 Синтакс-помощник

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

В данной статье приведен пример работы с фоновыми заданиями, как в 1С производится запуск фоновых заданий, каким образом можно получить список заданий при помощи метода «ПолучитьФоновыеЗадания()». Итак, данный метод возвращает нам некоторый массив. Посмотрим что же он содержит.

Массив фоновых заданий 1С

На рисунке представленном выше видно содержимое данного массива.

Обратите внимание на поле «Состояние». Оно содержит информацию о том, успешно ли было выполнено запущенное фоновое задание или же оно еще выполняется.

Также там содержится информация о неудачном выполнении задания. Еще этот массив содержит информацию о ключах, уникальных идентификаторах, наименовании фоновых заданий. Информация о выполняющихся и выполненных заданиях хранится в информационной базе, но есть ограничение на количество хранимых записей в таблице. Это количество составляет порядка 1000 записей. То есть при добавлении новых элементов старые удаляются. Также задание удаляется из таблицы если оно было выполнено более суток назад.

Пример работы с фоновым заданием 1C — Метод «ПолучитьФоновыеЗадания»

Давайте также рассмотрим работу с фоновыми заданиями на примере метода «ПолучитьФоновыеЗадания()». В данном методе есть возможность установить отбор на получаемые записи. То есть в качестве параметра метода нам нужно передать структуру.

Структура может содержать поля: Уникальный идентификатор, Ключ, Состояние, Начало, Конец, Наименование, ИмяМетода, РегламентноеЗадание.

Например, если бы нам нужны были только выполняющиеся задания мы бы накладывали отбор с именем элемента структуры «Состояние» и значением бы мы указали системное перечисление «СостояниеФоновогоЗадания» в состояние активно. Итак, для начала необходимо добиться того, чтобы в демонстрационной базе появились записи о выполнении фоновых заданий 1С.

Общий модуль ОбработчикиФоновыхЗаданий

Для реализации примера сделаем следующее:
1. Создадим общий модуль «ОбработчикиФоновыхЗаданий», выполняемый на сервере.

И добавим в него следующий код:

Процедура ПроизвестиФоновоеВычисление ( Параметр ) Экспорт

Пока ТекущаяДата ( ) — ВремНач Цикл

2. Создадим обработку, разместим на форме кнопку «Выполнить задание в фоне» и в процедуре обработки события нажатия на кнопку добавим код:

Описание вызываемой процедуры:

Теперь запустим 1С в режиме предприятия и запустим выполнение фонового задания.

Кнопка Выполнить задание в фоне

Готово. Этими действиями мы добились того, что в нашей демонстрационной базе появились записи о выполнении фоновых заданий 1С и теперь можно продемонстрировать пример получения их массива, содержащегося в нашей базе.

Добавим на форму еще одну кнопку «Получить фоновые задания». Напишем в процедуре обработки нажания следующий код:

Текст процедуры на сервере:

Запустим 1С на выполнение и нажмем кнопку «Получить фоновые задания».

Кнопка Получить фоновые задания

Надеюсь приведенный выше пример дал вам некоторое понятие о механизме фоновых заданиях реализованном в системе 1С. Более детально ознакомиться со всеми тонкостями вы можете во встроенном синтакс-помошнике 1С.

Вы еще не читали? Вам это будет интересно.

Рабочие процессы 1С

Пример работы с деревом значений в 1С. Часть вторая - Добавление возможности проставления галок и сопоставление строке картинки.

Пример работы с деревом значений в 1С. Часть вторая — Добавление возможности проставления галок и сопоставление строке картинки.Рассмотрим на примере, как в дерево значений добавить возможность проставления галок и сопоставлять каждой конкретной строке требуемую нам картинку.

Пример работы с деревом значений в 1С. Часть первая - добавление строк.

Пример работы с деревом значений в 1С. Часть первая — добавление строк.Работа с деревом значений немного отличается от работы с таблицей значений, в частности это видно на операции добавления строк. Смотрим на примере.

Отладка фоновых (регламентных) заданий в 1С 8

Отладка фоновых (регламентных) заданий в 1С 8Иногда возникает необходимость отладить фоновое (регламентное) задание. Как раз с этим-то, зачастую, и возникает проблема.

Удаленное программирование в 1С. Какие преимущества?

Удаленное программирование в 1С. Какие преимущества?Выбирая сотрудничество с удаленным программистом 1С, вы выбираете правильную экономию ваших средств и высокое качество выполнения задач.

Читайте также:

      

  • Как удалить файл machineguid txt
  •   

  • Ошибка sql переполнение поля 1с
  •   

  • Эксель смещение как использовать
  •   

  • What s next что это за программа на андроид
  •   

  • Из каких элементов состоит окно microsoft office project 2007

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • 1с ошибка при вызове метода контекста получитьобласть
  • 1с ошибка формата потока config
  • 1с ошибка при вызове метода контекста получитьизвременногохранилища
  • 1с ошибка формата поток
  • 1с ошибка при вызове метода контекста получитьcomобъект

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: