Конфигурация "Рюкзачок"

02.03.24

Задачи пользователя - Разное

Составление комплекта вещей в поездку, поход, для работы и т.п. Конфигурация разработана для платформы 1С:Предприятие 8.3 (конкретно учебная версия 8.3.13.1644, потому что более новые утомили меня своими сюрпризами).

Скачать исходный код

Наименование Файл Версия Размер
Конфигурация «Рюкзачок»: конфигурация и руководство пользователя
.zip 238,85Kb
2
.zip 238,85Kb 2 Скачать
Конфигурация «Рюкзачок»: демонстрационная база и руководство пользователя
.zip 322,97Kb
3
.zip 322,97Kb 3 Скачать

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

В итоге, как водится, решил задачу с помощью таблички в Экселе. А также линейки и весов. Посмотрел на результат – и решил ходить в походы на машине. Лучше на большой.

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

Было еще вот какое соображение. Такая база нужна дома, а там я пользуюсь учебной версией платформы. Для каких-нибудь мелочей ее хватает, а как что-то серьезное делать, так упираешься в искусственные ограничения.

Да-да, я уже слышу хохот за монитором. Представьте себе туриста, у которого список вещей не влез в две тысячи позиций. Сами понимаете, гора чемоданов, туземные носильщики, джунгли зовут. По-другому в Африку не ходят гулять.

Однако ж на практике список предметов, которые так и норовят оказаться в вашем рюкзаке или чемодане в зависимости от сезона и прочих обстоятельств, почему-то растет с угрожающей быстротой. Так что задуматься о длине списков нужно заранее.

Вдобавок есть очевидные моменты, о которых не вспоминаешь, пока что-нибудь нужное не забудешь. Даже если в списке три десятка вещей, лучший способ не упустить ничего из виду – ставить галочки на бумажной распечатке. А печать-то в учебной платформе не поддерживается. Придется действовать обходными путями.

В общем, в Экселе я ни с чем таким не сталкивался и потихоньку, год за годом, пополнял таблицу, измеряя и взвешивая, измеряя и взвешивая, измеряя и взвешивая…

А потом сказал себе «Соберись, тряпка!» и сделал конфигурацию в 1С. Называется «Рюкзачок».

 

 

Итак, наполненный рюкзак, набитый чемодан или багажник машины, заваленный вещами, в терминах конфигурации называется укладкой. Любая укладка собирается из вещей, перечисленных в общем списке предметов. Заранее вы будете наполнять его или по ходу дела, решите сами.

Кстати, рюкзаки, чемоданы, сумки и т.д. тоже должны быть в списке предметов. Как поступить с багажником или прицепом, даже и не знаю. Придумайте что-нибудь.

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

Любой предмет в списке доступных предметов может быть объявлен контейнером, и тогда можно помещать в него другие предметы, в том числе другие контейнеры и другие укладки. Вложенные укладки присутствуют на правах не то предметов, не то контейнеров, смотря по обстоятельствам. В любом случае они становятся частями структурированного списка.

Ну так вот, пустой рюкзак – это контейнер, пустая аптечка – тоже контейнер, пустая коробка для блесен – тем более контейнер. Считать ли контейнером коробок спичек или тюбик зубной пасты – ваше личное дело. Где-то все равно придется остановиться.

По идее, любая укладка сама содержится в каком-нибудь контейнере. Он так и называется – контейнер укладки. Но можно обойтись и без него. Конфигурация позволяет собрать укладку в виде кучи, бесформенной, но не безразмерной.

Вообще-то, объявление предмета контейнером означает, что у него есть доступное внутреннее пространство, которое характеризуется размерами, объемом, формой. Самое важное, что внутренние размеры и объем контейнера являются ограничениями на размеры и объем вложенных предметов, а применение этих ограничений зависит от типа контейнера.

Более того, внутренние размеры и объем могут быть никак не связаны с внешними. То есть в качестве внешних можно указать размеры контейнера в сложенном виде, а в качестве внутренних – в расправленном. Вдобавок внутренний объем никак не связан с внутренними размерами, хотя по умолчанию вычисляется, исходя из размеров и формы.

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

Еще одна особенность конфигурации – учет количества предметов. По умолчанию каждый предмет в общем списке считается уникальным и единственным. Однако ничто не мешает указать количество одинаковых предметов. Или перечислить их каждый по отдельности. То же самое можно делать в укладке. В любом случае конфигурация не позволит набрать больше предметов, чем есть.

Но можно попросить не учитывать количество. Допустим, в списке есть шариковая ручка. Самая обыкновенная, за три копейки. Лично я понятия не имею, сколько таких ручек у меня дома. Тогда можно поставить галочку «Не проверять количество» и раскладывать одну и ту же условную ручку хоть по всем карманам. Если в реальности не хватит, придется идти в магазин за ручками.

Есть и другой аспект учета. Количество предметов контролируется только в пределах укладки. Конфигурация не может знать, существуют ли разные укладки одновременно в реальности или только в виде списков. Предполагается, что каждая укладка существует сама по себе и не конкурирует с другими за предметы.

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

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

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

Но для укладок зацикливание вложенности проверяется обязательно. Дело не только в том, чтобы не позволить вложить укладку в саму себя, но и в том, что любая укладка может быть изменена после того, как ее куда-то вложили. То есть зацикливание может возникнуть случайно.

Конечно, подобные неприятности могли бы предотвращаться сами собой благодаря проверке размеров и объема. Но если укладка не имеет собственного контейнера (то есть просто куча), у нее нет способности так предотвращать зацикливание.

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

В конфигурации пока не сделаны некоторые полезные вещи, на которые не хватило запала. Со временем они могут появиться, но обещать ничего не буду. Кое-что довольно просто реализовать, но есть и такие улучшения, с которыми придется повозиться:

  • возможность изменять количество у контейнеров с вложениями (сейчас можно только для вложенных укладок и пустых контейнеров)
  • как следствие предыдущего пункта – возможность помещать предметы в контейнеры, у которых количество отличается от единицы
  • наличие отделений у контейнеров, то есть группировка контейнеров в нечто, что само по себе является предметом и контейнером
  • преобразование контейнера во вложенную укладку и наоборот
  • преобразование отделения в обособленный контейнер и наоборот
  • создание укладки на основе другой укладки, так чтобы дочерняя укладка содержала только отличия от базовой

И еще есть ситуации, с которыми конфигурация в нынешнем виде не справляется.

Прежде всего, никак не учитывается взаимное расположение предметов. То есть по суммарному объему они вроде бы отлично помещаются в контейнере, а в реальности – ну никак. Или наоборот – формально не должны влезать, а на практике очень даже могут, если положить наискосок.

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

Или возьмем, к примеру, обыкновенные пластиковые стяжки, которыми скрепляют пучки проводов. Пусть будут длинные, сантиметров 30. Если их всего несколько штук, бывает удобнее согнуть их и положить в пакет меньшего размера. Тут-то и возникает нестыковка. Хотите укладывать в маленький контейнер – указывайте размеры в согнутом виде. Но для пачки стяжек важна реальная длина, потому что пачку сгибать неудобно. Осталось только решить, в какой момент несколько штук становятся пачкой. Или до каких пределов можно сгибать стяжку, если предусмотреть такую возможность.

В общем, есть над чем работать. Кстати, не спрашивайте, почему тут не реализована печать. Ответ в начале статьи. Зато сделаны списки сверки, чтобы ставить галочки на ноутбуке или планшете. Только не говорите, что не бывает планшетов с 1С. У меня есть один.

 

Список сверки

рюкзачок туризм поездки походы рюкзак чемодан укладка

См. также

Тренажер Азбуки Морзе

Разное Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Тренажер Азбуки Морзе на 1С без внешних компонент.

1 стартмани

17.04.2024    841    1    Irwin    2    

12

Разложим фото по полочкам

Разное Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В публикации представлена простая внешняя обработка, позволяющая перенести файлы с фото в нужные папки.

1 стартмани

21.03.2024    498    1    vikhrov53    0    

3

Учет домашней квартплаты

Разное Платформа 1С v8.3 Конфигурации 1cv8 Энергетика и ЖКХ Россия Бухгалтерский учет Управленческий учет Абонемент ($m)

Позволяет в одном документе собрать записи по всем коммунальным платежам и показаниям бытовых приборов. Вы не пропустите и не забудете свой коммунальный платеж. Будете точно знать ежемесячную сумму коммуналки по всем объектам собственности. Расширение предназначено для самой популярной конфигурации 1С:Бухгалтерия 8, ред. 3. Объекты расширения не имеют заимствования конфигурации. Его легко встроить в другие типовые конфигурации 1С.

1 стартмани

30.01.2024    609    2    kwn2000    2    

6

Определение длительности аудиофайла (Linux)

Linux Разное Программист Пользователь Платформа 1С v8.3 Абонемент ($m)

Пример обработки для определения длительности аудиофайла в среде Linux.

1 стартмани

12.01.2024    473    0    ErAK    3    

3

Конфигурация "Казначей группы (класса/команды/...)"

Разное Взаиморасчеты Платформа 1С v8.3 Общественные и некоммерческие структуры Обучение, бизнес-тренинг, курсы Развлечения, искусство, спорт Домашние учет и финансы Управленческий учет Абонемент ($m)

Нано- (даже не микро- !) конфигурация для тех, кто выступает в роли казначея класса/группы/команды, и в чьи задачи входит сбор денег с участников за участие в каких-то мероприятиях, а потом передача собранных денег организаторам этих мероприятий.

1 стартмани

03.11.2023    778    3    q_i    0    

12

Математический тренажер через телеграмм (feat 1С)

Математика и алгоритмы Разное Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    2142    maksa2005    8    

22

Генератор математических примеров

Математика и алгоритмы Разное Абонемент ($m)

Маленькая программа для генерации примеров. C#

1 стартмани

28.09.2023    1488    1    FIERYLIONS    18    

8

Конструктор: ЧислоПрописью и СтрокаСЧислом

Разное Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

Возможно я просто ленивый, а может потому что понадобилось... в общем сделал конструктор параметров. Может 1С когда-нибудь сделает что-нибудь такое в конфигуратор?

1 стартмани

15.09.2023    3254    12    vandalsvq    8    

50
Отзывы
27. dmpas 418 21.01.24 23:41 Сейчас в теме
(25) не БСП, у УСП - Укладка Стандартных Подсистем.
black_wizard; AntonKite; AnatolPopov; +3 Ответить
30. Светлый ум 406 21.03.24 10:04 Сейчас в теме
еще бы Алису придружить - чтобы голосом наполнять
AnatolPopov; +1 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. GG_Dots 41 19.01.24 12:10 Сейчас в теме
Возможно это лучшее что я видел за последнее время! Класс!
user1628996; ixijixi; AnatolPopov; +3 Ответить
5. AnatolPopov 171 19.01.24 15:02 Сейчас в теме
2. Vlan 36 19.01.24 12:17 Сейчас в теме
Понравился стиль описания. Вам бы книжки писать. :-)
AntonKite; ixijixi; AnatolPopov; San4eZ1C; GG_Dots; +5 Ответить
6. AnatolPopov 171 19.01.24 15:03 Сейчас в теме
(2) Сначала надо на пенсию выйти ;) Спасибо!
3. user1559729 19.01.24 13:59 Сейчас в теме
В... - мобильное приложение?
chng; silly; +2 Ответить
4. AnatolPopov 171 19.01.24 15:02 Сейчас в теме
(3) Это я еще не освоил. Да и как-то не лежит душа к мобильным приложениям.
А если кому-то хочется - делайте форк и дерзайте ;)
Заодно косяки исправите ;)))
10. verybig 13 19.01.24 19:57 Сейчас в теме
(4) Не увидел ссылку на git откуда предполагается делать форк. Я ослеп или забыли?
А в целом, шикарная идея и годный продукт. Особенно понравился этап проработки бизнес-требований.
12. AnatolPopov 171 19.01.24 20:07 Сейчас в теме
(10) Ссылки на git нет. И репозитория нет. Вы не ослепли, а я не забыл ;)
Ничто не мешает взять мою конфигурацию и пилить по своему усмотрению.
Ничто, кроме отсутствия 1 sm ;)
13. AnatolPopov 171 19.01.24 20:10 Сейчас в теме
(10) И да, спасибо за оценку ;)
7. simuljakr 203 19.01.24 17:05 Сейчас в теме
Какая забористая дичь !
Автор, а вы когда были в последний раз в походе?
У вас взвешены все ложки и носки ?????
maksa2005; +1 Ответить
8. AnatolPopov 171 19.01.24 17:20 Сейчас в теме
(7) Насчет всех не уверен, но многое действительно измерено и взвешено.
Понимаю ваш сарказм, я бы и сам так отнесся к подобной затее.
Но никто ведь не говорит, что это было сделано за один день, а постепенно можно накопить реальную базу.
И вообще очень полезно представлять, из каких мелочей складываются килограммы и десятки килограммов - сильно удивитесь, когда узнаете.
Award; ixijixi; +2 Ответить
9. simuljakr 203 19.01.24 17:35 Сейчас в теме
(8) Я часто путешествую с рюкзаком.
После каждого, очередного похода я смотрю вещи, которые не пригодились - и в следующий раз их не беру...
В результате уже дошел до крайних степеней минимализма )

