Создал свою форму Списка для документа ЗаказыПокупателя В эту форму в колонки "подтянул" сследующие реквизиты документа: - Номер - Дата - Организация - Контрагент - СуммаДокумента и добавил новые колонки: - КорСумма (число) - КорКол (число) - ПлатСумма (число) - ПлатКол (число) - Закрыт (число) - Стоимость (число) - НДССтоимость (число)
Сделал свой запрос и хочу что бы в этой форме списка были нужные мне данные из запроса Пишу следующее:
Процедура ПриОткрытии()
НачПериода = НачалоДня(НачалоМесяца(ТекущаяДата()));
КонПериода = КонецДня(ТекущаяДата());
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Регистр.Сделка.Номер КАК Номер,
| Регистр.Сделка.Дата КАК ДАТА,
| Регистр.Сделка.Контрагент КАК Контрагент,
| Регистр.Сделка.Организация КАК Организация,
| Регистр.Сделка.СуммаДокумента КАК СуммаДокумента,
| СУММА(Регистр.КорСумма) КАК КорСумма,
| СУММА(Регистр.КорКол) КАК КорКол,
| СУММА(Регистр.ПлатСумма) КАК ПлатСумма,
| СУММА(Регистр.ПлатКол) КАК ПлатКол,
| СУММА(Регистр.Закрыт) КАК Закрыт,
| СУММА(ЕСТЬNULL(Реализация.Стоимость, 0)) КАК Стоимость,
| СУММА(ЕСТЬNULL(Реализация.НДС, 0)) КАК НДССтоимость
|ИЗ
| (ВЫБРАТЬ
| РасчетыСКонтрагентами.Сделка КАК Сделка,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК КорСумма,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК КорКол,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ КАК ПлатСумма,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК ПлатКол,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ КАК Закрыт
| ИЗ
| РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
| ГДЕ
| РасчетыСКонтрагентами.Сделка ССЫЛКА Документ.ЗаказПокупателя
|
| СГРУППИРОВАТЬ ПО
| РасчетыСКонтрагентами.Сделка,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.КорректировкаЗаказаПокупателя
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
| ТОГДА РасчетыСКонтрагентами.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ,
| ВЫБОР
| КОГДА РасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.ЗакрытиеЗаказовПокупателей
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК Регистр
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| Продажи.ЗаказПокупателя КАК ЗаказПокупателя,
| СУММА(Продажи.Стоимость) КАК Стоимость,
| СУММА(Продажи.НДС) КАК НДС
| ИЗ
| РегистрНакопления.Продажи КАК Продажи
| ГДЕ
| Продажи.ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя
|
| СГРУППИРОВАТЬ ПО
| Продажи.ЗаказПокупателя) КАК Реализация
| ПО Регистр.Сделка = Реализация.ЗаказПокупателя
|ГДЕ
| Регистр.Сделка.Дата >= &НачПериода
| И Регистр.Сделка.Дата <= &КонПериода
|
|СГРУППИРОВАТЬ ПО
| Регистр.Сделка
|
|УПОРЯДОЧИТЬ ПО
| Сделка
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("НачПериода",НачалоДня(НачПериода));
Запрос.УстановитьПараметр("КонПериода",КонецДня(КонПериода));
Выборка = Запрос.Выполнить();
ЭтаФорма.ДокументСписок = Выборка.Выгрузить();
//ДокументСписок это Реквизит ДокументСписок.ЗаказПокупателя КонецПроцедуры
Ошибок не выдает, но данные попадают "не все", а только - Номер (реквизит документа) - Дата (реквизит документа) - Организация (реквизит документа) - Контрагент (реквизит документа) - СуммаДокумента (реквизит документа) А эти данные ПУСТЫЕ - КорСумма (расчетное число) - КорКол (расчетное число) - ПлатСумма (расчетное число) - ПлатКол (расчетное число) - Закрыт (расчетное число) - Стоимость (расчетное число) - НДССтоимость (расчетное число)
кто что думает по этому поводу?....заранее благодарен.
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(Zaval @ 28.01.11, 21:46)
Я думаю, что ДокументСписок и ТаблицаЗначений - это два несколько разных объекта.
Поясните плиз. Я думал, что в ДокументСписок нельзя выгрузить результат запроса. Ну либо использовать вариант с обходом каждой строки списка (ПриВыводеСтроки) и заполнением недостающих значений, но єто возможно будет долго работать. Вобщем я бы выгрузил все в таблицу - поясните почему это плохое решение.
Личные бесплатные консультации не даю, для этого есть форум!
Крутой
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Цитата(logist @ 28.01.11, 23:02)
Поясните плиз. Я думал, что в ДокументСписок нельзя выгрузить результат запроса. Ну либо использовать вариант с обходом каждой строки списка (ПриВыводеСтроки) и заполнением недостающих значений, но єто возможно будет долго работать. Вобщем я бы выгрузил все в таблицу - поясните почему это плохое решение.
Все правильно. Прошу прощения, мой пост был адресован автору... но попробуй успей вперед Вас Он пытается обойтись с ДокументСписком как с какой-то ТЗ.
За "таблицуЗначений" спасибо - всё работает, но мне больше нужен ДокументСписок (потому что нужно работать как с списком документов, .... ну типа отбирать, сортировать, выбирать...)
тогда я пошел следующим путем: хочу в событие Табличного поля (ну например ПриВыводеСтроки) дописать что бы выводились только расчетные данные для текущего документа. Для этого еще в запрос УстановитьПараметр задал условие по текущему документу.
но ситуация как и раньше
данные попадают "не все", а только - Номер (реквизит документа) - Дата (реквизит документа) - Организация (реквизит документа) - Контрагент (реквизит документа) - СуммаДокумента (реквизит документа) А эти данные ПУСТЫЕ - КорСумма (расчетное число) - КорКол (расчетное число) - ПлатСумма (расчетное число) - ПлатКол (расчетное число) - Закрыт (расчетное число) - Стоимость (расчетное число) - НДССтоимость (расчетное число)
а как к ним добратся????? ЭлементыФормы.Список.ТекущиеДанные - нет их там ЭлементыФормы.Список.ТекущаяСтрока - тут нет ЭлементыФормы.Список.Колонки - есть, но ето я так понимаю шапка
ЭлементыФормы.Список.Колонки.<Имя Колонки>.ЭлементУправления.Значение = - сюда значение пытаюсь присваивать, далаю ОбновитьСтроки();, а на форма пусто!
Непонятное упорство. Что мешает назначить новую форму списка - основной?
Ну а чего бы и не ФормаСписка? .... если знаеш как добавить эти расчитаные данные - подскажи пожалуста и ВСЁ, ... зачем эта "писанина" на форуме?.... можэт я хочу понять и научится работать с формой Списка, не все жэ такие умные как Ты!
Крутой
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
soleg78, у тебя нота "капс" западает. Тебе все уже написали, даже от "граблей" предостерегли, хотя, в сущности, здесь тебе никто ничего не должен. Если у тебя из Конфигуратора украли СП и Отладчик - это твои проблемы. Если из-за вывода данных, которые нужны всего нескольким пользователям, ты собираешься заставить ждать пересчета любого, сунувшегося в список - это проблемы твоего руководства. Воспроизводить на своей конфе эту чушь, чтобы выложить тебе готовый код - нет ни малейшего желания.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!