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

Написание отчета

Автор lena.evdokimova, 27 авг 2013, 13:33

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

lena.evdokimova

Здравствуйте ребята нужен простой отчет чтоба на слово "вет" сформировался отчет:
Дата нач
Дата конц
словов: вет
далее таблица где:
Дата Номер Сумма Ктнрагент АдресДоставки Организация Экспедитор



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

   КонецЦикла;
КонецПроцедуры

Процедура ВыбПериодНажатие(Элемент)
   НастройкаПериода = Новый НастройкаПериода;
   НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
   НастройкаПериода.РедактироватьКакИнтервал = Истина;
   НастройкаПериода.РедактироватьКакПериод = Истина;
   НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
   Если НастройкаПериода.Редактировать() Тогда
      НачПериода = НастройкаПериода.ПолучитьДатуНачала();
      КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
   КонецЕсли;
КонецПроцедуры

Процедура СоставВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   ТекСтрока = ЭлементыФормы.Состав.ТекущаяСтрока;
   Если ТекСтрока <> Неопределено Тогда
      ФормаЭлемента = ТекСтрока.Документ.Ссылка.ПолучитьФорму();
      ФормаЭлемента.ОткрытьМодально();
   КонецЕсли;   
КонецПроцедуры



НачПериода = ТекущаяДата();
КонПериода = ТекущаяДата();



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

Кому не сложно проверьте пожалуйста отчет! Еще не могу исправить ошибку
({Форма.Форма(28,5)}: Переменная не определена (Состав)
    <<?>>Состав.Очистить();
{Форма.Форма(30,17)}: Переменная не определена (Состав)
      НоваяСтрока = <<?>>Состав.Добавить();
)

mixqn

1. не вижу нигде установки значения параметра &Усл
2. при сравнении через ПОДОБНО вероятно (хотя я не знаю в точности сути вашей задачи) следует использовать символы %:
либо в тексте запроса
    |   ВЫРАЗИТЬ(НазначениеПлатежа КАК СТРОКА(250)) ПОДОБНО "%"+&Усл+"%"
либо при  установке значения параметра
Запрос.УстановитьПараметр("Усл", "%"+Усл+"%");

3.
Цитата: lena.evdokimova от 27 авг 2013, 13:33Переменная не определена (Состав)
означает, что вы пытаетесь добавлять строки и очищать то, чего нет на форме. Состав в вашем случае - это что? таблица значений? она должна быть определена - либо как реквизит формы, либо как реквизит объекта, либо как переменная модуля.


lena.evdokimova

до установление параметров еще не дошла, пока только выдает ошибку на перечислениях:dfbsdfbsdf: пока
{Форма.Форма(27)}: Ошибка при вызове метода контекста (Выполнить): {(7, 41)}: Синтаксическая ошибка "(Перечисление.ВидыОперацийЗаказПокупателей.ПродажаКомиссия)"
ЗаказПокупателей.ВидОперации = ЗНАЧЕНИЕ<<?>>(Перечисление.ВидыОперацийЗаказПокупателей.ПродажаКомиссия)
   Выборка = Запрос.Выполнить().Выбрать();



mixqn

ну видимо нет такого значения перечисления. проверьте.

Dethmontt

Вы думаете такое перечисление есть?

Перечисление.ВидыОперацийРеализацияТоваровиУслуг.ЗаказыПокупателей
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

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

Рейтинг@Mail.ru

Поиск