|
Составной тип данных у реквизита документа |
☑ |
0
agrail86
01.10.14
✎
06:56
|
Имеется у документа "Заявка на бетон/раствор" реквизит "ДокументПередачи" - тип - составной:
ДокументСсылка.ПередачаТоваров,
ДокументСсылка.ВозвратТоваровПоставщику, ДокументСсылка.ЗаявкаНаОтгрузкуСОтветХранения, ДокументСсылка.РеализацияТоваровУслуг, ДокументСсылка.ПриходныйОрдерНаТовары,
ДокументСсылка.ЗаказПокупателя,
ДокументСсылка.ПеремещениеТоваров,
ДокументСсылка.РасходныйОрдерНаТовары
При проверке в процедурах ПередЗаписью() - в модуле объекта стоит условие:
если Адрес<>ДокументПередачи.АдресДоставки тогда
Предупреждение("Адреса не равны печать не возможна");
Возврат;
конецесли;
условие проходит если выбран док-т -реализация товара, при выборе другого док-та выводит ошибку - что данное поле не найдено - и действительно у ДокументПередачи.АдресДоставки - нет адреса доставки но зато есть ДокументПередачи.Адрес. помогите обойти ошибку! =)
|
|
1
Рэйв
01.10.14
✎
07:05
|
Если ДокументПередачи<>Неопределено Тогда
Если ДокументПередачи.Метаданные().Реквизиты.Найти("АдресДоставки")<>Неопределно тогда
Если Адрес<>ДокументПередачи.АдресДоставки тогда
Сообщить("Бу!");
КонецЕсли;
КонецЕсли;
|
|
2
Рэйв
01.10.14
✎
07:05
|
*одну КонецЕсли забыл:-)
|
|
3
mergan
01.10.14
✎
07:06
|
проверяй тип документаПередачи
|
|
4
mergan
01.10.14
✎
07:06
|
(1)ой сколько много проверок ... дельфист поди)))
|
|
5
Рэйв
01.10.14
✎
07:07
|
(4)Нет. Просто осторожный адинесник:-)
Но если ты заметил все проверки нужные.
|
|
6
mergan
01.10.14
✎
07:11
|
(5)неа ... первая лишняя
|
|
7
mergan
01.10.14
✎
07:12
|
если типЗнч(ДокументПередачи) = Тип("Документ.РеализацияТовара") тогда
если Адрес<>ДокументПередачи.АдресДоставки тогда
сообщить("Бу!!!);
|
|
8
Рэйв
01.10.14
✎
07:17
|
(7)Это просто другой путь решения:-)
|
|
9
agrail86
01.10.14
✎
07:17
|
Спасибо) Выручили! написал так:
Если ДокументПередачи.Метаданные().Реквизиты.Найти("АдресДоставки")= Неопределено тогда
если Адрес<>ДокументПередачи.Адрес тогда
Предупреждение("Адреса не равны печать не возможна");
Возврат;
конецесли;
Иначе
если Адрес<>ДокументПередачи.АдресДоставки тогда
Предупреждение("Адреса не равны печать не возможна");
Возврат;
конецесли;
КонецЕсли;
|
|
10
Рэйв
01.10.14
✎
07:19
|
(9)Если не будет заполненно - будет ошибка. Проверяй или на заполнение как у меня в (1) или на тип как в(7)
|
|
11
mergan
01.10.14
✎
07:22
|
ну в модуле при записи это конечно существенной роли не сыграет ... но если ты будешь делать это в обработке при перезаписи существенного количества документов реализации может уже сказаться
|
|
12
agrail86
08.10.14
✎
14:41
|
спасибо учел!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший