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

Автор Тема: Условие в ТЗ  (Прочитано 715 раз)

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

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день! УТ 11.1.10 (8.3.7)
Обработка.На форме ТЗ(Колонки) с колонкой (ИмяРеквизита),заполняется пользователем из Метаданных справочника номенклатура конфигурации.
Необходимо перед выполнением обработки проверить эту ТЗ на присутствие в них определенных метаданных,если их нет то прервать обработку и сообщить пользователю.
В процедуре на клиенте перед выполнением

Если Колонки.ИмяРеквизита.ТУТ НЕЗНАЮ ЧТО = Пустая() Тогда
    Предупреждение(НСтр("ru = 'Не выбран товар!';"),60);
    Возврат;
КонецЕсли;
Подскажите пожалуйста..


Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 356
  • РЕПУТАЦИЯ: 67
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Компания: Центр бизнес решений "ALT"
  • Профессия: Разработчик 1С
Re: Условие в ТЗ
« Ответ #1: 04 Дек 2015, 10:55 »
SkyNetYar, метаданные это описание объекта конфигурации. Может все же Вы хотите проверять на заполненность значения?
Если действительно нужна проверка на метаданные, то в СП почитайте про метод Найти() для колонок ТЗ.
Если я Вам помог, нажми - Спасибо!

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Условие в ТЗ
« Ответ #2: 04 Дек 2015, 11:10 »
ПриСозданииНаСервере()
мРеквизиты = Новый Массив;
мРеквизиты.Добавить("Наименование");
Для Каждого Реквизит из Метаданные.Справочники.Номенклатура.Реквизиты Цикл
мРеквизиты.Добавить(Реквизит.Синоним);
КонецЦикла;
И мне бы проверить внес ли в ТЗ пользователь "Наименование" или нет

Пробую так
ЭлементСписка = Колонки.ИмяРеквизита.Найти("Наименование"); 
    Если ЭлементСписка <> Неопределено Тогда
Сообщить("Нет наименования");
    КонецЕсли;
Пишет поле объекта ИмяРеквизита не найдено..

Последний раз редактировалось: SkyNetYar; 04 Дек 2015, 11:21

Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 356
  • РЕПУТАЦИЯ: 67
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Компания: Центр бизнес решений "ALT"
  • Профессия: Разработчик 1С
Re: Условие в ТЗ
« Ответ #3: 04 Дек 2015, 11:26 »
SkyNetYar, Вы добавляете реквизит формы и ищите тогда тоже его. Тот же метод Найти() но уже для элементов формы. Попробуйте что-то наподобие
Элементы.Найти("Наименование")
Если я Вам помог, нажми - Спасибо!

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Условие в ТЗ
« Ответ #4: 04 Дек 2015, 12:06 »
Нет что то не выходит и я запутался весь. :(
Вот на скрине видно всю структуру моей обработки, но как мне найти и проверить в этом реквизите формы или в ТЗ.Колонки мое "Наименование" ???
Добавлено: 04 Дек 2015, 12:42

Сделал Вызов процедуры на сервере Проверка()
ТЗ = РеквизитФормыВЗначение("Колонки");
Если ТЗ.Найти("Наименование") = Неопределено Тогда
Сообщить("НЕТ");
Возврат;
КонецЕсли;
Работает,но Процедура не прерывается,выводит сообщение и продолжает работать, как остановить?

Последний раз редактировалось: SkyNetYar; 04 Дек 2015, 12:42. Причина: Объединение сообщений

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Re: Условие в ТЗ
« Ответ #5: 04 Дек 2015, 13:24 »
колонка ИмяРеквизита готов поспорить типа Строка.
вам надо проверить, есть ли в какой-то строке значение "Наименование".
ну так
    НайденнаяСтрока = ТЧ.Найти("Наименование","ИмяРеквизита");
    Если НайденнаяСтрока = Неопределено ТОгда // не нашли...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Re: Условие в ТЗ
« Ответ #6: 04 Дек 2015, 14:01 »
{Форма.Форма.Форма(134)}: Метод объекта не обнаружен (Найти)
   НайденнаяСтрока = Колонки.Найти("Наименование","ИмяРеквизита");

Да,строка.

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

КонецЕсли;
Добавлено: 04 Дек 2015, 14:18

Делаю так
&НаСервере
Процедура Проверка()
КолонкиФ=Колонки.Выгрузить();
НайденнаяСтрока = КолонкиФ.Найти("Наименование","ИмяРеквизита");
    Если НайденнаяСтрока = Неопределено Тогда // не нашли...
Сообщить("НЕТ");
Возврат;
КонецЕсли;
КонецПроцедуры
Все как бы срабатывает,но процедура не прерывается,продолжает выполнятся,как остановить?

Последний раз редактировалось: SkyNetYar; 04 Дек 2015, 14:18. Причина: Объединение сообщений


Теги:
 

Условие запроса из запроса

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

Ответов: 3
Просмотров: 736
Последний ответ 24 Июл 2015, 09:01
от ilmir_02
Условие запроса, цикл, конструктор запроса

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

Ответов: 1
Просмотров: 211
Последний ответ 31 Янв 2017, 14:29
от Oldman06
Как в условие запроса указать результат другого запроса?

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

Ответов: 2
Просмотров: 3532
Последний ответ 29 Апр 2014, 03:57
от cska-fanat-kz
"ПОДОБНО" в условие связи запроса

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

Ответов: 8
Просмотров: 1861
Последний ответ 11 Май 2016, 15:29
от LexaK
УТ11.1 - Условие уменьшения скидки: "Если одна из форм оплаты в чеке - Платежная карта"

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

Ответов: 0
Просмотров: 2276
Последний ответ 17 Сен 2014, 13:22
от lsi

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
95 Сообщений
alex0402
69 Сообщений
Dethmontt Dethmontt
67 Сообщений
MuI_I_Ika MuI_I_Ika
63 Сообщений
wise wise
63 Сообщений
ilyay ilyay
42 Сообщений
Сергей Федоров Сергей Федоров
34 Сообщений
magnifico61
25 Сообщений
ilnur75
22 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal