• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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

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

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