Проверка существования документа в 1с 8.1 #599981


#0 by freem-alex
Добрый день! Как проверить документ на существование? То есть если документ есть со значениями определенный реквизитов, то создавать ничего не надо. Если документа нет - создать.
#1 by Reset
Поискать документ "со значениями определенный реквизитов". Если не нашли, то документа нет. Вроде логично.
#2 by NDN
результат запроса выгрузить в тз. И посмотреть количество строк
#3 by УправляемыеФормы
#4 by freem-alex
Я новичок. Подскажите как это реализовать.
#5 by Reset
Запрос,НайтиПоНомеру,НайтиПоРеквизиту,Выбрать. Универсальнее - запрос.
#6 by freem-alex
Спасибо. Разобрался.
#8 by УправляемыеФормы
Вам тоже предупреждение. Выгружать результат запроса, что бы проверить, что он пустой? Это нубство, и свинство. Верните зарплаты в кассу.
#9 by УправляемыеФормы
Нельзя инициировать выборку результата запроса, или выгрузку результата запроса в ТЗ, не проверив Результат.Пустой Это типичное быдлокодерство.
#10 by Reset
"Выборка.Ссылка.Сообщение" --> (вторая строка)
#11 by УправляемыеФормы
+1
#12 by ptiz
Сколько агрессии. В данном случае лучше пожертвовать "правильностью" в пользу более короткого кода, т.к. в производительности мы нисколько не теряем, предполагая, что результат запроса может быть из считанного числа документов. А вот более короткий код легче воспринять.
#13 by spu79
гы гы. А что проверить на Результат.Пустой надо бы сначала сделать Результат = Запрос.Выполнить )))))))))))
#14 by spu79
Вы не правы. Если уж "новичок", то надо учиться сразу правильно делать, потом уже не переучишься...
#15 by Тарантул
у брутальне УправляемыеФормы - запрос работает и без  "Запрос.Выполнить"   )))
#16 by УправляемыеФормы
в производительности мы нисколько не теряем, предполагая, что результат запроса может быть из считанного числа документов. Их может быть 0. Вызывать конструктор создания нового класса "ТаблицаЗначений", причем при создании его из РезультатЗапроса.Выгрузить вызывается два метода класса (создание колонок, создание строк), не проверив, нужен ли этот класс, или воспользоваться им для того, что бы использовать его метод Count вместо того, что бы сразу использовать Count результата запроса, который по своей сути тот же класс, только созданный перегрузкой другим конструктором? Вы наверное так тоже делаете? ТаблицаЗначений = Новый ТаблицаЗначений; ... ... заполняем таблицу значений ... Наверное нет. Так зачем в и предлагать аналогичную ерунду?
#17 by ptiz
"Вызывать конструктор создания нового класса " - такой мизер по затратам, что как-то странно это слышать. Вот когда результат запроса возвращает 100 тыс. строк - тут разница есть.
#18 by УправляемыеФормы
Тоже любитель конструкции Запрос.Выполнить.Выгрузить? Понятно, что в код, написанный прямо в форум.
#19 by УправляемыеФормы
Мизер? Можно плюнуть под ноги, сказав - "а чо, я же не нассал тут". Проверять, пустой ли результат запроса, перед тем, как вызывать методы "Выгрузить" или "Выбрать" - просто хороший тон. А если там 1 000 000 полей составного типа, если уж про привычку быдлокодеров оперировать фразами типа "100 тыс. строк - тут разница есть."?
#20 by ptiz
Да я не против хорошего тона. Но бороться за милисекунды в некритичных операциях - ну его нафиг.
#21 by Тарантул
пейте пустырник
#22 by УправляемыеФормы
И черт с ним.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С