Помогите с Формой Списка Документа (8.1)

  • Автор темы soleg78
  • Дата начала
S

soleg78

#1
Создал свою форму Списка для документа ЗаказыПокупателя
В эту форму в колонки "подтянул" сследующие реквизиты документа:
- Номер
- Дата
- Организация
- Контрагент
- СуммаДокумента
и добавил новые колонки:
- КорСумма (число)
- КорКол (число)
- ПлатСумма (число)
- ПлатКол (число)
- Закрыт (число)
- Стоимость (число)
- НДССтоимость (число)


Сделал свой запрос и хочу что бы в этой форме списка были нужные мне данные из запроса
Пишу следующее:

Процедура ПриОткрытии()
НачПериода = НачалоДня(НачалоМесяца(ТекущаяДата()));
КонПериода = КонецДня(ТекущаяДата());


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Регистр.Сделка.Номер КАК Номер,
| Регистр.Сделка.Дата КАК ДАТА,
| Регистр.Сделка.Контрагент КАК Контрагент,
| Регистр.Сделка.Организация КАК Организация,
| Регистр.Сделка.СуммаДокумента КАК СуммаДокумента,
| СУММА(Регистр.КорСумма) КАК КорСумма,
| СУММА(Регистр.КорКол) КАК КорКол,
| СУММА(Регистр.ПлатСумма) КАК ПлатСумма,
| СУММА(Регистр.ПлатКол) КАК ПлатКол,
| СУММА(Регистр.Закрыт) КАК Закрыт,
| СУММА(ЕСТЬNULL(Реализация.Стоимость, 0)) КАК Стоимость,
| СУММА(ЕСТЬNULL(Реализация.НДС, 0)) КАК НДССтоимость
|ИЗ
| (ВЫБРАТЬ
| РасчетыСКонтрагентами.Сделка КАК Сделка,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК КорСумма,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК КорКол,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК ПлатСумма,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК ПлатКол,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК Закрыт
| ИЗ
| РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
| ГДЕ
| РасчетыСКонтрагентами.Сделка ССЫЛКА Документ.ЗаказПокупателя
|
| СГРУППИРОВАТЬ ПО
| РасчетыСКонтрагентами.Сделка,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК Регистр
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Продажи.ЗаказПокупателя КАК ЗаказПокупателя,
| СУММА(Продажи.Стоимость) КАК Стоимость,
| СУММА(Продажи.НДС) КАК НДС
| ИЗ
| РегистрНакопления.Продажи КАК Продажи
| ГДЕ
| Продажи.ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя
|
| СГРУППИРОВАТЬ ПО
| Продажи.ЗаказПокупателя) КАК Реализация
| ПО Регистр.Сделка = Реализация.ЗаказПокупателя
|ГДЕ
| Регистр.Сделка.Дата >= &НачПериода
| И Регистр.Сделка.Дата <= &КонПериода
|
|СГРУППИРОВАТЬ ПО
| Регистр.Сделка
|
|УПОРЯДОЧИТЬ ПО
| Сделка
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачПериода",НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода",КонецДня(КонПериода));

Выборка = Запрос.Выполнить() ;
ЭтаФорма.ДокументСписок = Выборка.Выгрузить();
//ДокументСписок это Реквизит ДокументСписок.ЗаказПокупателя
КонецПроцедуры

Ошибок не выдает, но данные попадают "не все", а только
- Номер (реквизит документа)
- Дата (реквизит документа)
- Организация (реквизит документа)
- Контрагент (реквизит документа)
- СуммаДокумента (реквизит документа)
А эти данные ПУСТЫЕ
- КорСумма (расчетное число)
- КорКол (расчетное число)
- ПлатСумма (расчетное число)
- ПлатКол (расчетное число)
- Закрыт (расчетное число)
- Стоимость (расчетное число)
- НДССтоимость (расчетное число)

кто что думает по этому поводу?....заранее благодарен.
 

Darlock

Well-known member
04.01.2008
560
1
#4
форма списка содержит и может загрузить только реквизиты объекта.
у вас же колонки добавлены в элемент управления, следовательно, необходимо использовать методы интерактивной работы с ними. Т.е. обработчики "ПривыводеСтроки()" или "ПриПолученииДанных()"
 

Дайнеко

Well-known member
19.11.2009
951
0
#5
Ща ругнусь. Да при всем желании разве возможно ответить на вопрос длиннее 3 предложений?
 
S

soleg78

#7
форма списка содержит и может загрузить только реквизиты объекта.
у вас же колонки добавлены в элемент управления, следовательно, необходимо использовать методы интерактивной работы с ними. Т.е. обработчики "ПривыводеСтроки()" или "ПриПолученииДанных()"
Спасибо за совет
но ситуация почти как и раньше

данные попадают "не все", а только
- Номер (реквизит документа)
- Дата (реквизит документа)
- Организация (реквизит документа)
- Контрагент (реквизит документа)
- СуммаДокумента (реквизит документа)
А эти данные ПУСТЫЕ
- КорСумма (расчетное число)
- КорКол (расчетное число)
- ПлатСумма (расчетное число)
- ПлатКол (расчетное число)
- Закрыт (расчетное число)
- Стоимость (расчетное число)
- НДССтоимость (расчетное число)

а как к ним добратся?????
В проц. ПривыводеСтроки() пишу
ЭлементыФормы.Список.ТекущиеДанные - нет их там
ЭлементыФормы.Список.ТекущаяСтрока - тут нет
ЭлементыФормы.Список.Колонки - есть, но ето я так понимаю шапка

ЭлементыФормы.Список.Колонки.<Имя Колонки>.ЭлементУправления.Значение = - сюда значение пытаюсь присваивать,
потом далаю ОбновитьСтроки();, а на форма пусто!
что делать Сэр?)))) :)
 

Дайнеко

Well-known member
19.11.2009
951
0
#8
Darlock! Плюсую твоему терпению. Но согласись с правилом: хочешь получить хороший ответ - сделай хороший вопрос.
Правило раз: заинтересуй народ своим вопросом. Вот что здесь интересного, кроме лейтмотива "решите мою проблему"?
Правило два: сократи вопрос до минимума. Зачет уважаемый автор выкладывает запрос длинной с километр? Да написал бы пример с одним полем данных. Сбившись при чтении вопроса на третьем экране я зевнул и сделал вывод, что что автор ради экономии своего времени выдрал кусок модуля, не отформатировал и выложил. Про мое время он не подумал.
А в правилах форума их еще больше.

Вывод. Я всегда говорю - люди, почти все, добрые и рады помочь. Но если только им это не сложно.
Еще раз снимаю шляпу, но я - пас.
 
S

soleg78

#9
Darlock! Плюсую твоему терпению. Но согласись с правилом: хочешь получить хороший ответ - сделай хороший вопрос.
Правило раз: заинтересуй народ своим вопросом. Вот что здесь интересного, кроме лейтмотива "решите мою проблему"?
Правило два: сократи вопрос до минимума. Зачет уважаемый автор выкладывает запрос длинной с километр? Да написал бы пример с одним полем данных. Сбившись при чтении вопроса на третьем экране я зевнул и сделал вывод, что что автор ради экономии своего времени выдрал кусок модуля, не отформатировал и выложил. Про мое время он не подумал.
А в правилах форума их еще больше.

Вывод. Я всегда говорю - люди, почти все, добрые и рады помочь. Но если только им это не сложно.
Еще раз снимаю шляпу, но я - пас.
Да дело ж не в запросе, .... запрос работает нормально, .... единственно что я не могу сделать это вывести его результат в форму ДокументСписок
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#10
Да дело ж не в запросе, .... запрос работает нормально, .... единственно что я не могу сделать это вывести его результат в форму ДокументСписок
Тогда для какого вы приводили весь текст запроса? Предлагаю добровольно выбрать пункт правил, который вы нарушили и обосновать необходимость повысить вам уровень предупреждений.
 

Darlock

Well-known member
04.01.2008
560
1
#11
soleg78
Думаю, коллеги согласятся с моим мнением, что краткость - сестра таланта. И правильно подмечено Дайнеко, никому не интересно читать весь "код".Если запрос работает корректно зачем его весь сюда выкладывать?

А теперь по "решите мою проблему": все просто:

В проц. ПривыводеСтроки() пишу
ЭлементыФормы.Список.ТекущиеДанные - нет их там
ЭлементыФормы.Список.ТекущаяСтрока - тут нет
ЭлементыФормы.Список.Колонки - есть, но ето я так понимаю шапка
Это ВАША форма, а не результат запроса, поэтому ЭТО вставляется в цикл обхода результата запроса.

P.S. Читайте синтаксис-попошника
P.P.S Кнопка "Счастье" есть, работает при нажатии двух клавиш "Alt"+"F4".

Успехов.