Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2024, 00:46

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

Автор soleg78, 28 янв 2011, 22:01

0 Пользователей и 1 гость просматривают эту тему.

soleg78

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


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

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

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

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

progmikon

Цитата: soleg78 от 28 янв 2011, 22:01
кто что думает по этому поводу?....заранее благодарен.                  
Тут особо думать и не о чем.
Этот код вообще очень странный. Что вы чему присваиваете, не понятно.
ЭтаФорма.ДокументСписок = Выборка.Выгрузить();
Посмотрите в отладчике какое значение у "ЭтаФорма.ДокументСписок" и "Выборка.Выгрузить()".
Закомментируйте ваш код при открытии - у вас ничего не изменится.
Как вариант - можно использовать обработчик табличного поля "ПриПолученииДанных". Пример кода можно посмотреть в типовых конфигурациях.

cska-fanat-kz

Тип табличного поля ДокументСписок должен быть не "ДокументСписок.ЗаказыПокупателя" а "ТаблицаЗначений" и присваивать надо БЕЗ ЭлементыФормы

ДокументСписок = Выборка.Выгрузить();

а затем возможно понадобится
ЭлементыФормы.ДокументСписок.СоздатьКолонки();

Это чтобы ТП заполнилось. Минус - двойной щелчок (чтобы открывался нужный документ) придется обрабатывать самостоятельно.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск