Ошибка при выполнении обработчика обработказаполнения

Ошибка создания счёта (ОбработкаЗаполнения)

Я
   welijow479

30.07.20 — 22:38

Здравствуйте, я уже жалею что прикоснулся к программному продукту, который нужно законом запретить выпускать за свою ‘стабильность’.

Работаю с интеграцией по reat протоколу. Написал код, отладил, загрузил, а он не работает. Стал разбираться и пришёл к такому результату: выполняю один код, на одном сервере с одинаковыми параметрами:

Бухгалтерия предприятия, редакция 3.0 (3.0.80.36), — при вставке счёта вылезает ошибка 500 с текстом «Ошибка при выполнении обработчика — ‘ОбработкаЗаполнения’.».

Бухгалтерия предприятия, редакция 3.0 (3.0.77.78), — успешно вставляет счёт без каких либо ошибок.

Я даже сниффером трафик снял ( https://pastebin.com/zSYX2yMb ) и совершенно не понимаю чего ещё нужно этой программе..

   МихаилМ

1 — 30.07.20 — 22:43

   Ёпрст

2 — 31.07.20 — 00:31

(0) значит в более новой редакции есть еще какой то реквизит, обязательный к заполнению, которого в старой редакции не было.

Откройте 1с-ину и сделайте тоже самое ручонками, оно напишет, чего не хватает

   welijow479

3 — 31.07.20 — 00:55

(2) нету обязательных полей в счёте, — Создаю счёт и нажимаю записать, готово. Собственно в схеме «/odata/standard.odata/$metadata» тоже написано что нету обязательных полей.

   Ёпрст

4 — 31.07.20 — 01:06

(3) если эту шляпу переписать с json на xml, не пробовал ?

   Ёпрст

5 — 31.07.20 — 01:08

И это.. там же вроде в OData надо доступные объекты галочками ментить.. этот счёт в новой редакции помечен ?

   Ёпрст

6 — 31.07.20 — 01:09

в самой 1с-ине.

   welijow479

7 — 31.07.20 — 01:12

(4) xml не пробовал, нужно много кода править :(

В настройках да, включил «Счет покупателю» и он включил пару сотен связанных объектов, всё как на старой версии.

   Ёпрст

8 — 31.07.20 — 01:23

Непонятно, схрена ли этот обработчик вообще вызывается, ты же не ввод на основании лепишь, или это другая ошибка ?..хз, rest -ом не баловался

   Ёпрст

9 — 31.07.20 — 01:24

посмотри в модуле дока в пофигураторе, в чем разница в релизах в ОбработкаЗаполенния

   Ёпрст

10 — 31.07.20 — 01:43

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

   Ёпрст

11 — 31.07.20 — 01:44

А то, хз как таи рест реализовпн, если по гуиду не найдет, будет пустая ссылка и будет тебе «не заполнено» обязательное поле

   welijow479

12 — 31.07.20 — 01:50

(9) проверил. Вообще весь код объекта «СчётНаОплатуПокупателю» одинаковый, метод «ОбработкаЗаполнения» тоже.

(10) все guid забивались на новую конфигурацию, через админу сайта: ( Сайт делает запрос, получает список, отображает его, я выбираю и сохраняю в свою БД, далее использую этот ID ).

*накатывает депрессия*

   welijow479

13 — 31.07.20 — 01:52

(11) но я скажу больше, на старой версии я могу передать пустой массив «{}» и счёт создастся, без полей вообще, но он будет и ошибок не будет.

В новой пробовал передавать пустой массив, — ошибка.

   acht

14 — 31.07.20 — 07:25

(0) > я уже жалею что прикоснулся

(12) > накатывает депрессия

Скажите, а подход «а вот я такой, а что ей надо — непонимаю», он у вас только с программным обеспечением?

   hhhh

15 — 31.07.20 — 07:32

(14) наверно, с бабами еще

   welijow479

16 — 31.07.20 — 12:34

(14) нет, только к таким прогам где полностью отсутствует внятная документация, а все статьи и книги на протяжении 400 страниц пережёвывают сопли на тему нажатия пары кнопок, которые и так очевидны, ничего конкретного, ничего по делу.

Если Вы такой умненький, скажите, в чём дело. Я предоставил всю информацию, и запрос и версии ПО. Подскажите что по делу а не посты на форуме набивайте.

Хотя сообщество 1с, это идеальное сообщество, где можно показать весь свой пафос в придачу с менталитетом…

По делу кто что скажет?

И спасибо пользователю Ёпрст, который пытался помочь.

   Ёпрст

17 — 31.07.20 — 12:48

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

   Ёпрст

18 — 31.07.20 — 12:53

Открой дерево метаданных в пофигураторе этого документа, посомтри, у каких реквизитов стоит галка выдавать ошибку , если не заполнено.

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

   Ёпрст

19 — 31.07.20 — 12:54

Или вообще не передаешь своим рестом.

   welijow479

20 — 31.07.20 — 13:23

(17) POST запрос только один, но я попробую что-нибудь другое добавить и проверить, но все GET запросы отрабатывают успешно.

(18) из всех обязательных полей (Организация, Контрагент, ОрганизацияПолучатель, СтруктурнаяЕдиница) не был передан последний, как я понял это счёт организации, но его добавление никак не изменила картину.

   acht

21 — 31.07.20 — 13:43

(16) https://ibb.co/f0cLBTS

У тебе есть, например, осознание хотя бы различных контекстов компиляции? Очевидно ему…

   Ёпрст

22 — 31.07.20 — 13:48

(20) табличной части там нет ? Мот там есть обязательные поля к заполнению, которые не пихаешь

   welijow479

23 — 31.07.20 — 13:57

(21) а у Вас есть хотя-бы представления о регистрах вводавывода архитектуры AVR? или о том, как 8’ми битный процессор считает 64 битный числа, как происходит математика типа float?

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

(22) В табличных частях тоже самое, только один момент, там есть таблицы ( ВозвратнаяТара и УдалитьУслуги ), я их вообще не передаю, не понял, они нужны или нет, или нужно передавать пустой массив…

   acht

24 — 31.07.20 — 13:59

(23) И про математику с фиксированной точкой я тебе тоже могу рассказать. Подозревает он…

   Ёпрст

25 — 31.07.20 — 14:02

(23) вот хз, я с rest 1с-овским не работал, у нас свои интеграции с сайтами

Пробуй на другом объекте попроще, слепить свой запрос.

   Ёпрст

26 — 31.07.20 — 14:03

Или.. конфу обнови до другого релиза, раз на старом работало

   Ёпрст

27 — 31.07.20 — 14:03

сравнением конфы можно посмотреть, че там поменяли жешь..

   welijow479

28 — 31.07.20 — 14:08

(27) Принял, попробую сравнить, спасибо.

О результатах отпишусь, если не забанят :)

   Ёпрст

29 — 31.07.20 — 14:09

Мот какую подписку добавили..хз, мне лень на сервак буховский топать, я даже не помню, какая БП у нас стоит, 3 или 2 ?..они там сами копашаться в ней

   welijow479

30 — 31.07.20 — 14:55

(27) не уверен что я корректно понимаю этот файл ( https://pastebin.com/gTs16pNv ), но вроде ничего криминального нету.

основная конфигурации — старая, рабочая.

файл — новая, не рабочая.

   Ёпрст

31 — 31.07.20 — 15:18

(30) не, это всё похрен.

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

   acht

32 — 31.07.20 — 15:27

(31) GET тупо читает данные из базы. POST/PUT/PATCH что-там-у-них дополнитеьно вызывают работу программной логики. Ошибки логгируются в известные места.

   welijow479

33 — 31.07.20 — 15:36

(31) да, ещё раз проверил вручную все id, всё возвращается, всё на месте.

(32) так откройте тайну, где они логируются? Я журнале регистрации есть только запись о входе пользователя.

   Ёпрст

34 — 31.07.20 — 15:38

(33) тут только если тех журнал настраивать и смотреть че там.

   Ёпрст

35 — 31.07.20 — 15:50

пробуй на другом объекте..справочник, например, записать

   welijow479

36 — 31.07.20 — 15:52

(34) настроил, вот вывод логов:

48:25.247004-0,EXCP,0,process=httpd,OSThread=5060,Usr=odata.user,Exception=0d2200af-1696-4395-91e5-2872675e6d3d,Descr=’srcStandardODataApiServiceImpl.cpp(204):

0d2200af-1696-4395-91e5-2872675e6d3d: Ошибка при выполнении обработчика — »ОбработкаЗаполнения»

8d366056-4d5a-4d88-a207-0ae535b7d28e: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)

{ОбщийМодуль.ОбщегоНазначения.Модуль(1374)}:    ПараметрЗапускаПриложения = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить(«ПараметрЗапуска»);

{Справочник.Организации.МодульМенеджера(82)}:        Если ОбщегоНазначения.РежимОтладки() Тогда

{ОбщийМодуль.БухгалтерскийУчетПереопределяемый.Модуль(1676)}:        Возврат Справочники.Организации.ОрганизацияПоУмолчанию(ИмяПользователяИБ);

{ОбщийМодуль.ЗаполнениеДокументов.Модуль(404)}:        ОсновнаяОрганизация = БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию(«ОсновнаяОрганизация»);

{Документ.СчетНаОплатуПокупателю.МодульОбъекта(491)}:    ЗаполнениеДокументов.Заполнить(ЭтотОбъект, ДанныеЗаполнения);

f08d92f8-9eb2-4e19-9dd9-977d907cec2d: Нарушение прав доступа!’

Что-то уже вменяемое, но непонятно :

   Ёпрст

37 — 31.07.20 — 16:00

(36)

>>>>Нарушение прав доступа!

   Ёпрст

38 — 31.07.20 — 16:00

Прав у тя нет короче, на создание объектов в базе этой.

   Ёпрст

39 — 31.07.20 — 16:00

под этим юзверем

   welijow479

40 — 31.07.20 — 16:13

(38) но я использую пользователя, который был создан при включении odata интерфейса: https://ibb.co/TcRSSSw

   Ёпрст

41 — 31.07.20 — 16:22

(40) ага, но судя по ошибки, у этого пользователя нет прав на этот док

  

welijow479

42 — 31.07.20 — 16:41

(41) да, и Вы были правы. Выдал Полные права и всё заработало.

На версии, на которой я всё отлаживал, всё работало потому что в системе не было пользователей…

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

Надеюсь кошелёк в ЯД актуальный. Не много, но ..

Добрый день,

Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.37.05)1С:Предприятие 8.3 (8.3.20.1789)

Проблема в следующем, когда на основании документа «Перемещение товаров в производство» или «Реализация товаров» создаем «Расходный складской ордер» выходит ошибка:
«Ошибка при выполнении обработчика — ‘ОбработкаЗаполнения’
по причине: {Документ.РасходныйСкладскойОрдер.МодульОбъекта(725)}: Преобразование значения к типу Число не может быть выполнено»

Но если создать РСО через Корзину, ошибок нет.
Подскажите, в чем может быть проблема?
Когда точно начала выскакивать эта ошибка, неизвестно, т.к. сотрудники при возникновении ошибки заполняют РСО через Корзину. Но на предыдущем релизе данная ошибка также была.

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

    Ошибка при выполнении обработчика — ‘ОбработкаЗаполнения’
    по причине:
    {ОбщийМодуль.ОбщегоНазначения.Модуль(3824)}: Поле объекта не обнаружено (Ссылка)

    проверка и исправление ошибок ничего не дает. Что еще можно попробовать?


  2. svet

    Offline

    svet
    Профессионал в 1С
    Команда форума

    Регистрация:
    9 ноя 2007
    Сообщения:
    2.065
    Симпатии:
    64
    Баллы:
    54

    А что у вас написано в строке 3824 общего модуля ОбщегоНазначения?

    Поставьте точку отладки на эту строку и посмотрите по отладчику что там берется.


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

@devig, сложно сказать, ведь обязательные поля при создании какого-либо объекта всегда индивидуальны для используемой конфигурации 1С. Привожу пример создания заказа для УТ 11:

$odata = array (
  'Number' => 'ORDER-NB-128938',
  'Date' => '2019-05-15T09:27:51+03:00',
  'ЖелаемаяДатаОтгрузки' => '2019-05-15T00:00:00+03:00',
  'ДатаОтгрузки' => '2019-05-15T00:00:00+03:00',
  'Организация_Key' => '2b3e8ebe-c1c2-11e6-d495-00155dd9fc47',
  'Партнер_Key' => '473eac84-c1b3-11e6-3b95-00155dd9fc47',
  'Контрагент_Key' => '335e9bcc-76ea-11e9-ce91-4110cd835450',
  'Соглашение_Key' => 'd8e27e68-c370-11e6-d495-00155dd9fc47',
  'Сделка_Key' => '00000000-0000-0000-0000-000000000000',
  'Валюта_Key' => 'ec4378f4-c1b3-11e6-3b95-00155dd9fc47',
  'СуммаДокумента' => 28990.0,
  'ГрафикОплаты_Key' => '00000000-0000-0000-0000-000000000000',
  'Склад_Key' => '4a1b565a-c1c2-11e6-d495-00155dd9fc47',
  'Менеджер_Key' => '3df9babc-1042-11e9-2580-3561ecf9b9a1',
  'НеОтгружатьЧастями' => true,
  'Статус' => 'КОбеспечению',
  'МаксимальныйКодСтроки' => 2,
  'ПорядокОплаты' => 'РасчетыВРубляхОплатаВРублях',
  'ЭтапыГрафикаОплаты' => 
  array (
    0 => 
    array (
      'LineNumber' => '1',
      'ВариантОплаты' => 'КредитПослеОтгрузки',
      'ДатаПлатежа' => '2019-05-15T00:00:00+03:00',
      'ПроцентПлатежа' => 100,
      'СуммаПлатежа' => 28990.0,
      'ПроцентЗалогаЗаТару' => 0,
      'СуммаЗалогаЗаТару' => 0,
    ),
  ),
  'Товары' => 
  array (
    0 => 
    array (
      'LineNumber' => 1,
      'КодСтроки' => 1,
      'ДатаОтгрузки' => '2019-05-15T00:00:00+03:00',
      'Номенклатура_Key' => '40366f94-cded-11e6-e880-00155dd9fc47',
      'Характеристика_Key' => '00000000-0000-0000-0000-000000000000',
      'Упаковка_Key' => '00000000-0000-0000-0000-000000000000',
      'КоличествоУпаковок' => '1',
      'Содержание' => 'Куртка пух муж BASK TAIMYR',
      'Количество' => '1',
      'ВидЦены' => 'b9bb5abe-c370-11e6-d495-00155dd9fc47',
      'СтавкаНДС' => 'БезНДС',
      'СуммаНДС' => 0,
      'Цена' => '28990',
      'Сумма' => 28990.0,
      'СуммаСНДС' => 28990.0,
      'ПроцентРучнойСкидки' => '0',
      'СуммаРучнойСкидки' => '0.00',
      'Склад_Key' => '4a1b565a-c1c2-11e6-d495-00155dd9fc47',
      'ВариантОбеспечения' => 'Отгрузить',
    ),
    1 => 
    array (
      'LineNumber' => 2,
      'КодСтроки' => 2,
      'ДатаОтгрузки' => '2019-05-15T00:00:00+03:00',
      'Номенклатура_Key' => '0bb4403c-d0f6-11e6-2786-00155dd9fc47',
      'Характеристика_Key' => '00000000-0000-0000-0000-000000000000',
      'Упаковка_Key' => '00000000-0000-0000-0000-000000000000',
      'КоличествоУпаковок' => 1,
      'Количество' => 1,
      'ВидЦены' => '00000000-0000-0000-0000-000000000000',
      'СтавкаНДС' => 'БезНДС',
      'СуммаНДС' => 0,
      'Цена' => '0',
      'ПроцентРучнойСкидки' => 0,
      'СуммаРучнойСкидки' => 0,
      'Сумма' => 0,
      'СуммаСНДС' => 0,
      'ВариантОбеспечения' => 'Отгрузить',
      'Содержание' => 'Самовывоз',
    ),
  ),
);
$data = $client->{'Document_ЗаказКлиента'}->create($odata);
if(!$client->isOk()) {
    var_dump($id,$odata,$client->getErrorCode(),$client->getErrorMessage());
    return false;
} else {
    if(!$id) $id = $client->getLastId();
    ...
}

