Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
1C 7.x

Правильно сформировать отчет

26.12.2012, 21:15. Показов 3672. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите как правильно сформировать отчет. Пишу вот та кно не правильно пишет. Я в 1С вообще не какой но пришлось им заняться....... Подскажите....

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |Дата = Справочник.ОсновнаяБаза.Дата; 
    |КМ1 = Справочник.ОсновнаяБаза.КолМолока1;
    |КМ2 = Справочник.ОсновнаяБаза.КолМолока2, 
    |КМ3 = Справочник.ОсновнаяБаза.КолМолока3, 
    |КМЗС = Справочник.ОсновнаяБаза.ЗаСутки, 
    |Ж = Справочник.ОсновнаяБаза.Жирность, 
    |Цен = Справочник.ОсновнаяБаза.Цена, 
    |К = Справочник.ОсновнаяБаза.Кислотность, 
    |П = Справочник.ОсновнаяБаза.Плотность, 
    |Сам = Справочник.ОсновнаяБаза.Саматика, 
    |КДК = Справочник.ОсновнаяБаза.КоличествоДойныхКоров, 
    |ККВ = Справочник.ОсновнаяБаза.КоличествоКоровВсего, 
    |БЖ = Справочник.ОсновнаяБаза.БазоваяЖирность, 
    |КТ = Справочник.ОсновнаяБаза.КоличествоТелят;
    |Группировка Дата все ВошедшиеВЗапрос;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
 
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей Дата
        Таб.ВывестиСекцию("Дата");
        Таб.ВывестиСекцию("КМ1");
        Таб.ВывестиСекцию("КМ2");
        Таб.ВывестиСекцию("КМ3");
        Таб.ВывестиСекцию("КМЗС");
        Таб.ВывестиСекцию("Ж");
        Таб.ВывестиСекцию("Цен");
        Таб.ВывестиСекцию("К");
        Таб.ВывестиСекцию("П");
        Таб.ВывестиСекцию("Сам");
        Таб.ВывестиСекцию("КДК");
        Таб.ВывестиСекцию("ККВ");
        Таб.ВывестиСекцию("БЖ");
        Таб.ВывестиСекцию("КТ");
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.12.2012, 21:15
Ответы с готовыми решениями:

Сформировать отчет
Имеется dbf файл и подключение к нему через Внешний источник данных. Как мне сделать выборку(Select) и сформировать отчет по оной. Не...

Сформировать отчет
Помогите создать отчет по задачи 2.38

Программно сформировать отчет. УТ 11
Пытаюсь программно сформировать отчет с подчиненными группировками, в результате у меня не происходит такого, что одна группировка...

38
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
27.12.2012, 20:29
Студворк — интернет-сервис помощи студентам
Если не хотите разбираться сами, наймите специалиста. Под ваши задачи это будет не дорого.
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
27.12.2012, 21:24  [ТС]
Цитата Сообщение от Xomych Посмотреть сообщение
Если не хотите разбираться сами, наймите специалиста. Под ваши задачи это будет не дорого.
да в том то и дело что хочу САМ разобраться - но как разбираться если вообще нет никакого понятия....... ладно СПС буду что нить думать сам....
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
27.12.2012, 22:22
Таб.ИсходнаяТаблица("Сформировать"); - заремарить. Тогда по умолчанию исходной таблицей будет Таблица, над которой Вы трудились.
Комментариев в тексте модуля - т.е. в комменте - вполне достаточно. Неэтично заставлять поднести сумки ещё раз, только помедленнее и потяжелее

Добавлено через 3 минуты
Цитата Сообщение от First Посмотреть сообщение
буду что нить думать сам....
Да! Первым делом подумайте, что означет ВывестиСекцию(), что такое секция и что с ней происходит. Сложите два и два, всё ж написано русским языком, а в поле "Таблица" - иллюстрация. Подумайте, зачем там слова в ячейках и должны ли они встречаться так же и в тексте модуля
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
27.12.2012, 22:30  [ТС]
что может означать

1C
1
2
тз.НоваяСтрока();     
{Отчет.Надой.Форма.Модуль(42)}: Поле агрегатного объекта не обнаружено (НоваяСтрока)
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
27.12.2012, 22:42
теперь попробуйте объяснить, что такое "тз"
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
27.12.2012, 22:44  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
теперь попробуйте объяснить, что такое "тз"
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//*******************************************
Процедура Сформировать()
    
    тз=СоздатьОбъект("ТаблицаЗначений");
    тз.НоваяКолонка("Дата");
    тз.НоваяКолонка("Подразделение");
    тз.НоваяКолонка("ОператорМД");
    тз.НоваяКолонка("КолДойКор");
    тз.НоваяКолонка("КолКорВсего");
    тз.НоваяКолонка("Доение1");
    тз.НоваяКолонка("Доение2");
    тз.НоваяКолонка("Доение3");
    тз.НоваяКолонка("НаТелят");
    тз.НоваяКолонка("ЗаСутки");
    тз.НоваяКолонка("Жирность");
    тз.НоваяКолонка("Сорт");  
    
    
    Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса="
    |Период с ВыбНачПериода по ВыбКонПериода; 
    |ОбрабатыватьДокументы все;
    |Подразделение=Справочник.ОсновнаяБаза.Подразделение;
    |ОператорМД=Справочник.ОсновнаяБаза.ОператорМД;
    |КолДойКор=Справочник.ОсновнаяБаза.КоличествоДойныхКоров;
    |КолКорВсего=Справочник.ОсновнаяБаза.КоличествоКоровВсего;
    |Доение1=Справочник.ОсновнаяБаза.КолМолока1;
    |Доение2=Справочник.ОсновнаяБаза.КолМолока2;
    |Доение3=Справочник.ОсновнаяБаза.КолМолока3;
    |НаТелят=Справочник.ОсновнаяБаза.НаТеленка;
    |ЗаСутки=Справочник.ОсновнаяБаза.ЗаСутки;
    |Жирность=Справочник.ОсновнаяБаза.Жирность;
    |Сорт=Справочник.ОсновнаяБаза.Сорт;
    |Группировка Подразделение;
    |";
    
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
        Возврат;
    КонецЕсли;
    
    Пока Запрос.Группировка(1)=1 Цикл  
        
        тз.НоваяСтрока();     
        тз.Подразделение=Запрос.Подразделение;
        тз.ОператорМД=Запрос.ОператорМД;
        тз.КолДойКор=Запрос.КолДойКор;
        тз.КолКорВсего=Запрос.КолКорВсего;
;       тз.Доение1=Запрос.Доение1;
        тз.Доение2=Запрос.Доение2;
        тз.Доение3=Запрос.Доение3;
        тз.НаТелят=Запрос.НаТелят;
        тз.ЗаСутки=Запрос.ЗаСутки;
        тз.Жирность=Запрос.Жирность;
        тз.Сорт=Запрос.Сорт;  
        
    КонецЦикла;
    
 
КонецПроцедуры

вроде ошибок больше не выдает - но и не выводит таблицу.... тоесть я выбираю даты нажимаю сформировать все проходит в строке состояния но не показывает таблицу????
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
27.12.2012, 22:55
Открою тайну: ТаблицаЗначений и "Таблица", которая наподобие ёкселя - это разные вещи. "Таблица" - это заготовка ячеек, из которых, как домик из кирпичей, строится отчёт путём ВывестиСекцию() и ПрисоединитьСекцию()

Добавлено через 51 секунду

Не по теме:

Надо же! И дёрнул же чёрт разработчиков назвать макет "Таблица" :)

0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
27.12.2012, 23:12  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
Открою тайну: ТаблицаЗначений и "Таблица", которая наподобие ёкселя - это разные вещи. "Таблица" - это заготовка ячеек, из которых, как домик из кирпичей, строится отчёт путём ВывестиСекцию() и ПрисоединитьСекцию()

Добавлено через 51 секунду

Не по теме:

Надо же! И дёрнул же чёрт разработчиков назвать макет "Таблица" :)

Так это все надо делать в кладке Формировать???

Добавлено через 7 минут
я смотрел по примеру там в таблице и нормально выходит отчет.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
27.12.2012, 23:20

Не по теме:

Это каменный цветок выходит. А отчет выводится.


Цитата Сообщение от First Посмотреть сообщение
кладке Формировать???

Не по теме:

докатились до черепашьих яиц

Где хоть Вы такие слова видите? Что они обозначают-то хоть?
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
27.12.2012, 23:33  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение

Не по теме:

Это каменный цветок выходит. А отчет выводится.



Не по теме:

докатились до черепашьих яиц

Где хоть Вы такие слова видите? Что они обозначают-то хоть?
прошу прощения "Сформировать"

Добавлено через 10 минут
Ладно...не буду Вас мучить "глупыми" вопросами.... Надо попробовать самому что нить обдумывать..... Спасибо за наводки по этой проблеме....
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
28.12.2012, 05:10  [ТС]
Ребята я начинаю разбираться!!!

Отчет ПОЧТИ получается. Только не пойму почему не получается выбрать период.???

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |ОбрабатыватьДокументы все;
    |ДатаНадой = Справочник.ОсновнаяБаза.Дата; 
    |Х = Справочник.ОсновнаяБаза.Хозяйство;
    |Подр = Справочник.ОсновнаяБаза.Подразделение;
    |Опер = Справочник.ОсновнаяБаза.ОператорМД;
    |КМ1 = Справочник.ОсновнаяБаза.КолМолока1;
    |КМ2 = Справочник.ОсновнаяБаза.КолМолока2;
    |КМ3 = Справочник.ОсновнаяБаза.КолМолока3;
    |НТ = Справочник.ОсновнаяБаза.НаТеленка;
    |ЗС = Справочник.ОсновнаяБаза.ЗаСутки;
    |Ж = Справочник.ОсновнаяБаза.Жирность;
    |Сор = Справочник.ОсновнаяБаза.Сорт;
    |КДК = Справочник.ОсновнаяБаза.КоличествоДойныхКоров;
    |ККВ = Справочник.ОсновнаяБаза.КоличествоКоровВсего;
    |Группировка ДатаНадой все ВошедшиеВЗапрос;
//  |Группировка Подр все ВошедшиеВЗапрос;
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
 
    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ДатаНадой
        Таб.ВывестиСекцию("ДатаНадой");
    //  Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Подр
        //  Таб.ВывестиСекцию("Подр");
    //  КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
я выбираю с 01,12,2012 по 03,12,2012 а выдает весь список....
Миниатюры
Правильно сформировать отчет  
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
28.12.2012, 05:12  [ТС]
блин 1 не тот ресунок
Миниатюры
Правильно сформировать отчет  
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
28.12.2012, 09:21
Цитата Сообщение от First Посмотреть сообщение
Отчет ПОЧТИ получается. Только не пойму почему не получается выбрать период.???
Период - это относится только к документам и регистрам. По всем остальным датам надо прописывать условие
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
28.12.2012, 09:31  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
Период - это относится только к документам и регистрам. По всем остальным датам надо прописывать условие
а условие как я понимаю создается в конце запроса?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
28.12.2012, 09:41
в конструкторе запроса. Только не перепутай с конструктором отчета.
Там должна появиться строчка типа
1C
1
|Условие ДатаНадой>=ДатаНач И ДатаНадой<=ДатаКон
Добавлено через 2 минуты
А перед группировками или после - я уж и не помню. Вроде, без разницы
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
28.12.2012, 09:53  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
в конструкторе запроса. Только не перепутай с конструктором отчета.
Там должна появиться строчка типа
1C
1
|Условие ДатаНадой>=ДатаНач И ДатаНадой<=ДатаКон
Добавлено через 2 минуты
А перед группировками или после - я уж и не помню. Вроде, без разницы
да все получилось только я записал так:

1C
1
2
    |Условие (ДатаНадой>=ВыбНачПериода);
    |Условие (ДатаНадой<=ВыбКонПериода);
ну теперь хоть что то начинаю соображать....


теперь бы разобраться с группировкой...
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
28.12.2012, 10:08
В 77 это мутновато. Т.е. для вывода детальных записей группировка, на самом деле, не нужна. Она используется для сбора нескольких строк в одну по значению поля группировки и агрегированием (напр.СРЕДНЕЕ) полей ресурсов. В 77 иногда приходится прибегать к группировке для вывода, чтобы тупо получить в синтаксисе Группировка(n)=1 и ЗначениеГруппировки(n). Но вообще список элементов справочника выводится без группировок.

Добавлено через 2 минуты
Попробуйте вариант с выгрузкой запроса в таблицу значений и вывод в отчет - циклом по ней. (это у меня гуруфрения)

Добавлено через 1 минуту
В таблице-макете только формулы указывать соотв.
0
 Аватар для First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
28.12.2012, 10:25  [ТС]
эмм попробую разобраться....

скажите а как условие еще добавить к датам к примеру надо выбрать по подразделениям пишу так но он ен выбирает или не может выбрать - во всяком случает ошибок нет но отчет пустой

1C
1
|Условие (Подр в ПодВыбор);
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
28.12.2012, 11:48
ПодВыбор - д.б. список значений.
У Вас что, нет под рукой ни одной типовой конфы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2012, 11:48

Сформировать отчет из таблицы
Требуется решить задачу. У самого мозги не доходят... Имеется таблица, содержащая записи приема посетителей. Необходимо сформировать...

Сформировать отчет и вывести на принтер
Доброе время суток. Помогите пожалуйста. Есть List&lt;Person&gt; Persons; class Person{ string name1; string name2;} На экран вывожу...

Сформировать отчет за выбранный период
Добрый день . Разработал програмку автоматизации отчетов По нажатию на кнопку &quot;Новая запись&quot; открывается форма ...

Сформировать отчет с итогами и группировкой
В общем, второй день мучаюсь с отчетом. Задача: Сформировать отчет, на основе представления, с применением фильтра. Макет,...

Сформировать отчет по имеющимся данным
В общем имеется база данных и шаблон отчета.Половину программы написал но не могу разобраться с несколькими столбцами.Нужно помочь с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru