8.х Как добраться до табличных данных в документе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем quazare, 26 мар 2009.

  1. TopicStarter Overlay
    quazare
    Offline

    quazare Опытный в 1С

    Регистрация:
    21 мар 2009
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    Народ, привет!
    Есть такой вопросец - как добраться до табличных данных документа:

    Имеется
    Документ1 с реквизитами

    -склад
    -клиент

    таб.часть (перечень)

    -номенкл
    -количество
    -цена
    -ссылка

    На форме списка делаю такую "кнопку" с кодом

    Код:
    Процедура ОсновныеДействияФормыДействие(Кнопка)
    МойЗапрос = Новый Запрос();
    МойЗапрос.Текст="ВЫБРАТЬ
    |	Документ1.Номер КАК Номер,
    |	Документ1.Клиент КАК Клиент
    |ИЗ
    |	Документ.Документ1 КАК Документ1
    |ГДЕ
    |	Документ1.Перечень.Сумма > &Сумма";
    
    МойЗапрос.УстановитьПараметр("Сумма",1000);
    РезультатВыборки = МойЗапрос.Выполнить();
    Выборка = РезультатВыборки.Выбрать();
    
    Пока Выборка.Следующий() Цикл
    Сообщить(" Номер документа "+Выборка.Номер +" Клиент "+ Выборка.Клиент); 	КонецЦикла;
    
    КонецПроцедуры;
    
    тут все понятно - выбираются "Номер" и "Клиент" по условию из табличной формы.
    Подскажите, как вывести определенное значение самой табличной формы типа "Сумма", скажем по условию реквизита, где Клиент = &Клиент.
  2. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    значение табличной формы???? это как? лично я ниче не понял... почему бы сразу из ТЧ не выбирать? А к остальным полям доступ через поле "Ссылка"....

    Если хотите можете получить документ.объект с помощью функции получитьобъект(), и потом с документа сдирать все что угодно... Но лучше обойтись запросом...

    Выбирай так:
    выбор
    Документ1.ссылка.Номер как номер
    Документ1.ссылка.Клиент КАК Клиент
    из документ.документ1.перечень как документ1
    где.......


    если же нужна сумма из всех документов по одному контрагенту, то есть группировки...
  3. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Обычно делают реквизит, который записывают при записи или обновлении например.

    2 tunec, я думаю такое условие автору не подойдет. В вашем запросе условие на сумму строки можно поставить, а ему необходимо условие на сумму всего документа.
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А если добавить условие
    Код:
    И Документ1.Клиетн= &Клиент";
    
  5. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Хоть и не tunec, но отвечу:
    x_under, если посмотрите на запрос автора, то он (автор) условие накладывает именно на строку табличной части, а не на документ. Следовательно tunec прав.

    Да зачем... масло ... масленное.

    Здесь достаточно сгруппировать по СУММА(Документ1.Сумма) ну и применить ИМЕЮЩИЙ.
    Если конечно нужно выдёргивать сумму по документу.
    Хотя из subj-а автора это и не очевидно.
  6. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    В типовых всегда так делают. Вобщем не будем спорить, а подождем автора.

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