При попытке создать новый документ «Платежное поручение» выдаётся ошибка Ошибка при выполнении обработчика — ‘ОбработкаЗаполнения’ по причине: {ОбщийМодуль.ЗаполнениеДокументов.Модуль}: Значение не является значением объектного типа (Метаданные) Возможно, ошибка из-за того, что 1С переводили с 8.1 на 8.3 Подскажите, что дописать нужно в код:

начать с того что проверить чему равные на входе переменные ДокументОбъект и МетаданныеДокументаОснования

Они пустые, т.к. (забыл сказать) я создаю новый документ, не на основании. Не понимаю, при чём здесь процедура заполнения на основании…

Поправить необходимо процедуру ОбработкаЗаполнения.

Обработка заполнения вызывается всегда, даже если заполняется не на основании. ДокументОбъект не может быть совсем пустым, там должен быть объект метаданных

не объект метаданных, а документ объект

В ДокументОбъект значение «Платежное поручение входящее  от 01.01.0001 0:00:00» А так как у нас вообще нет ни одного платёжного поручения входящего, то я и подумал, что это пустое значение.

а как это значение туда попадает? можно кусочек предыдущего кода?

В модуле создаваемого документа я нашёл только вот это: И больше не знаю, где искать. При попытке создать вызывается , как я понял, процедура ОбработкаЗаполнения, а почему ЭтотОбъект на этот момент уже имеет такое значение, не пойму.

уверен что на входе процедуры ЗаполнитьШапкуДокументаПоОснованию ДокументОбъект документ имеет тип ДокументОбъект.Имя документа и ДокументОснование, что там именно объект а не неопределено к примеру? я к примеру совсем не уверен что у тебя основание имеет тип ДокументОбъект а не структура какая нить к примеру

если тебе нужны метаданные передавай туда пустую ссылку, а не еще не записанный объект

Тэги: 1С 8

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

Понравилась статья? Поделить с друзьями:
  • Ошибка при выполнении обработчика обработка проведения
  • Ошибка при выполнении метода объекта компоненты
  • Ошибка при выполнении метода контекста выполнить
  • Ошибка при выполнении internetopen код 12001
  • Ошибка при выполнение метода подключить обработку