Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с Формой Списка Документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
soleg78
Создал свою форму Списка для документа ЗаказыПокупателя
В эту форму в колонки "подтянул" сследующие реквизиты документа:
- Номер
- Дата
- Организация
- Контрагент
- СуммаДокумента
и добавил новые колонки:
- КорСумма (число)
- КорКол (число)
- ПлатСумма (число)
- ПлатКол (число)
- Закрыт (число)
- Стоимость (число)
- НДССтоимость (число)

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

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


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

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

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

кто что думает по этому поводу?....заранее благодарен.
logist
Цитата(soleg78 @ 28.01.11, 21:33) необходимо зарегистрироваться для просмотра ссылки
//ДокументСписок это Реквизит ДокументСписок.ЗаказПокупателя

Наверное реквизит должен быть "Таблицей значений"...
Zaval
Я думаю, что ДокументСписок и ТаблицаЗначений - это два несколько разных объекта.
logist
Цитата(Zaval @ 28.01.11, 21:46) необходимо зарегистрироваться для просмотра ссылки
Я думаю, что ДокументСписок и ТаблицаЗначений - это два несколько разных объекта.

Поясните плиз.
Я думал, что в ДокументСписок нельзя выгрузить результат запроса. Ну либо использовать вариант с обходом каждой строки списка (ПриВыводеСтроки) и заполнением недостающих значений, но єто возможно будет долго работать. Вобщем я бы выгрузил все в таблицу - поясните почему это плохое решение.
Zaval
Цитата(logist @ 28.01.11, 23:02) необходимо зарегистрироваться для просмотра ссылки
Поясните плиз.
Я думал, что в ДокументСписок нельзя выгрузить результат запроса. Ну либо использовать вариант с обходом каждой строки списка (ПриВыводеСтроки) и заполнением недостающих значений, но єто возможно будет долго работать. Вобщем я бы выгрузил все в таблицу - поясните почему это плохое решение.


Все правильно. Прошу прощения, мой пост был адресован автору... но попробуй успей вперед Вас smile.gif
Он пытается обойтись с ДокументСписком как с какой-то ТЗ.
soleg78
За "таблицуЗначений" спасибо - всё работает, но мне больше нужен ДокументСписок (потому что нужно работать как с списком документов, .... ну типа отбирать, сортировать, выбирать...)

тогда я пошел следующим путем:
хочу в событие Табличного поля (ну например ПриВыводеСтроки) дописать что бы выводились только расчетные данные для текущего документа. Для этого еще в запрос УстановитьПараметр задал условие по текущему документу.

но ситуация как и раньше

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

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

ЭлементыФормы.Список.Колонки.<Имя Колонки>.ЭлементУправления.Значение = - сюда значение пытаюсь присваивать,
далаю ОбновитьСтроки();, а на форма пусто!
logist
Цитата(soleg78 @ 29.01.11, 17:39) необходимо зарегистрироваться для просмотра ссылки
(потому что нужно работать как с списком документов, .... ну типа отбирать, сортировать, выбирать...)

А что мешает работать так же с ТЗ?
soleg78
Цитата(logist @ 29.01.11, 20:34) необходимо зарегистрироваться для просмотра ссылки
А что мешает работать так же с ТЗ? Разве что отсутствие знаний...

Не спорю и это тоже
-----------------------
я чего уперся в ДокументСписок - я хочу эти данные в дальнейшем добавить в основную форму ДокументСписка
logist
Цитата(soleg78 @ 29.01.11, 19:45) необходимо зарегистрироваться для просмотра ссылки
Не спорю и это тоже
-----------------------
я чего уперся в ДокументСписок - я хочу эти данные в дальнейшем добавить в основную форму ДокументСписка

Непонятное упорство. Что мешает назначить новую форму списка - основной?
soleg78
Цитата(logist @ 29.01.11, 21:00) необходимо зарегистрироваться для просмотра ссылки
Непонятное упорство. Что мешает назначить новую форму списка - основной?

Ну а чего бы и не ФормаСписка? .... если знаеш как добавить эти расчитаные данные - подскажи пожалуста и ВСЁ, ... зачем эта "писанина" на форуме?.... можэт я хочу понять и научится работать с формой Списка, не все жэ такие умные как Ты!
logist
Цитата(soleg78 @ 29.01.11, 20:37) необходимо зарегистрироваться для просмотра ссылки
Ну а чего бы и не ФормаСписка?

Да потому что двигатель от Камаза нельзя запихнуть в запорожец, только потому, что это двигатель.

Цитата(soleg78 @ 29.01.11, 20:37) необходимо зарегистрироваться для просмотра ссылки
зачем эта "писанина" на форуме?....

Для того, что бы другие ищущие ответ на эту тему не наступали на те же грабли.
soleg78
Цитата(logist @ 29.01.11, 22:13) необходимо зарегистрироваться для просмотра ссылки
Да потому что двигатель от Камаза нельзя запихнуть в запорожец, только потому, что это двигатель.


Для того, что бы другие ищущие ответ на эту тему не наступали на те же грабли.

Всё кудато можно запихнуть, главное желание

Давай так, если знаеш как - НАПИШИ ПОЖАЛУСТА, А ЕСЛИ НЕТ - НЕ ПИШИ НИЧЕГО, может другие помогут. ВОТ И ВСЁ.
--------
ЗАРАНЕЕ ТЕБЕ БЛАГОДАРЕН
Zaval
soleg78, у тебя нота "капс" западает.
Тебе все уже написали, даже от "граблей" предостерегли, хотя, в сущности, здесь тебе никто ничего не должен.
Если у тебя из Конфигуратора украли СП и Отладчик - это твои проблемы.
Если из-за вывода данных, которые нужны всего нескольким пользователям, ты собираешься заставить ждать пересчета любого, сунувшегося в список - это проблемы твоего руководства.
Воспроизводить на своей конфе эту чушь, чтобы выложить тебе готовый код - нет ни малейшего желания.
Vofka
soleg78, если ты ещё раз тыкнешь кому-то я тебя забаню! Школота блин sad.gif . Уже никаких сил нету, честное слово.
soleg78
Цитата(Vofka @ 30.01.11, 12:12) необходимо зарегистрироваться для просмотра ссылки
soleg78, если ты ещё раз тыкнешь кому-то я тебя забаню! Школота блин sad.gif . Уже никаких сил нету, честное слово.

Не пугай, .... не из пугливых, .... бань
Vofka
soleg78, ушёл в баню.

Цитата
Не пугай, .... не из пугливых, .... бань

А я и не пытался. Это было предупреждение. Первое и последнее.

Тема закрыта.

Цитата
Всё кудато можно запихнуть, главное желание

Главное наличие мозгов в голове.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.