Имя: Пароль:
1C
 
Открытки и конверты
0 Bobijon
 
10.04.24
13:14
Нужно разработат внешний отчет, который по всем отраженным в ИБ документам определит, какие открытки в какие конверты можно поместить для выполнения рассылки, при условии, что открытки нельзя сгибать, но поворачивать можно как угодно. При этом надо постараться, чтобы число неотправленных открыток было минимальным.
1 vicof
 
10.04.24
13:18
Шта?
2 Sorento
 
10.04.24
13:19
Возможно здесь найдеш решение вот линк Задача про конверты и открытки
3 Timon1405
 
10.04.24
13:19
Для создания такого отчета на языке 1С (1С: Предприятие) предполагается, что у вас есть данные об открытках и конвертах в информационной базе (ИБ). Для начала, нужно определить структуру этих данных и как они хранятся в вашей ИБ.

Предположим, что у вас есть два реквизита:

Открытка (ОткрыткаID, Длина, Ширина)
Конверт (КонвертID, Максимальная_длина, Максимальная_ширина)
Вам нужно написать алгоритм, который будет оптимально распределять открытки по конвертам таким образом, чтобы минимизировать число неотправленных открыток. Вот примерный код на языке 1С:

Процедура РаспределитьОткрыткиПоКонвертам()
  
  // Получаем список открыток и конвертов из ИБ
  Выбрать ИД, Длина, Ширина Из Открытки;
  Выбрать ИД, Максимальная_длина, Максимальная_ширина Из Конверт;
  
  // Создаем таблицу для хранения результатов распределения
  ТаблицаРезультатов = Новый ТаблицаЗначений;
  ТаблицаРезультатов.Колонки.Добавить("ОткрыткаID");
  ТаблицаРезультатов.Колонки.Добавить("КонвертID");
  
  // Проходим по каждой открытке
  Пока Не КонецВыборки(Открытка) Цикл
    
    МинимальныйРазмер = Максимальная_длина * Максимальная_ширина + 1;
    Выбрать ИД, Максимальная_длина, Максимальная_ширина Из Конверт Где Максимальная_длина >= Открытка.Длина И Максимальная_ширина >= Открытка.Ширина Упорядочить По Максимальная_длина, Максимальная_ширина;
    
    // Проходим по каждому подходящему конверту
    Пока Не КонецВыборки(Конверт) Цикл
      РазмерКонверта = Конверт.Максимальная_длина * Конверт.Максимальная_ширина;
      Если РазмерКонверта < МинимальныйРазмер Тогда
        Продолжить;
      КонецЕсли;
      
      // Проверяем, влезает ли открытка в конверт
      Если Открытка.Длина <= Конверт.Максимальная_длина И Открытка.Ширина <= Конверт.Максимальная_ширина Тогда
        // Добавляем открытку в конверт
        ТаблицаРезультатов.Добавить();
        ТаблицаРезультатов.ОткрыткаID = Открытка.ИД;
        ТаблицаРезультатов.КонвертID = Конверт.ИД;
        Прервать; // Переходим к следующей открытке
      КонецЕсли;
    КонецЦикла;
    
  КонецЦикла;
  
  // Выводим результаты
  Вывести ТаблицаРезультатов;
  
КонецПроцедуры;
Это основной алгоритм, который проходит по каждой открытке и пытается поместить ее в наименьший возможный конверт. Пожалуйста, учтите, что этот код приведен лишь в качестве примера и требует адаптации к вашей конкретной информационной базе и требованиям проекта.
4 Bobijon
 
10.04.24
13:20
Организации необходимо выполнить почтовую рассылку огромного числа поздравительных открыток. Для отправки через почту каждая открытка должна быть помещена в конверт. Все конверты и открытки имеют прямоугольную форму. Сведения о имеющихся в наличии конвертов и открыток и о их размерах представлены, соответственно, в документах двух видов – «Конверты» и «Открытки».Все размеры в документах задаются целыми числами в одинаковых единицах измерения, уникальность наименований конвертов и открыток гарантируется, количества имеющихся конвертов и открыток могут не совпадать.

В предложенной олимпиадной конфигурации «1С:Предприятие» разработайте внешний отчет, который по всем отраженным в ИБ документам определит, какие открытки в какие конверты можно поместить для выполнения рассылки, при условии, что открытки нельзя сгибать, но поворачивать можно как угодно. При этом надо постараться, чтобы число неотправленных открыток было минимальным.

Результат выдайте в виде отчета следующего вида.
5 АгентБезопасной Нацио
 
10.04.24
13:23
у студентов-двоечников весеннее обострение...
6 НастяПРО
 
10.04.24
15:10
(5) Это мой внучок
7 НастяПРО
 
10.04.24
15:11
Володька, я уже решила все, не бойся. САМА!!!! БЕЗ помощи этих аболтусов. Заходи в гости на чай, расскажу тебе решение, Чебуреки пекла пока решала
8 АгентБезопасной Нацио
 
10.04.24
15:15
(6) наследственность чувствуется, однако...
9 H A D G E H O G s
 
10.04.24
15:16
(8) Гнездо троллей.
10 НастяПРО
 
10.04.24
15:17
(9) И Я тебя люблю солнышко
11 НастяПРО
 
10.04.24
15:17
(8) НУ, мать его не я рожала
12 FirstLine Support
 
10.04.24
16:29
(11) жуть, а отказаться от этой олимпиады никак нельзя?
13 maxab72
 
10.04.24
16:56
(12) Это паралимпиада...
14 АгентБезопасной Нацио
 
10.04.24
17:38
(13) но не настолько же...
15 НастяПРО
 
11.04.24
08:42
(12) Не
16 НастяПРО
 
11.04.24
08:42
(13) Не
17 НастяПРО
 
11.04.24
08:42
(14) Не
18 FirstLine Support
 
11.04.24
09:43
(17) напишите письмо в Олимпийский комитет РФ, там есть айтишники, пускай разбираются
19 АгентБезопасной Нацио
 
11.04.24
10:22
(18) вообще-то, канонично - надо писать в спортлото. Хотя ТС правильнее будет писать "в лигу защиты сексуальных меньшинств"
Программист всегда исправляет последнюю ошибку.