Пишу таблицу для учета товаров и денег в магазине. Есть вопросы...

Автор reskoif, 7 декабря 2018, 23:10

0 Пользователи и 1 гость просматривают эту тему.

mikekaganski

При сортировке принимается во внимание различие в типе данных в первой и последующих строках. Это можно почитать в багах 118471, 91305. Кроме того, в диалоге сотрировки можно явно указать, что делать с заголовками.
С уважением,
Михаил Каганский

rami

Цитата: reskoif от  8 декабря 2018, 11:20Но странно другое: я добавляю там названия или удаляю (через управление) - оно ничего не меняет. Первая строка так и остается первой и не принимает участия в сортировке. Впринципе это то что мне надо, но хотелось бы понять почему так? А если вдруг мне понадобится обратное?
Вы, наверно, сортируете с помощью окошка сортировки? В нём есть таб "Параметры", а в нём "птичка" включенная по умолчанию: "Диапазон содержит метки столбцов".

reskoif

Цитата: rami от  8 декабря 2018, 11:29Вы, наверно, сортируете с помощью окошка сортировки? В нём есть таб "Параметры", а в нём "птичка" включенная по умолчанию: "Диапазон содержит метки столбцов".
Ага, с этим разобрался.
Таблицу сделал - формулы все считает как надо.
Теперь задача на сегодня - создать форму для добавления нового товара. Проблема в том что Артикул должен присваиваться автоматически (+1 к последнему), А цены и наценка тоже рассчитываются автоматически по формуле. Тоесть в форме эти поля должны быть, но значения там прописываются автоматически. такое возможно? Как это реализовать, куда смотреть?

kompilainenn

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

reskoif

Цитата: kompilainenn от  8 декабря 2018, 11:53У меня впечатление. Что это задача для базы данных, а не для электронной таблицы
Я тоже так думал, но я не нашел там способа автоматически рассчитывать определенные поля (использовать формулы). Там просто записываешь в ячейки и все.

JohnSUN

Цитата: reskoif от  8 декабря 2018, 11:47
...в форме эти поля должны быть, но значения там прописываются автоматически. такое возможно? Как это реализовать, куда смотреть?
Смотри сюда, смотри внимательно: поля для Артикула, процента наценки и пересчитанных сумм не чёрные, а серые. И даже обведены голубыми рамками. Это признак того, что в эти ячейки заранее вписаны формулы, которые сработают и что-то вычислят когда остальные три поля - Наименования и две валютных цены - будут заполнены. Формулы не сложные (привожу примеры для строки 20):
Для Артикула
=IF(B20="";"";A19+1)
"Если Наименование пустое, то и Артикул пустой, иначе Артикул на единицу больше Артикула из строки 19"
Для Наценка
=IF(OR(B20="";C20=0);"";(D20-C20)/C20)
"Если Наименование пустое ИЛИ Цена закупки равна нулю, то и Наценка пустая, иначе Наценка равна разности цен делённой на Цена закупки" (проверка на равенство нулю нужна чтобы не попытаться случайно поделить на ноль, это понятно?)
Для Цена закупки (рубли) и Цена продажи (рубли) формулы похожи
=IF(OR(B20="";C20=0);"";C20*$L$1)
=IF(OR(B20="";D20=0);"";D20*$L$1)
Здесь ячейка $L$1 - это ячейка с текущим курсом.
Если внести эти формулы в нужные колонки и растянуть вниз на нужное количество строк с запасом, то в ячейках ничего не отобразится, потому что Наименование ещё не заполнено.
Теперь можно установить расширение, вызвать Форму и вносить три из семи значений - четыре остальных колонки будут заполняться автоматически.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

reskoif

Цитата: JohnSUN от  8 декабря 2018, 12:38Смотри сюда, смотри внимательно:
Ух... большое спасибо ))) Уже есть работа на сегодняшний вечер. А то я писал просто формулы и мне выдавало нули на всю таблицу. Но Вы уже опередили мой вопрос по этому поводу. Наверное потому и форма у меня позволяла вводить все значения, потому как я формулы прописал только там где есть записи. Все прояснилось. Еще раз спасибо.

kompilainenn

Цитата: reskoif от  8 декабря 2018, 12:24Я тоже так думал, но я не нашел там способа автоматически рассчитывать определенные поля (использовать формулы). Там просто записываешь в ячейки и все.
для этого существует такая штука, как "Запрос"
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Для дальнейшего общения было бы полезно, если бы ты к одному из следующих своих сообщений приложил файл-образец. Не обязательно с настоящими, реальными данными - направленность твоего бизнеса нам не интересна, по наименованиям товара никто не станет вычислять твой магазин и твоих поставщиков, конкурентов для тебя здесь, на форуме нет. Пусть это будут Товар1, Товар2, Товар3... и цены 3,62; 4,12; 1,22... Главное, чтобы было видно куда ты поместил текущий курс, что именно ты собираешься брать с других листов, какие формулы уже заполнил, а с какими возникли проблемы.
Без твоего образца нам приходится каждый раз создавать свою тестовую таблицу - это забирает лишнее время и ты получаешь ответы на свои вопросы не так быстро, как хотелось бы.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Цитата: kompilainenn от  8 декабря 2018, 11:25А можно поподробнее, как это должно работать?
Проверил ещё раз, если в выбранном диапазоне все ячейки первой строки содержат только строковые значения (не числа, не формулы и не пустые), то птичка "Диапазон содержит метки столбцов" устанавливается автоматом, иначе слетает. С подписями я ошибся, они на сортировку не влияют.

reskoif

Вот пока мои достижения. С формами я пока не очень доволен. Как-то все криво и на самом деле долго - уж лучше все вручную вводить.

Есть вопрос - как ограничить таблицу, чтобы она вниз шла себе соклько надо, а вот по горизонтали чтобы заканчивалась где уже нет столбцов и не предвидется?

И еще - как реализовать "продажу товара"? ТОесть я по нему (или по какой-то кнопке) кликаю и он переходит в правую часть екрана (корзина) и внизу уже кнопка об оплате. Ну я думаю вопрос понятен. Деньги в касу, количество товара -1, получено денег ХХХ, прибыль УУУ.

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

JohnSUN

Ограничить - не проблема: выделяешь ячейки от первой ненужной до самой последней (просто встань на L1 и нажми Ctrl+Shift+стрелка вправо), выбери из меню Формат-Столбцы-Скрыть

А вот со вторым вопросом (и всеми последующими) - это тебе уже kompilainenn написал:
Цитата: kompilainenn от  8 декабря 2018, 11:53
это задача для базы данных

Потому что ты прав:
Цитата: reskoif от  8 декабря 2018, 10:18
количество вопросов растет в геометрической прогрессии в связи с поступлением новой информации

Это можно сделать и в таблицах Calc, можно... И работать оно будет. Плохо, не долго - но будет.
От какого количества ты собираешься отнимать единичку в случае продажи? Ах, из листа Товары? Хорошо. А что делать, если щелкнул не по той строке или покупатель резко передумал, а единичка-то уже списана? А как ты поступишь, когда привезут новый товар? Добавишь его сюда же, в этот же лист? Ладно. А по какому курсу?..
В общем, как черновик будущей базы данных эта твоя таблица годится - её можно разглядывать и обсуждать, что в ней плохо, что нужно улучшить, а что и так сойдёт. Но как настоящий рабочий инструмент её использовать нельзя.

Расскажи по секрету - кому на фиг нужны категории? Тем более три штуки? Шоб було? Тратить время на их заполнение? А людей, которые потом всё это должны будут заполнять не жалко?



Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

reskoif

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

Пока что мы уперлись в ситуацию когда Кальк надо закрывать и начинать все это в базе данных? Я правильно понял?

reskoif

На счет категорий:
1)Они в таком виде экспортируются на сайт - там тоже есть категории и люди так ищут товары.
2)В магазине больше 3000 наименований товара. Просто нереально найти нужный товар если не уверен как написано название (бывает и такое) или же тебе надо несколько товаров схожих, но выбор делать по цене. Кроме того бывает что название записано с ошибками - тогда такой товар ВОБЩЕ НИКОГДА не найдется ))) Было и такое - нашли товар после 2 лет "забытья" - правда там были ошибки и в категориях (отсутствие) и в названии - вобщем без шансов :-)

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

JohnSUN

Цитата: reskoif от  8 декабря 2018, 23:43
Кальк надо закрывать и начинать все это в базе данных? Я правильно понял?
Не правильно. Ещё некоторое время с Кальком нужно повозиться-поковыряться. Дело в том, что база - это тоже набор таблиц. Но чтобы работать с таблицами сразу в БД, нужен навык - там таблица как бы абстрактное, общее понятие. Ну, вроде как только заголовки колонок, без данных - не очень наглядно. Всё нужно держать в голове. А с Кальковскими таблицами проще, нагляднее - сразу видно и как колонка называется и какие данные там будут храниться. Поэтому и говорю, что эта таблица - черновик, макет будущей базы данных.
Только нужно сосредоточиться не на фишках-плюшках, которые для удобства ввода данных нужны, а именно на структуре данных - какая часть данных в каком месте будет лежать, чего хранить и где использоваться.
Ну, глянь этот пример - это только начало, там ещё думать и думать...

А вот когда это всё уже сложится, станет простым и понятным, тогда уже откроешь базу данных, перетащишь получившиеся таблицы туда и начнешь думать над удобством использования.
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне