Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
1C 8.x

Как вывести таблицы в макет отчета через модуль объекта

04.11.2013, 12:11. Показов 6068. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть внешний отчет, который читает информацию с документов поступления. У документа поступление тмз и услуг есть 3 табличные части, так вот как сделать, чтоб эти 3 табличные части выводились в макет по порядку?
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    Пока ДокПоступ.Следующий() Цикл
            //Если Докпоступ.Проведен() Тогда
            
            Док= ДокПоступ.ПолучитьОбъект();
            // Сообщить(Док);
            Если Док.Склад = СкладДляОтбора Тогда  
                
                ОбластьСтрока.Параметры.Номер                 = Док.Номер; 
                ОбластьСтрока.Параметры.Дата                  = Док.Дата;
                
                
                Для Каждого ТекущаяСтрока Из Док.Товары Цикл
                    
                    ОбластьСтрока.Параметры.НомерПП               = ТекущаяСтрока.НомерСтроки; 
                    ОбластьСтрока.Параметры.ТоварНаименование     = ТекущаяСтрока.Номенклатура; 
                    ОбластьСтрока.Параметры.КоличествоПоДокументу = ТекущаяСтрока.Количество;
                    ОбластьСтрока.Параметры.ЕдиницаНаименования   = ТекущаяСтрока.ЕдиницаИзмерения;
                    ОбластьСтрока.Параметры.Цена                  = ТекущаяСтрока.Цена;
                    ОбластьСтрока.Параметры.Сумма                 = ТекущаяСтрока.Сумма;
                    ОбластьСтрока.Параметры.СтавкаНДС             = ТекущаяСтрока.СтавкаНДС;
                    ОбластьСтрока.Параметры.СуммаНДС              = ТекущаяСтрока.СуммаНДС;
                    
                    ТабличныйДокумент.Вывести(ОбластьСтрока);
                    //Сообщить(Текущаястрока.Номенклатура);
                КонецЦикла;
                
                Если ОбластьСтрока = ОбластьСтрока Тогда
                    ТабличныйДокумент.Вывести(ОбластьНазвание);
                КонецЕсли;
 
                    
                Если Док.Склад = СкладДляОтбора Тогда  
                    
                    ОбластьСтрока1.Параметры.Номер                 = Док.Номер; 
                    ОбластьСтрока1.Параметры.Дата                  = Док.Дата;
                    
                    Для Каждого ТекущаяСтрока1 Из Док.Услуги Цикл
                        
                        ОбластьСтрока1.Параметры.НомерПП               = ТекущаяСтрока1.НомерСтроки;
                        ОбластьСтрока1.Параметры.ТоварНаименование     = ТекущаяСтрока1.Номенклатура;
                        ОбластьСтрока1.Параметры.КоличествоПоДокументу = ТекущаяСтрока1.Количество;
                        ОбластьСтрока1.Параметры.Цена                  = ТекущаяСтрока1.Цена;
                        ОбластьСтрока1.Параметры.Сумма                 = ТекущаяСтрока1.Сумма;
                        ОбластьСтрока1.Параметры.СтавкаНДС             = ТекущаяСтрока1.СтавкаНДС;
                        ОбластьСтрока1.Параметры.СуммаНДС              = ТекущаяСтрока1.СуммаНДС;
                        
                        ТабличныйДокумент.Вывести(ОбластьСтрока1);
                    КонецЦикла;
 
                        Если ОбластьСтрока1 = ОбластьСтрока1 Тогда
                            ТабличныйДокумент.Вывести(ОбластьНазвание1);
                        КонецЕсли;
 
                        //Сообщить(Текущаястрока.Номенклатура);
                                        
                    Если Док.Склад = СкладДляОтбора Тогда  
                        
                        ОбластьСтрока2.Параметры.Номер                 = Док.Номер; 
                        ОбластьСтрока2.Параметры.Дата                  = Док.Дата;
                        
                        
                        Для Каждого ТекущаяСтрока2 Из Док.ОС Цикл
                            
                            ОбластьСтрока2.Параметры.НомерПП               = ТекущаяСтрока2.НомерСтроки;
                            ОбластьСтрока2.Параметры.ТоварНаименование     = ТекущаяСтрока2.ОсновноеСредство;
                            ОбластьСтрока2.Параметры.Сумма                 = ТекущаяСтрока2.Сумма;
                            ОбластьСтрока2.Параметры.СтавкаНДС             = ТекущаяСтрока2.СтавкаНДС;
                            ОбластьСтрока2.Параметры.СуммаНДС              = ТекущаяСтрока2.СуммаНДС;
                            
                            ТабличныйДокумент.Вывести(ОбластьСтрока2);
                            //Сообщить(Текущаястрока.Номенклатура);
                        КонецЦикла;
                        
                        Если ОбластьСтрока2 = ОбластьСтрока2 Тогда
                            ТабличныйДокумент.Вывести(ОбластьНазвание2);
                        КонецЕсли;
                        
                    КонецЕсли;
                КонецЕсли;
                
            КонецЕсли;
        КонецЦикла;
чтоб выходило например так
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.11.2013, 12:11
Ответы с готовыми решениями:

Макет отчета. Не получается Вывод данных о сумме в макет
Не могу разобраться с применением метода Присоединить к ТабДоку. В частности с выводом данных СуммаДокумента Процедура...

Как написать макет отчета
Подскажите как написать макет отчета? Необходимо чтобы при выборе даты и типа оборудования выводилось все оборудование данного типа и...

Как изменить макет активного отчета
Доброго времени суток. Возникла необходимость печати информации из таблицы на шестислойный защищенный бланк(сам бланк не принтере не...

22
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 13:01
А щас как выводятся?
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
04.11.2013, 13:14  [ТС]
вот такая путаница
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 13:18
Скрин макета ещё можно?
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
04.11.2013, 13:20  [ТС]
вот
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 13:41
Вообще у вас странный отчет, мягко говоря. Я так понимаю вы перебираете все документы поступления и отсекаете не нужные по СкладуОтбора. Это неэффективно и неправильно. Вам же надо сначала вывести все Товары по всем документам, потом услуги по всем документам, потом ОС.
Выберите их запросом сразу с отбором по складу.

По сути у вас должно быть 3 запроса по ТЧ документов, потом их надо объединить, сгруппировать по Виду ТЧ(добавить колонку, строковую наверное, где каждому виду ТЧ присвоить "Товары,Услуги, Основные средства"),
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
04.11.2013, 13:53  [ТС]
мне подсказали так сделать как раз таки перебирая все документы, но сейчас вот выходит, что в модуле перебираются документы по дате, как мне сделать, чтоб он перебирал все товары независимо от даты?
Запрос я еще делать не умею..
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 13:59
Ну тогда вам все равно придётся сначала накопить всю информацию по документам в ТаблицеЗначений, добавить в неё колонку ВидТЧ, отсортировать по ней, а потом уже выводить в отчет.

Ну или, что совсем неправильно и я вам этого не советовал, 3 раза по выборке документов пробегаться, сначала по товарам, потом по услугам и наконец по ОС.

У вас это задание по учебе или для работы надо?
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
04.11.2013, 14:06  [ТС]
для работы..и срочно причем
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 14:09
Цитата Сообщение от Aisha12 Посмотреть сообщение
для работы..и срочно причем
Запросом делайте
1
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
04.11.2013, 16:17  [ТС]
спасибо, только совсем не разобралась с вашим ответом, 3 набора запросов делать для 3 ТЧ?

Добавлено через 19 минут
спасибо, только совсем не разобралась с вашим ответом, 3 набора запросов делать для 3 ТЧ?
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.11.2013, 16:57
Ну наверное, 3 практически одинаковых запроса помещаем во временную таблицу, и потом из нее уже выбираем правильно сгрупированный и отсортированный результат

Добавлено через 29 минут
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
ВЫБРАТЬ
Ссылка,
"Товары" КАК ВидТЧ,
Номенклатура,
Количество,
Цена,
Сумма
ПОМЕСТИТЬ ДокТЧ
ИЗ Документ.Приходная.Товары
 
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Ссылка,
"Услуги" КАК ВидТЧ,
Номенклатура,
Количество,
Цена,
Сумма
ИЗ Документ.Приходная.Услуги
 
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Ссылка,
"Основные средства" КАК ВидТЧ,
ОС КАК Номенклатура,
Количество,
0 КАК Цена,
Сумма
ИЗ Документ.Приходная.ОС
;
ВЫБРАТЬ 
*
ИЗ ДокТЧ КАК ДокТЧ
ИТОГИ СУММА(Сумма) ПО ВидТЧ
Вот примерно так, условия по Складу и дате добавьте сами.
1
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
05.11.2013, 12:15  [ТС]
спасибо Вам огромное, но я все таки на 1 варианте остановилась, но у меня выходят все документы, как сделать, чтоб непроведенные документы или удаленные не выходили?

Добавлено через 41 минуту
спасибооо, уже нашла решение!!
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
06.11.2013, 16:36  [ТС]
Здравствуйте, хотела спросить у Вас вот есть Загрузка данных из Табличного документа, в поле Цена нет данных в Эксель варианте, но есть Сумма, как сделать, чтобы Сумма делила на Количество.
в форму редактирования выражения я ставлю
1C
1
Результат = ТекстыЯчеек.Получить(26)/ТекстыЯчеек.Получить(20)
26 - колонка с Суммой, 20 - колонка с Количеством
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
06.11.2013, 16:58
Чтобы над чем-то проводить математические выражения, надо это что-то привести к типу Число. Ну а поскольку я не знаю что у вас в ТекстыЯчеек, не могу сказать более подробно.
Да и весь код не мешало бы показать

Добавлено через 7 минут

Не по теме:

Ещё у меня дико тормозит форум

1
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
06.11.2013, 18:15  [ТС]
вот что я прописываю в Колонку Цена
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
06.11.2013, 18:21
Не знаю, никогда не работал с этой обработкой. Скиньте мне её, я покопаюсь
0
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 39
06.11.2013, 18:27  [ТС]
ZagruzkaDannyhIzTablicnogoDokumenta.zip
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
06.11.2013, 18:52
Ну я примитивный Excel файл создал с 2-мя колонками у меня всё вычисляет, также как у вас всё. Может и Excel файл скините
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
07.11.2013, 21:15
Цитата Сообщение от Aisha12 Посмотреть сообщение
вот что я прописываю в Колонку Цена
Скорее всего попадается значение не числового типа и данный код валиться с ошибкой...

Попробуй такой код:
1C
1
2
3
4
5
Попытка
   Вычислить("Результат = Число(ТекстыЯчеек.Получить(26))/Число(ТекстыЯчеек.Получить(20))");
Исключение
   Результат = 0;
КонецПопытки;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2013, 21:15
Помогаю со студенческими работами здесь

Как сделать свой макет для отчета
Имеется отчет. Данные берутся на основе запроса на скрине. Необходимо сделать шапку отчета не ту, которая создается по умолчанию, и...

Как изменить результат запроса 1с для вывода в макет отчета?
Добрый день! Есть готовый РезультатЗапроса.Выбрать По сути это таблица с 10 колонками. С помощью Regexp я парсю результат запроса по...

Как перенести значение переменной из Модуля объекта в Модуль формы или Модуль менеджера
Продолжение вопросов из моей предыдущей темы. Из каких модулей и как передавать значения например как перенести скажем значение...

Отчет. Как вывести поле из запроса в название отчета, но не выводить его в теле отчета?
Друзья, привет! Помогите плиз советом.. Задача стоит такая: строю отчет на базе перекрестного запроса. В перекрестном запросе...

Макет отчета
Нужно разбить ТипАдреса на Регион и Минск Например.. В отчете есть колонка Мин и Рег, сумма и количество...Табличное поле есть Тип адреса...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru