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

Автор Тема: Ошибка "Поле объекта не обнаружено (Материал)  (Прочитано 4518 раз)

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

Оффлайн Danonya

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-03-04
  • Сайт: 
  • Профессия: Разработчик 1С
Здравствуйте. При выполнении оптимизации процедуры проведения документа "Оказание услуги" (по книге Радченко), написав код в модуле документа (он находится ниже) в режиме откладка при проведении документов выходит ошибка "Поле объекта не обнаружено (Материал)". Уже все перерыла,2 дня парюсь незнаю что делать. Кто может помогите:(
Базу тоже подкрепила.
Процедура ОбработкаПроведения(Отказ, Режим)

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

   Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

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

       // Сформировать движения.
       Если ВыборкаРезультатаЗапроса.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда

           // Регистр ОстаткиМатериалов Расход.
           Движение             = Движения.ОстаткиМатериалов.Добавить();
           Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
           Движение.Период      = Дата;
           Движение.Материал    = ВыборкаРезультатаЗапроса.Номенклатура;
           Движение.Склад       = Склад;
           Движение.Количество  = ВыборкаРезультатаЗапроса.Количество;

           // Регистр СтоимостьМатериалов Расход.
           Движение             = Движения.СтоимостьМатериалов.Добавить();
           Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
           Движение.Период      = Дата;
           Движение.Материал    = ВыборкаРезультатаЗапроса.Номенклатура;
   
           // Расчитать стоимость материала.
           СтоимостьМатериала = ?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null,
          0,
          ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток);
   Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;
   
   // По регистру Управленческий.

   // Первая проводка: Д 62(ДебиторскаяЗадолженность) - К 90 (Капитал) - розничная сумма.
   Движение        = Движения.Управленческий.Добавить();
   Движение.СчетДт =  ПланыСчетов.Основной.ДебиторскаяЗадолженность;
   Движение.СчетКт = ПланыСчетов.Основной.Капитал;
   Движение.Период = Дата;
   Движение.Сумма  = ВыборкаРезультатаЗапроса.Сумма;
   Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Клиенты] = Клиент;

   // Вторая проводка: Д 90 (Капитал) - К 41 (Товары) - себестоимость.
   Движение = Движения.Управленческий.Добавить();
   Движение.СчетДт       = ПланыСчетов.Основной.Капитал;
   Движение.СчетКт       = ПланыСчетов.Основной.Товары;
   Движение.Период       = Дата;
   Движение.Сумма        = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;
   Движение.КоличествоКт = ВыборкаРезультатаЗапроса.Количество;
   Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] =
   ВыборкаРезультатаЗапроса.Номенклатура;


КонецЕсли;

// Регистр Продажи.
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаРезультатаЗапроса.Номенклатура;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = ВыборкаРезультатаЗапроса.Количество;
Движение.Выручка = ВыборкаРезультатаЗапроса.Сумма;
Если ВыборкаРезультатаЗапроса.ВидНоменклатуры  =
   Перечисления.ВидыНоменклатуры.Материал Тогда
   Движение.Стоимость = СтоимостьМатериала * ВыборкаРезультатаЗапроса.Количество;
Иначе
   Движение.Стоимость = 0;
КонецЕсли;
   
КонецЦикла;

// Записать движения регистров
Движения.ОстаткиМатериалов.Записать();
Движения.СтоимостьМатериалов.Записать();
Движения.Продажи.Записать();

КонецПроцедуры


Оффлайн SitnovaMarina

  • Помогла? Скажи "Спасибо"!
  • ****
  • Сообщений: 358
  • РЕПУТАЦИЯ: 71
  • КПД: 20%
  • E-mail: Marishka0604@yandex.ru
  • Регистрация: 2014-09-12
    • Skype: Marishka0604991
  • Сайт: vk.com
  • Профессия: Программист 1С
На какую строчку кода ругается?

Скиньте скин всей ошибки (или перепишите), нажав на Подробно..
Народная мудрость: Программу встречают по интерфейсу

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Замените по всему тексту "Материал" на "Метериал" - как у вас задано значение перечисления - и будет вам счастье ))

Оффтоп: А чего это вы под 8.1 программите?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Дмитрий@

  • *****
  • Сообщений: 759
  • РЕПУТАЦИЯ: 138
  • КПД: 18%
  • Регистрация: 2015-02-27
  • Сайт: 
  • Профессия: Программист 1С
Проверьте перечисление "Виды номенклатуры", есть ли элемент "материал".
Проверьте регистр накопление на присутствие поля "материал".
И если можно скиньте незаархивированную базу

Оффлайн Danonya

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-03-04
  • Сайт: 
  • Профессия: Разработчик 1С
На какую строчку кода ругается?

Скиньте скин всей ошибки (или перепишите), нажав на Подробно..

Добавлено: 04 Мар 2015, 11:44

Всем спасибо! Ошибка найдена!


Теги:
 

Закрытие месеца, ошибка при закрытие 26сч

Автор GendelfРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 4526
Последний ответ 26 Июл 2013, 11:00
от Gendelf
Какие ответственные лица могут быть указаны в регистре сведений "Ответственные л

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4563
Последний ответ 25 Ноя 2008, 11:07
от DDD
ОШИБКА 1С 8.3. Файл не найден в хранилище файлов. Возможно файл удален антивирусной программой. Обратитесь к администратору

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

Ответов: 6
Просмотров: 7696
Последний ответ 18 Май 2016, 18:18
от Сергей Батурин
При попытке проведения документов по НДФЛ (справка 2 НДФЛ ) вылезает ошибка:

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

Ответов: 1
Просмотров: 3117
Последний ответ 19 Фев 2015, 20:54
от vitasw
При входе пользователя 1с77 по RDP (Server2008) выдается ошибка и выпадает 1с77

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

Ответов: 1
Просмотров: 1941
Последний ответ 07 Дек 2016, 09:17
от alex0402

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
163 Сообщений
alex0402
72 Сообщений
oleg-x
63 Сообщений
AIFrame AIFrame
54 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
41 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
KOI8-R
31 Сообщений

* Кто онлайн

  • Точка Гостей: 139
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal