Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Вопрос по Группировке и выводу секций. 2 страниц V   1 2 >          
Flexy Подменю пользователя
сообщение 27.06.12, 13:09
Сообщение #1

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Привет. ТИС 7.7.
Пишу обработку печати ценников.
И столкнулся с проблемой.

Необходимо видеть ценник в таком виде:



Что-то у меня не получается присоединить 4 экземпляра ценника и так далее на каждой строке.Сейчас они у меня выводятся линейно, вниз.:

Вот так:



Я уже и присоединять секции пробовал, но что-то не выходит ни как.

Код:

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Обрабатывать НеПомеченныеНаУдаление;
    |Бренд = Регистр.ОстаткиТоваров.Товар.Бренд;
    |ПодБренд = Регистр.ОстаткиТоваров.Товар.ПодБренд;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
    |Склад = Регистр.ОстаткиТоваров.Склад;
    |Фирма = Регистр.ОстаткиТоваров.Фирма;
    |Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
    |Группировка Склад;
    |Группировка Бренд без групп;
    |Группировка ПодБренд без групп;
    |Группировка Товар без групп;
    
    |Условие(Товар в ВыбТовар);
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
      
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Ценники");
    
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

    Пока Запрос.Группировка(1) = 1 Цикл     //Склад
    Пока Запрос.Группировка(2) = 1 Цикл     //Бренд
    Пока Запрос.Группировка(3) = 1 Цикл     //ПодБренд    
              
            Таб.ВывестиСекцию("Бренд");
            Таб.ВывестиСекцию("Подбренд");
            
            Пока Запрос.Группировка(4) = 1 Цикл     //Товар
            Таб.ВывестиСекцию("Товар");
          
        КонецЦикла;
    КонецЦикла;
КонецЦикла;
КонецЦикла;





Заранее спасибо.

Сообщение отредактировал Flexy - 27.06.12, 13:11

Vofka Подменю пользователя
сообщение 27.06.12, 13:14
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Пока Запрос.Группировка(1) = 1 Цикл     //Склад
  Пока Запрос.Группировка(2) = 1 Цикл     //Бренд
    Пока Запрос.Группировка(3) = 1 Цикл     //ПодБренд    
            Пока Запрос.Группировка(4) = 1 Цикл     //Товар
                Таб.ВывестиСекцию("Бренд");
                Таб.ВывестиСекцию("Подбренд");
                Таб.ВывестиСекцию("Товар");
            КонецЦикла;
    КонецЦикла;
  КонецЦикла;
КонецЦикла;

Flexy Подменю пользователя
сообщение 27.06.12, 13:35
Сообщение #3

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.06.12, 13:14) *
Пока Запрос.Группировка(1) = 1 Цикл     //Склад
  Пока Запрос.Группировка(2) = 1 Цикл     //Бренд
    Пока Запрос.Группировка(3) = 1 Цикл     //ПодБренд    
            Пока Запрос.Группировка(4) = 1 Цикл     //Товар
                Таб.ВывестиСекцию("Бренд");
                Таб.ВывестиСекцию("Подбренд");
                Таб.ВывестиСекцию("Товар");
            КонецЦикла;
    КонецЦикла;
  КонецЦикла;
КонецЦикла;

Так не покатит.Нужно видеть товар сгруппированный по Бренду и ПодБренду.

Vofka Подменю пользователя
сообщение 27.06.12, 13:38
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

А можно картинку "как надо"?

mister-x Подменю пользователя
сообщение 27.06.12, 13:52
Сообщение #5

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

а так
Пока Запрос.Группировка(1) = 1 Цикл     //Склад
  Пока Запрос.Группировка(2) = 1 Цикл     //Бренд
      Таб.ВывестиСекцию("Бренд");
    Пока Запрос.Группировка(3) = 1 Цикл     //ПодБренд
          Таб.ВывестиСекцию("Подбренд");    
             Пока Запрос.Группировка(4) = 1 Цикл     //Товар
                Таб.ВывестиСекцию("Товар");
            КонецЦикла;
    КонецЦикла;
  КонецЦикла;
КонецЦикла;

Flexy Подменю пользователя
сообщение 27.06.12, 13:55
Сообщение #6

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Vofka @ 27.06.12, 13:38) *
А можно картинку "как надо"?



endru Подменю пользователя
сообщение 27.06.12, 13:59
Сообщение #7

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

А не пробовали

ПрисоединитьСекцию(<ИмяСекции>)

Flexy Подменю пользователя
сообщение 27.06.12, 14:00
Сообщение #8

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(endru @ 27.06.12, 13:59) *
А не пробовали

ПрисоединитьСекцию(<ИмяСекции>)

Пробовал.Но получается черти что.Может что-то не правильно делал, хз...

endru Подменю пользователя
сообщение 27.06.12, 14:04
Сообщение #9

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Присоединение работает по горизонтали
то есть "Вывестисекцию" потом 3 раза "присоединитьсекцию"
получится первая строка

потом опять "вывестисекцию" и тд.

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

Сообщение отредактировал endru - 27.06.12, 14:08

mister-x Подменю пользователя
сообщение 27.06.12, 14:11
Сообщение #10

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

А якщо підбрендів у бренда буде декілька, тоді картинка ця http://pro1c.org.ua/index.php?s=&showt...ost&p=52296 буде іншою. Чи можливо таке?
Помилився - тією ж, колонки С і D про це говорять.
і ВывестиСекцию(<ИмяСекции>) і ПрисоединитьСекцию(<ИмяСекции>) і додаткові змінні для перевірки потрібні (для того щоб знати чи ПрисоединитьСекцию чи ВывестиСекцию)

Сообщение отредактировал mister-x - 27.06.12, 14:19

Flexy Подменю пользователя
сообщение 27.06.12, 14:18
Сообщение #11

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(mister-x @ 27.06.12, 14:11) *
А якщо підбрендів у бренда буде декілька, тоді картинка ця http://pro1c.org.ua/index.php?s=&showt...ost&p=52296 буде іншою. Чи можливо таке?
Помилився - тією ж, колонки С і D про це говорять.

Картинка будет такая же.ПодБрендов у бренда может быть много.


З.Ы.Все равно не получается.Пробую через вывести а потом присоединить.Выходит все разбросанное беспорядочно.

endru Подменю пользователя
сообщение 27.06.12, 14:22
Сообщение #12

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

А в запросе воткнули "Все ВошедшиеВзапрос"?

Flexy Подменю пользователя
сообщение 27.06.12, 14:24
Сообщение #13

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(endru @ 27.06.12, 14:22) *
А в запросе воткнули "Все ВошедшиеВзапрос"?

Думаю дело не в этом.Пустых полей быть не должно.Т.к. выводятся товары только те по которым есть остаток.

endru Подменю пользователя
сообщение 27.06.12, 14:27
Сообщение #14

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

Цитата(Flexy @ 27.06.12, 15:24) *
Думаю дело не в этом.Пустых полей быть не должно.Т.к. выводятся товары только те по которым есть остаток.


У вас на картинке они есть. Когда несколько подбрендов у товара.
Вернее несколько товаров.

|Группировка Товар без групп Все ВошедшиеВЗапрос;




Сообщение отредактировал endru - 27.06.12, 14:29

Flexy Подменю пользователя
сообщение 27.06.12, 14:37
Сообщение #15

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(endru @ 27.06.12, 14:27) *
У вас на картинке они есть. Когда несколько подбрендов у товара.
Вернее несколько товаров.

|Группировка Товар без групп Все ВошедшиеВЗапрос;

Добавил.Программа зависает полностью 47046430.gif

alex040269 Подменю пользователя
сообщение 27.06.12, 14:38
Сообщение #16

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(Flexy @ 27.06.12, 15:18) *
Картинка будет такая же.ПодБрендов у бренда может быть много.


З.Ы.Все равно не получается.Пробую через вывести а потом присоединить.Выходит все разбросанное беспорядочно.

Присоединять нужно секцию "Строка|Колонка"


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

endru Подменю пользователя
сообщение 27.06.12, 14:38
Сообщение #17

Говорящий
Иконка группы
Группа: Местный
Сообщений: 90
Из: Киев
Спасибо сказали: 15 раз
Рейтинг: 0

А так
|Группировка Товар без групп Все;

ну и отлаживать такие вещи лучше не на всей номенклатуре, а на небольшой группе
а уж потом выбирать все остатки

Сообщение отредактировал endru - 27.06.12, 14:43

Flexy Подменю пользователя
сообщение 27.06.12, 15:08
Сообщение #18

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Фигня какая-то!!Когда я присоединяю секцию товар, то перестают присоединятся секции бренд и под бренд с права.
И опять начинают выводиться линейно вниз.






Код

Пока Запрос.Группировка(1) = 1 Цикл     //Склад
             я =0;
        Пока Запрос.Группировка(2) = 1 Цикл     //Бренд
            
        
            
            
             Пока Запрос.Группировка(3) = 1 Цикл     //ПодБренд    
              
            Столбик=?(Столбик=0,1,0);
             
            Ряд=?(Столбик=0,Ряд+1,Ряд);
            
             Если Ряд>5 Тогда
                
                Таб.НоваяСтраница();
                
                Ряд=1;
            
            КонецЕсли;
             
            Если Столбик=0 Тогда
                
                 Таб.ВывестиСекцию("Тело|Ценник");
                П = 0;
            Иначе
                Таб.ПрисоединитьСекцию("Тело|Ценник");
                 П = 1;
            КонецЕсли;        
        
                
                Пока Запрос.Группировка(4) = 1 Цикл     //Товар
            
                    
                         Если П = 0 Тогда
                         Таб.ВывестиСекцию("Товар|Тов");
                     Иначе
                         Таб.Присоединитьсекцию("Товар|Тов");
                        КонецЕсли;
                КонецЦикла;
    КонецЦикла;
КонецЦикла;

КонецЦикла;


Научите кто нибудь с этими таблицами работать за пиво tongue.gif .А то вечно проблемы у меня с ними возникают.

Сообщение отредактировал Flexy - 27.06.12, 15:10

mister-x Подменю пользователя
сообщение 27.06.12, 15:19
Сообщение #19

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

розбивати звіт по сторінках також потрібно?

Сообщение отредактировал mister-x - 27.06.12, 15:20

Flexy Подменю пользователя
сообщение 27.06.12, 15:23
Сообщение #20

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(mister-x @ 27.06.12, 15:19) *
розбивати звіт по сторінках також потрібно?

Это не отчет.Это ценники для товара.Разбивать не обязательно.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 17:37
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!