Как получить список документов по контрагенту (1С 7.7, Бухгалтерия)

Новая тема
Показывать по 10 20 40 сообщений
"Собственно сабж.
Сам я в типовой бухгалтерии разбираюсь плохо, пока сделал через бухгалтерские итоги, но думаю может есть способ по проще...
Точнее в сабже интересует дата последнего документа по контрагенту, но и список самих документов тоже не помешает.
Вот, что сделал:
Процедура ПолучитьДату()
ВСчет=Счет;
ВСубконто=ВыбСубконто1;
НДата=НачДата;
КДата=КонДата;
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьРазделительУчета(Метаданные.РазделительУчета);
Ит.ИспользоватьСубконто(ВСубконто.Вид(), ВСубконто, 2);
Ит.ВыполнитьЗапрос(НДата, КДата, ВСчет,,,, "Проводка");
Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
ДДата=Ит.НачДата;
КонецЦикла;
Сообщить(ДДата);
КонецПроцедуры

Это пока просто набросок так, что прошу сильно не пинать :)"
сделай проще!

создай список СЗ с видами доков, которых есть реквизит Контрагент

далее
ОбратныйПорядок()
ПолучитьДокумент()
> создай список СЗ с видами доков, которых есть реквизит Контрагент
Дааа... тут придется по потеть... например Выписка не имеет реквизита Контрагент, а сам контрагент в табличной части как субконто...
> > создай список СЗ с видами доков, которых есть реквизит Контрагент
> Дааа... тут придется по потеть... например Выписка не имеет реквизита Контрагент, а сам контрагент в табличной части как субконто...

ну и какие проблемы?
в сз понятно, что ещё засовываются реквизиты/доки, у которых общий тип или вообще неопределённы
Можно сделать НайтиСсылки, но работать будет долго. Зато результат 100% :)
"Функция НайтиПоследнийДокументПоКонтрагенту(НужныйКонтрагент)
  Доки=СоздатьОбъект("Документ");
  Доки.ОбратныйПорядок(1);
  Доки.ВыбратьПоЗначению(,,"Контрагент",НужныйКонтрагент);
  Если Доки.ПолучитьДокумент()=1 Тогда
     Возврат(Доки.ТекущийДокумент());
  Иначе
     Возврат("""");
  КонецЕсли;
КонецФункции

P.S. Такое возможно потому что в конфигурации имеется графа отбора "Контрагент". Если список документов тоже нужен, надо дальше цикл перебирать"
Thorvardr, спасибо! Вот я втупил вчера... Куда мои глаза глядели про графы отбора...
Пошел в бухгалтерию пробовать.
Thorvardr, еще раз спасибо, все получилось, бухгалтерия тестирует.
//Реализовал еще проверку на проведенность документа.
"> Функция НайтиПоследнийДокументПоКонтрагенту(НужныйКонтрагент)
>    Доки=СоздатьОбъект("Документ");
>    Доки.ОбратныйПорядок(1);
>    Доки.ВыбратьПоЗначению(,,"Контрагент",НужныйКонтрагент);
>    Если Доки.ПолучитьДокумент()=1 Тогда
>       Возврат(Доки.ТекущийДокумент());
>    Иначе
>       Возврат("""");
>    КонецЕсли;
> КонецФункции
>
> P.S. Такое возможно потому что в конфигурации имеется графа отбора "Контрагент". Если список документов тоже нужен, надо дальше цикл перебирать

ха-ха...
про графу-то я и забыл ;-)"
Не проще ли в обработке документов создать реестр документов по выбранному контрагенту?
Читают тему
(гостей: 1)

Быстрый переход