Исключить тип документа из обработки
26.05.2011
10:28
#1
"Здравствуйте
У меня такой вопрос:
Есть следующая обработка:
Как только она натыкается на документ "Перемещение" то тут же выкидывает ошибку:
ПечНомерДок=СокрП(Док.НомерДок)+"; "+Док.Контрагент;
{Отчет.ОтчетПоставщика.Форма.Модуль(257)}: Поле агрегатного объекта не обнаружено (Контрагент)
(я так понимаю из-за того, что в этих документах нет реквизита "контрагент")
Вопрос: можно ли поставить какое-либо условие, чтобы обработка игнорировала эти документы ?"
У меня такой вопрос:
Есть следующая обработка:
Запрос.вНачалоВыборки();
Т.ВывестиСекцию("ОтчетРасход");
Т.ВывестиСекцию("ШапкаДокРасход");
//глОживить(4);
Пока Запрос.Группировка("Докум") = 1 Цикл
Док=Запрос.РасхДокумент;
Если Док.Выбран()=0 Тогда
Продолжить;
КонецЕсли;
Если Запрос.РасхОстатокТовара=0 Тогда
Продолжить;
КонецЕсли;
ПечНомерДок=СокрП(Док.НомерДок)+"; "+Док.Контрагент; //!!!ссылка идёт на эту строку
ПечРасходСтоимость=Запрос.РасхСтоимость;
Т.ВывестиСекцию("Расход");
//глОживить(1);
Пока Запрос.Группировка("Товар") = 1 Цикл
ТекТовар=Запрос.Товар;
Если ТекТовар.Выбран()=0 Тогда
Продолжить;
КонецЕсли; ПечТовар=СокрП(ТекТовар.Наименование);
ПечТекущийОстатокТовара=Запрос.КонОстатокТовара;
Если Запрос.РасхОстатокТовара=0 Тогда
Продолжить;
КонецЕсли;
ПечРасходОстатокТовара=Запрос.РасхОстатокТовара;
ПечРасходСтоимость=Запрос.РасхСтоимость;
ПечЦена=(Запрос.РасхСтоимость)/ПечРасходОстатокТовара;
ПечПрибыль=Запрос.ОборотТовара-Запрос.РасхСтоимость-Запрос.РасхПродСтоимость-Запрос.ИН;
Если Запрос.ОборотТовара>0 Тогда
ПечРент=ПечПрибыль/Запрос.ОборотТовара*100;
Иначе
ПечРент=0;
КонецЕсли;
ИтогоРасходСтоимость=ИтогоРасходСтоимость+Запрос.РасхСтоимость;
ИтогоПрофит=ИтогоПрофит+ПечПрибыль;
Т.ВывестиСекцию("ТоварРасхода");
//глОживить(2);
КонецЦикла;
КонецЦикла;
Как только она натыкается на документ "Перемещение" то тут же выкидывает ошибку:
ПечНомерДок=СокрП(Док.НомерДок)+"; "+Док.Контрагент;
{Отчет.ОтчетПоставщика.Форма.Модуль(257)}: Поле агрегатного объекта не обнаружено (Контрагент)
(я так понимаю из-за того, что в этих документах нет реквизита "контрагент")
Вопрос: можно ли поставить какое-либо условие, чтобы обработка игнорировала эти документы ?"
26.05.2011
10:43
#2
Попробовал просто добавить документу "перемещение" реквизит "контрагент" и вроде как стабильно заработало.
Подскажите пожалуйста, а что может изменить в работе с документом лишний реквизит, которого там не было?
Подскажите пожалуйста, а что может изменить в работе с документом лишний реквизит, которого там не было?
26.05.2011
10:44
#3
"
ПечНомерДок=СокрП(Док.НомерДок)+?(Док.Вид()="Перемещение","""","; "+Док.Контрагент);"
26.05.2011
10:55
#4
Большое спасибо, заработал.
А чем для меня мог бы обернуться мой вариант решения проблемы?
А чем для меня мог бы обернуться мой вариант решения проблемы?
Читают тему
(гостей: 1)