7.7 Выборка документов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем kentochek, 20 мар 2007.

  1. TopicStarter Overlay
    kentochek
    Offline

    kentochek

    Регистрация:
    19 мар 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте у меня такой вопрос, как мне сделать выборку документов по определенному контрагенту,т.е. другими словами, мы выбираем определенного контрагента, затем мы выбираем документ, и нужно чтобы при выборе документа отображались только те, которые в реквизите имеют точно такого же контрагента,другие из этого же журнала выводить не надо.Мой код имеет следующий вид, и он выводит все документы...

    Код:
    Док=СоздатьОбъект("Документ.ПередачаИмВЗалог");
    Док.ВыбратьДокументы(); //***Делаем выборку документов
    Пока Док.ПолучитьДокумент()=1 Цикл
    ///***Выбираем только документы,у которых контрагент такой же как и в "Кредитном договоре"
    Если Док.Контрагент=Контрагент Тогда
    Если Док.Выбран()=1 Тогда
    Док.ВыбратьСтроки(); //***Делаем выборку табличной части документа
    Пока Док.ПолучитьСтроку()=1 Цикл
    //***Заносим значения в определенные поля
    Сумма=Док.Сумма;
    ДатаДог=ДатаДок;
    СуммаКредита=Сумма;
    КонецЦикла
    КонецЕсли;
    Иначе
    Сообщить("Нет подходящих документов для данного контрагента!");
    КонецЕсли;
    КонецЦикла; 
    
    Причем если у меня несколько документов связанные с данным контрагентом,мне нужно их все выводить. Вывод у меня осуществляется не в таблицу.У меня на форме имеются реквизиты табличной части и щелкая по определенной колонке, должен выводится список доступных документов, связанных с выбранным контрагентом, после чего мы его должны выбрать и он должен занестись в колонку...
    За ранее спасибо...
  2. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    А я бы порекомендовал использовать запрос
    В форме добавить поле ВыбКонтрагент типа Справочник.Контрагент
    Код:
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Контрагент = Документ.ПередачаИмВЗалог.Контрагент;
    |ДатаДок = Документ.ПередачаИмВЗалог.ДатаДок;
    |Сумма = Документ.ПередачаИмВЗалог.Сумма;
    |Функция СумСумма = Сумма(Сумма);
    |Группировка СтрокаДокумента;
    |Условие(Контрагент = ВыбКонтрагент);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей 
    Сумма=Запрос.СумСумма;
    ДатаДог=Запрос.ДатаДок;
    СуммаКредита=Сумма;
    КонецЦикла;
    
    
  3. TopicStarter Overlay
    kentochek
    Offline

    kentochek

    Регистрация:
    19 мар 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Мне нужно, чтобы заполнялись не поля таблицы, а поля журнала, который открывается при нажатии по колонке при выборе документа. Если мы просто нажимаем, то отображаются все документы, определенного типа, например "Передача имущества в залог", причем не только с тем контрагентом, который мне нужен, а вообще со всеми. Т.е. другими словами, мне нужно чтобы при нажатии по колонке,отображался журнал только с выбранным заранее контрагентом, не выбирая другие....Как это можно реализовать..помогите пожалуйста...

Поделиться этой страницей