Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Янв 2018, 02:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Формирование Отчета  (Прочитано 6606 раз)

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

Оффлайн Evgeny

  • *
  • Сообщений: 46
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-09
  • Сайт: 
  • Профессия: Разработчик 1С
Сделал Отчет который при открытии формируется сам, на форме есть поле выбора с ФИО, при выборе фамилии осуществляется отбор,  по замыслу отчет должен переформироваться только вывести данные удовлетворяющие отбору. Получилось так что при открытии отчет формируется, выбираем ФИО в ПолеВыбора, Отчет переформировывается один раз, все Ок, но дальше все сколько ФИО не меняй замертво стоит, А на Кнопку "Сформировать" вообще не реагирует никак. Как Сделать чтобы при каждом изменении ПолеВыбора отчет менялся?


   Перем настройки;
   
 Процедура ПриОткрытии()
СхемаКомпоновкиДанных=Отчеты.тестПолеВыбора1.ПолучитьМакет("ОсновнаясхемаКомпоновкиДанных");
//настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

СформироватьОтчет();

КонецПроцедуры

 
 Процедура фиоПриИзменении(Элемент)   
 УстановитьНастройки();
 СформироватьОтчет();
 КонецПроцедуры

 Процедура УстановитьНастройки()


ЭлементОтбора=Настройки.Отбор.Элементы.Добавить(Тип ("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование=истина;
ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Наименование");
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
Элементотбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение=  ЭлементыФормы.Фио.Значение;

ПараметрВывода=настройки.ПараметрыВывода.НайтиЗначениеПараметра(новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
ПараметрВывода.Использование=Истина;
ПараметрВывода.Значение=ТипВыводаТекстаКомпоновкиДанных.НеВыводить;

КонецПроцедуры
 
Процедура СформироватьОтчет() Экспорт
Настройки=КомпоновщикНастроек.Настройки;
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки);

ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);

ЭлементыФормы.Результат.Очистить();
ДокументРезультат=ЭлементыФормы.Результат;
ПроцессорВывода=Новый ПроцессорВыводарезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры


Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудники1.Наименование
|ИЗ
| Справочник.Сотрудники КАК Сотрудники1";
ЭлементыФормы.ПолеВыбора.СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование"));
 

Код наверно ужасен сегодня у меня месяц работы в 1с =)
О_о Кто здесь?


Оффлайн Evgeny

  • *
  • Сообщений: 46
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-09
  • Сайт: 
  • Профессия: Разработчик 1С
что то код не красиво вставился
Цитировать
   Перем настройки;
   
 Процедура ПриОткрытии()
   СхемаКомпоновкиДанных=Отчеты.тестПолеВыбора1.ПолучитьМакет("ОсновнаясхемаКомпоновкиДанных");
   //настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   
   СформироватьОтчет();
       
КонецПроцедуры

 
 Процедура фиоПриИзменении(Элемент)   
 УстановитьНастройки();
 СформироватьОтчет();
 КонецПроцедуры

 Процедура УстановитьНастройки()
   
      
ЭлементОтбора=Настройки.Отбор.Элементы.Добавить(Тип ("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование=истина;
ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Наименование");
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
Элементотбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение=  ЭлементыФормы.Фио.Значение;

ПараметрВывода=настройки.ПараметрыВывода.НайтиЗначениеПараметра(новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
ПараметрВывода.Использование=Истина;
ПараметрВывода.Значение=ТипВыводаТекстаКомпоновкиДанных.НеВыводить;

КонецПроцедуры
 
Процедура СформироватьОтчет() Экспорт
   Настройки=КомпоновщикНастроек.Настройки;
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки);
   
   ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
   
   ЭлементыФормы.Результат.Очистить();
   ДокументРезультат=ЭлементыФормы.Результат;
   ПроцессорВывода=Новый ПроцессорВыводарезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры


Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    Сотрудники1.Наименование
   |ИЗ
   |   Справочник.Сотрудники КАК Сотрудники1";
   ЭлементыФормы.фио.СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование"));
 
О_о Кто здесь?

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Вот эта строка:
Настройки=КомпоновщикНастроек.Настройки;

Должна быть либо в ПриОткрытии, либо вообще в теле модуля, а не в СформироватьОтчет.
Иначе у Вас получается, что в фиоПриИзменении в начале изменяется переменная Настройки, а потом вызывается СформироватьОтчет и переменная Настройки перезаписывается совершенно другими данными.

А вообще - не вижу смысла, зачем Вы ее вообще вводили. Уберите переменную Настройки и обращайтесь уже к ним как:
КомпоновщикНастроек.Настройки
.
То есть:
ЭлементОтбора=КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип ("ЭлементОтбораКомпоновкиДанных"));
Тогда не будет косяков с переопределением.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Evgeny

  • *
  • Сообщений: 46
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-09
  • Сайт: 
  • Профессия: Разработчик 1С
отключил ПараметрыВывода отбора и ужаснулся,
при каждом выборе в ПолеВыбора добавляется еще один отбор "И"

Цитировать
"Наименование Равно ""Иванов"" И
Наименование Равно ""Петров"" И
Наименование Равно ""Соколов"" И
Наименование Равно ""ФИО1"""

я недавно изучаю 1с, но думаю надо добавить в какуенибудь отчистку в процедуру "УстановитьНастройки"
О_о Кто здесь?

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
при каждом выборе в ПолеВыбора добавляется еще один отбор "И"
Да, и это тоже.
Очистка, скорее всего, как-то так:
КомпоновщикНастроек.Настройки.Отбор.Очистить();
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
А что нить вроде

КомпоновщикНастроек.Настройки.Отбор.Наименование.Установить(ЭлементыФормы.Фио.Значение);

не прокатит?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Evgeny

  • *
  • Сообщений: 46
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-09
  • Сайт: 
  • Профессия: Разработчик 1С
ну почти, спасибо за помощь

КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();

А еще в догонку не подскажите как сделать, добавил процедуру фиоОчистка, при на жатии на полеВыбора кнопки Очистки формировалсябы отчет но уже без отбора, никак не получается его удалить.
при использовании:
КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить();

ругается
Цитировать
{Отчет.ТестПолеВыбора1.Форма.ФормаОтчета.Форма(15)}: Недостаточно фактических параметров
   КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить();
О_о Кто здесь?

Оффлайн Evgeny

  • *
  • Сообщений: 46
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-09
  • Сайт: 
  • Профессия: Разработчик 1С
Или может быть добавить условие в процедуру УстановитьНастройки?

P.S. не смог найти кнопки редактирование сообщения
О_о Кто здесь?

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Методу "Удалить" нужно в параметр передать элемент, который нужно удалить :)

А вопроса не поняла, почему Очистить() не устраивает
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
"Недостаточно фактических параметров"

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


Теги:
 

Печатная форма "ЧекККМ" для "Отчета о розничных продажах"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 7189
Последний ответ 01 Июн 2011, 20:39
от Шурыгин Иван Сергеевич
Ошибка при выгрузке отчета "Прибыль"

Автор VasilРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4163
Последний ответ 28 Апр 2011, 14:34
от MaryaAlbertovna
Создание отчета "Отсутствие заказов"

Автор dronspartak9@gmail.comРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3959
Последний ответ 16 Апр 2014, 15:09
от dronspartak9@gmail.com
Программирование отчета "Движения на складах"

Автор ЛунатикРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2015
Последний ответ 05 Апр 2016, 10:15
от vitasw
Нужна помощь в формировании отчета "Преобразование значения к типу Дата не может быть выполнено"

Автор STLuka1337Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2190
Последний ответ 14 Ноя 2014, 13:24
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
106 Сообщений
AIFrame
100 Сообщений
alex0402
30 Сообщений
kiksi
19 Сообщений
pavl_vs
19 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
LexaK
13 Сообщений
BuhRust
12 Сообщений

* Кто онлайн

  • Точка Гостей: 209
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal