Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 15:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка при выполнении обработчика - 'ОбработкаПроведения'  (Прочитано 1547 раз)

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

Оффлайн DK502

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-25
  • Сайт: 
  • Профессия: Программист 1С
Всем привет! При попытке проведения документа "Движение топлива" вылезает ошибка
Ошибка при выполнении обработчика - 'ОбработкаПроведения' {Документ.СписаниеНефтепродуктов1(49)}: Значение не является значением объектного типа (Пустая)
            Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда

Текст процедуры выглядит так:

 ПроверитьЗаполнение(Отказ);
   
   Остаток = РассчитатьОстаток();
   
   Таблица = Новый ТаблицаЗначений;
   Таблица.Колонки.Добавить("Контрагент");
   Таблица.Колонки.Добавить("ВидТоплива");
   Таблица.Колонки.Добавить("Количество");
   Таблица.Колонки.Добавить("ДокументОприходования");
   Таблица.Колонки.Добавить("Дата");
   
      
   Остатки = РегистрыНакопления.Партии;
   Фильтр = Новый Структура;
   Фильтр.Вставить("ВидТоплива",ВидТоплива);
   Фильтр.Вставить("Контрагент", Контрагент);
   ТабОстатков = Остатки.Остатки(Дата,Фильтр);
   ТабОстатков.Колонки.Добавить("Дата");
   Если ТабОстатков.Количество() <> 0 Тогда
      Для Каждого Стр Из ТабОстатков Цикл
         Если НЕ Стр.ДокументОприходования.Пустая() И Стр.Количество > 0 Тогда
            Стр.Дата = Стр.ДокументОприходования.Дата;
            НоваяСтрока = Таблица.Добавить();
            НоваяСтрока.Контрагент = Контрагент;
            НоваяСтрока.ВидТоплива = ВидТоплива;
            НоваяСтрока.Количество = Стр.Количество;
            НоваяСтрока.Дата = Стр.Дата;
            НоваяСтрока.ДокументОприходования = Стр.ДокументОприходования;
         КонецЕсли;
      КонецЦикла;
   КонецЕсли;
   Таблица.Сортировать("Дата");

Когда ставлю точку останова, то в строке
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда

Стр.ДокументОприходования.Пустая() = Ложь
Стр.Количество = 0.

Значит, дело всё же в Стр.Количество? Т.к. условие 0>0 не выполняется, поэтому он не хочет выполняться? Или в чём дело? Подскажите, пожалуйста.


Оффлайн morph1991

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 1
  • КПД: 5%
  • Регистрация: 2014-03-24
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет! При попытке проведения документа "Движение топлива" вылезает ошибка
Ошибка при выполнении обработчика - 'ОбработкаПроведения' {Документ.СписаниеНефтепродуктов1(49)}: Значение не является значением объектного типа (Пустая)
            Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда

Текст процедуры выглядит так:

 ПроверитьЗаполнение(Отказ);
   
   Остаток = РассчитатьОстаток();
   
   Таблица = Новый ТаблицаЗначений;
   Таблица.Колонки.Добавить("Контрагент");
   Таблица.Колонки.Добавить("ВидТоплива");
   Таблица.Колонки.Добавить("Количество");
   Таблица.Колонки.Добавить("ДокументОприходования");
   Таблица.Колонки.Добавить("Дата");
   
      
   Остатки = РегистрыНакопления.Партии;
   Фильтр = Новый Структура;
   Фильтр.Вставить("ВидТоплива",ВидТоплива);
   Фильтр.Вставить("Контрагент", Контрагент);
   ТабОстатков = Остатки.Остатки(Дата,Фильтр);
   ТабОстатков.Колонки.Добавить("Дата");
   Если ТабОстатков.Количество() <> 0 Тогда
      Для Каждого Стр Из ТабОстатков Цикл
         Если НЕ Стр.ДокументОприходования.Пустая() И Стр.Количество > 0 Тогда
            Стр.Дата = Стр.ДокументОприходования.Дата;
            НоваяСтрока = Таблица.Добавить();
            НоваяСтрока.Контрагент = Контрагент;
            НоваяСтрока.ВидТоплива = ВидТоплива;
            НоваяСтрока.Количество = Стр.Количество;
            НоваяСтрока.Дата = Стр.Дата;
            НоваяСтрока.ДокументОприходования = Стр.ДокументОприходования;
         КонецЕсли;
      КонецЦикла;
   КонецЕсли;
   Таблица.Сортировать("Дата");

Когда ставлю точку останова, то в строке
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда

Стр.ДокументОприходования.Пустая() = Ложь
Стр.Количество = 0.

Значит, дело всё же в Стр.Количество? Т.к. условие 0>0 не выполняется, поэтому он не хочет выполняться? Или в чём дело? Подскажите, пожалуйста.

Попробуй заменить Стр.ДокументОприходования.Пустая() на ПустаяСтрока(Стр.ДокументОприходования)

Оффлайн TreeDogNight

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 28
  • КПД: 14%
  • Регистрация: 2013-10-16
    • Skype: treedognight3
  • Сайт: www.avars.uz
  • Профессия: Программист 1С
Попробуй так
Если ЗначениеЗаполнено(Стр.ДокументОприходования)
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
ну-ну
Стр.ДокументОприходования - скорее всего имеет составной тип данных, и может быть не заполнен в регисте, соответственно иметь значение = Неопределено.
Функция ЗначениеЗаполнено() будет ругаться в этом случае.
Поэтому проверку условия надо начинать с этого
...
Если Стр.ДокументОприходования <> Неопределено и ЗначениеЗаполнено(Стр.ДокументОприходования) ...
...
Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4542
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 6099
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4207
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8519
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8569
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
alex0402
52 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal