Есть документа, на управляемой форме. В документе есть два поля, отправитель и получатель. И есть реквизит Зона доставки. Если у получателя Зона стоит междугородняя а у получателя стоит зона межобластная, то в документ подставляется Зона межобластная. Идет привязка к получателю посылки. Подскажите пожалуйста как можно подправить код, что бы шла проверка, если у получателя или отправителя стоит зона Межобластная то и в реквизит документа подставлять межобластная. А если нет то что бы выполнялось как и раньше. Вот код который определяет зону:
Код |
---|
Функция ПолучитьЗону()
Если Объект.ОтправительНасПункт = Объект.ПолучательНасПункт Тогда
Возврат Справочники.Зоны.ВнутригородскаяДоставка;
Иначе
Если Объект.ПолучательНасПункт.Пустая() Тогда
Возврат Справочники.Зоны.ПустаяСсылка();
Иначе
Возврат Объект.ПолучательНасПункт.Зона;
КонецЕсли;
КонецЕсли;
КонецФункции
Показать полностью |
По теме из базы знаний
- Выгрузка данных из Управления торговлей 10.3 / 10.2 в Бухгалтерию предприятия, ред. 2.0 (Версия 1.7.8)
- Практические кейсы и примеры создания сценарных тестов с использованием фреймворка Тестирование 3.0
- Автоподстановка, автоподбор города из адресного классификатора
- Подстановка договоров при загрузке поступлений на счет (отчетов банка) в БП
- DaJet Stream: потоковый обмен данными
Найденные решения
Примерно так, если вписать в начале функции:
зы: смотря как у вас числется "МежобластнаяДоставка" в справочнике.
Если Объект.ОтправительНасПункт.Зона = Справочники.Зоны.МежобластнаяДоставка ИЛИ
Объект.ПолучательНасПункт.Зона = Справочники.Зоны.МежобластнаяДоставка тогда
Возврат Справочники.Зоны.МежобластнаяДоставка;
Конецесли;
зы: смотря как у вас числется "МежобластнаяДоставка" в справочнике.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Примерно так, если вписать в начале функции:
зы: смотря как у вас числется "МежобластнаяДоставка" в справочнике.
Если Объект.ОтправительНасПункт.Зона = Справочники.Зоны.МежобластнаяДоставка ИЛИ
Объект.ПолучательНасПункт.Зона = Справочники.Зоны.МежобластнаяДоставка тогда
Возврат Справочники.Зоны.МежобластнаяДоставка;
Конецесли;
зы: смотря как у вас числется "МежобластнаяДоставка" в справочнике.
(2)
Почему то по наименованию не захотел, вот так сработал
Почему то по наименованию не захотел, вот так сработал
Код |
---|
Функция ПолучитьЗону()
Если Объект.ОтправительНасПункт = Объект.ПолучательНасПункт Тогда
Возврат Справочники.Зоны.ВнутригородскаяДоставка;
Иначе
Если Объект.ОтправительНасПункт.Зона = Справочники.Зоны.НайтиПоКоду("000000003")
ИЛИ
Объект.ПолучательНасПункт.Зона = Справочники.Зоны.НайтиПоКоду("000000003") Тогда
Возврат Справочники.Зоны.НайтиПоКоду("000000003");
Иначе
Возврат Объект.ПолучательНасПункт.Зона;
КонецЕсли;
КонецЕсли;
КонецФункции
Показать полностью |
Видимо межобластная Зона у вас не предопределенный элемент справочника (или называется по другому). По коду конечно искать не самый лучший вариант, но если уж до этого дошло, то правильнее было бы один раз найти элемент, а дальше подставлять найденное значение (а не искать его 3 раза как в вашем примере)
т.е.
т.е.
МежобластнаяЗона = Справочники.Зоны.НайтиПоКоду("000000003");
Если Объект.ОтправительНасПункт.Зона = МежобластнаяЗона ИЛИ ...
Возврат МежобластнаяЗона;
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот