Вход | Регистрация

1С:Предприятие ::

Метки:

Выборка документов по реквизиту

Я
   Василий
10.04.04 - 19:27
Как сделать выборку документов у которых один из реквизитов имеет заданное значение? Интересует решение без использования запросов.
 
 
   skunk
 
1 - 10.04.04 - 19:33
doc = createobject("document.xxx");
doc.selectdocuments()// можно за период: doc.selectdocuments(date_begin, date_end)
while doc.getdocument() > 0 do
   if doc.Реквизит = НужноеЗначение then
       // делаем что надо

    endif;
enddo;
   Василий
2 - 10.04.04 - 19:44
не... так я и сам умею. :) тупой перебор ручками - неинтересно

что-то типа Doc.ВыбратьПоЗначению() не подойдет? я никак эту процедуру не могу заставить работать . Пишет "Объект - документ определенного вида"
   skunk
 
3 - 10.04.04 - 19:52
<ИмяОтбора> - строка с названием Общего реквизита документов либо названием Графы отбора журналов;


только если реквизит общий
   SnarkHunter
 
4 - 10.04.04 - 20:01
Реквизит вовсе не обязательно должен быть общим...
   skunk
 
5 - 10.04.04 - 20:08
(4)ну либо принадлежал графе отбора журналов... индекс по нему нужен, короче
   SnarkHunter
 
6 - 10.04.04 - 20:10
Ну вот, совсем другое дело...
   427
 
7 - 10.04.04 - 20:19
(3) \"только если реквизит общий\"

Ошалел, чтоль....
Зачем общий реквизит....
Графа отбора работает по любым реквизитам... общим, шапки, табличной части...


(0) вот пример выборки доков с заданным значением реквизита
ВыбрКонтрагент - тот, которого ищем

Графа отбора \"Контрагент\" должна быть... в конфигурации

Поиск ведется по этой графе... Если какой то вид документа в нее не включен - он выпадает из поиска

Например, если Контрагент из Счет-фактуры не включен в Графу .... то СЧФ не
будут найдены ...




Пример
========================================

Доки = CreateObject(\"Документ\");  

if Доки.SelectByValue(НачДата,КонДата,\"Контрагент\",ВыбрКонтрагент) = 0 then  
         DoMessageBox (\"За заданный период документы по контрагенту\"+LineBreak+ 
         ВыбрКонтрагент+LineBreak+ \"не найдены\"); 
         return; 
endIf;

// перебор найденных доков.................


while Доки.GetDocument() = 1 do
     Док = Доки.CurrentDocument();
endDo;
   Василий
8 - 10.04.04 - 20:40
Так у меня реквизит не общий, тогда что делать?
неужели нет встроенных средств языка?
   SnarkHunter
 
9 - 10.04.04 - 21:23
(8)Плин... Тебе в (7) все разжевали, в рот положили... Глотнуть можешь? Добавь графу отбора, если ее там еще нет.. Или тебе конфигурацию менять нельзя?
   427
 
10 - 10.04.04 - 21:23
Включи его в нужную графу (или новую графу создай)

и не парь здесь мозги
 
 
   SnarkHunter
 
11 - 10.04.04 - 21:25
pit, не спишь? Я вот бокс смотрю с Костей Цзю и пиво пью...
   skunk
 
12 - 10.04.04 - 22:40
до фиха граф тоже не есть гуд...


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует