• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Помогите сделать отчет

  • Автор темы Guest
  • Дата начала
G

Guest

Добрый день, есть таблица в ней колонка товары, поставщики,кол.
В списке товаров, есть одинаковые значения, но от разных поставщиков.
Пример:

Товар | Поставщик1 |Поставщик2|....и тд.
Тов1. _______30
Тов2. _________________40
Тов1. _________________10

Как сделать так чтобы если в списке товаров есть одинаковые значения то
товар попадал в Поставщик1 и Поставщик2 и Поставщик3 и тд.
Т.е.
Товар | Поставщик1 |Поставщик2|....и тд.
Тов1.______30____________ 10
Тов2. ____________________40

Платформа 7.7 Бух.учет. Обработку и таблицу приложил в архиве.

Посмотреть вложение ot.rar
 
H

Hryv

Самое простое чисто алгоритмическое решение, чтобы не менять механизм заполнения таблицы

Таблицу выгружаем в две другие, назовем для определенности ТЗ1 и ТЗ2

далее делаем
ТЗ1.Свернуть("Товар",);
ТЗ2.Свернуть("Поставщик",);
Ну или как там столбцы называются

дальше делаем пертый цикл по ТЗ1, по нему выводим строки
вкладываем в него цикл по ТЗ2, по нему присоединяем столбцы (цикл по ТЗ2 надо использовать и для вывода шапки и т.п.)
присоединяя секции к строке ищем в первоначальной таблице количество при совпадении Товара с ТЗ1 и Поставщика с ТЗ2
не забываем, если совпадение не найдено, то присоединяем секцию без количества иначе печатную форму перекосит


------------------------
посмотрел что там уже сделано
ТЗ2 делать не надо, уже есть таблица "Пост" и по ней все сделано как надо
 
G

Guest

Самое простое чисто алгоритмическое решение, чтобы не менять механизм заполнения таблицы

Таблицу выгружаем в две другие, назовем для определенности ТЗ1 и ТЗ2

далее делаем
ТЗ1.Свернуть("Товар",);
ТЗ2.Свернуть("Поставщик",);
Ну или как там столбцы называются

дальше делаем пертый цикл по ТЗ1, по нему выводим строки
вкладываем в него цикл по ТЗ2, по нему присоединяем столбцы (цикл по ТЗ2 надо использовать и для вывода шапки и т.п.)
присоединяя секции к строке ищем в первоначальной таблице количество при совпадении Товара с ТЗ1 и Поставщика с ТЗ2
не забываем, если совпадение не найдено, то присоединяем секцию без количества иначе печатную форму перекосит


------------------------
посмотрел что там уже сделано
ТЗ2 делать не надо, уже есть таблица "Пост" и по ней все сделано как надо




А можно примерчик а то я что-не до понял
 
G

Guest

что именно непонятно?


Код:
таб.выестисекцию("шапка");

пока тов.получитьстроку()=1 цикл

таб.вывестистроку("строка");

пока пост.получитьстроку()=1 цикл
таб.присоеденитьсекцию(шапка|поставщик");
конеццикла

конеццикла

так?

получается вот что Посмотреть вложение ___.rar
 
H

Hryv

Вы программист или хотите пальцем в небо?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!