Помнится как-то путешествовал с детьми - так у нас на 3-х человек (я и два ребенка) вещи уместились в один 40-литровыйй рюкзак...
AnatolPopov; +1 Ответить
11. AnatolPopov 171 19.01.24 20:03 Сейчас в теме
(9) Ну и отлично! Я не буду спорить с вами о целесообразности. Моя база - это инструмент. Кто хочет - пусть пользуется, кто не хочет - неволить не буду.
Award; silly; +2 Ответить
16. twiny 15 20.01.24 10:16 Сейчас в теме
(8) Вес палатки меняется после каждого похода. В сторону увеличения)
17. AnatolPopov 171 20.01.24 15:10 Сейчас в теме
(16) А вес носков - в сторону уменьшения ;)
28. twiny 15 23.01.24 12:08 Сейчас в теме
(17) Только вот не знаю линейная ли там зависимость или экспоненциальная... Нужно посмотреть как АнализДанных прикрутить можно к этому)
AnatolPopov; +1 Ответить
29. AnatolPopov 171 23.01.24 16:45 Сейчас в теме
(28) Непростительная небрежность, коллега! Непростительная, скажу я вам.
АнализБольшихДанных, именно Больших.
Нужно много носков. И все взвесить.
;)))
14. dhurricane 19.01.24 22:16 Сейчас в теме
Уж не знаю, какие таки "приколы" платформы старше 8.3.13 могли Вас утомить в реализации пет-проектов. Но тем не менее попробуйте 8.3.23, там есть комьюнити-лицензия. Уйдет ограничение в 2 тысячи позиций. :)
mikl79; AnatolPopov; +2 Ответить
15. AnatolPopov 171 20.01.24 07:37 Сейчас в теме
(14) Возможно, надо было докупить памяти в мой старенький комп, но с приколами я сталкивался и на более современных компах.
В частности, меня бесит, что вдруг перестает работать копипаст. Вот это у меня стабильно происходило с новыми версиями платформы.
Или собираешь формулу в конструкторе запросов, а она нифига не собирается. В итоге проще руками напечатать.
И что-то там еще, уже не помню.
Интересно, сколько гигов оперативки надо 1С для поддержки копипаста в конфигураторе? ;)
Пусть озвучат системные требования ;)
А за подсказку спасибо. Думаю, пользователям она пригодится. Не для 2 тыщ позиций, конечно, а для печати.
18. AnatolPopov 171 21.01.24 07:40 Сейчас в теме
(14) Кстати, насчет ограничений:

"Особенности бесплатных community-лицензий 1С:Предприятие 8.3 для разработчиков:
...
- Ограничена по сроку действия: 1 неделя. Обновление лицензии выполняется автоматически, при наличии подключения к сети Интернет."

Вот за что я люблю 1С, так это за трогательную заботу о нас.
19. cska1312 38 21.01.24 11:24 Сейчас в теме
Прикольно.😁
Это вам не 1С:Ломбард 4, а действительно нужна конфигурация (если что, не сарказм).
silly; AnatolPopov; +2 Ответить
22. AnatolPopov 171 21.01.24 14:56 Сейчас в теме
20. ixijixi 1822 21.01.24 12:21 Сейчас в теме
Плюсанул за оригинальную идею и прекрасный слог автора
silly; AnatolPopov; XAKEP; +3 Ответить
21. AnatolPopov 171 21.01.24 14:51 Сейчас в теме
(20) Вот я и думаю, надо бросать эту 1С и браться за серьезную литературу ;)))
Для начала написать серию книг потолще:
"Моя жизнь с 1С"
"До и после 1С"
"Как я дошел до жизни такой"
"И ты дойдешь..." (подзаголовок "Да куда ты денешься...")
"Как изучить 1С и начать материться"
ну и так далее ;)
23. dmpas 418 21.01.24 20:46 Сейчас в теме
Мой плюсец.
Определённо нужно делать командную укладку через РИБ.

Потом согласование укладки, планирование укладки, планирование закупок под укладку, резервирование товаров под укладку и инвентаризацию укладки.
chng; AnatolPopov; +2 Ответить
25. AnatolPopov 171 21.01.24 22:56 Сейчас в теме
(23) Потом объявляем о выпуске типовой конфигурации, передаем это дело во франчайзи, открываем платные курсы ;)
И да, там будет собственная реализация БСП. Ясен пень, все существующие никуда не годятся ;)
27. dmpas 418 21.01.24 23:41 Сейчас в теме
(25) не БСП, у УСП - Укладка Стандартных Подсистем.
black_wizard; AntonKite; AnatolPopov; +3 Ответить
24. pollikarp 74 21.01.24 21:20 Сейчас в теме
Идея огонь! +присоединяюсь
AnatolPopov; +1 Ответить
26. AnatolPopov 171 21.01.24 22:56 Сейчас в теме
30. Светлый ум 406 21.03.24 10:04 Сейчас в теме
еще бы Алису придружить - чтобы голосом наполнять
AnatolPopov; +1 Ответить
31. AnatolPopov 171 22.03.24 03:17 Сейчас в теме
(30) Это да!
Вытряхнуть все из рюкзака, класть на весы и диктовать ;)
Оставьте свое сообщение