Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ОбработкаПроведения. Ошибка при вызове метода контекста.  (Прочитано 10655 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Davids_777
Новенький

ua
Offline Offline

« : 08-08-2011 14:43 » 

Подскажите пожалуйста!!! Выдаёт ошибку:

{Документ.РасхНакл(35)}: Ошибка при вызове метода контекста (Выполнить): {(9, 5)}: Поле не найдено "Док.Товары"
Док.<<?>>Товары КАК Товары,
    Результат = Запрос.Выполнить();

в чём причина?Не понял
Код:
Процедура ОбработкаПроведения(Отказ, Режим)

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

Запрос.УстановитьПараметр("ПарСсылка", Ссылка);
Запрос.УстановитьПараметр("Момент", МоментВремени());
    Результат = Запрос.Выполнить();
ВыборкаТоваров = Результат.Выбрать();
Пока ВыборкаТоваров.Следующий() Цикл

//Контроль нехватки
    Остаток = ?(ВыборкаТоваров.КолОст=Null , 0, ВыборкаТоваров.КолОст);
    КолДок = ?( ВыборкаТоваров.КолДок = Null, 0, ВыборкаТоваров.КолДок);
СуммаДок = ?( ВыборкаТоваров.СуммаДок = Null, 0, ВыборкаТоваров.СуммаДок);

Нехватка = КолДок - Остаток;

Если Нехватка>0 Тогда
Сообщить("Нехватка  товара  "   +  СокрЛП(ВыборкаТоваров.Товары)  +   ";   "   + Нехватка);
    Сообщить("Расходная " + Номер + " от " +Дата--" не проводится!");
Отказ = Истина;
    КонецЕсли;

//Вычисление себестоимости
ОстатокСумма = ?( ВыборкаТоваров.СуммаОст = Null, 0, ВыборкаТоваров.СуммаОст);
Если КолДок < Остаток Тогда
СебестоимостьСп = ОстатокСумма/Остаток*КолДок;
иначе СебестоимостьСп = ОстатокСумма;
КонецЕсли;



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

КонецЦикла;

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

В правилах же написано: никаких "помогите" в названии темы! Строго информативно.

Добавлено через 39 минут и 10 секунд:
извиняюсь!!!

Добавлено через 32 секунды:
кто-нибудь подскажет???
« Последнее редактирование: 08-08-2011 16:59 от Davids_777 » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 08-08-2011 19:02 » new

Смотри, эти вырезки твоего кода тебе о чем-то скажут?:
Код:
ВЫБРАТЬ
...
Док.Товары
...
ИЗ Документ.РасхНакл.Товары КАК Док
...
Записан
Davids_777
Новенький

ua
Offline Offline

« Ответ #2 : 08-08-2011 19:32 » 

Исходя из этого задания:
Документ «РасхНакл» списывает товары, введенные в табличной части, со склада. При проведении документа «РасхНакл» необходимо обеспечить контроль наличия товара на складе. Цена и Сумма должны рассчитывается автоматически при проведении из регистра по текущему отделу и товару по средневзвешенной цене, исходя из остатков в регистре и введённого количества.
Структура регистра остатков «Товары» должна обеспечивать ведение количественного и стоимостного учета товаров в разрезе отделов.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 08-08-2011 20:53 » 

Мне не важно задание - поясняю конкретно:
В своем коде ты пытаешься доступиться к реквизиту
Документ.РасхНакл.Товары.Товары
Он у тебя точно есть? Может все же
Документ.РасхНакл.Товары.Товар
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines