Задать вопрос
  • Складской учет?

    @koronabora
    Человек
    Предложу:

    0) ИМХО, лучше делать слепки состояний склада на каждый день (или неделю или месяц). Состояние склада - список товаров (в виде id) и их количество. Если нужно узнать что было после какой-то накладной, пересчитываем все с начала дня до этой накладной включительно.
    1) Накладная - просто список товаров (в виде уникальных id) и добавляемое количество. Можно ввести поле типа накладной, можно просто хранить отрицательное значение если это списание, положительное если это приход.
    2) За период просто проходим все накладные и записываем все операции. Для одинаковых позиций операции применяем последовательно. В результате получаем движение материальных ценностей за период.
    3) Просто добавляем в нужное место между накладными еще одну, потом все последующие пересчитываем.
    4) Если мы закупаем товар партиями с разной себестоимостью - то так и храним их на складе, партиями. Как только вся партия выбрана, то меняется себестоимость отгрузки т.к. отгружаем из другой партии с другой себестоимостью. Тоесть, на складе может быть 30 стульев, в виде 3 записей по 10 стульев но с разным временем добавления и разной себестоимостью.
    5) Акт инвентаризации просто сравниваем с состоянием склада на начало дня (смотри пункт 0).
    Ответ написан
    9 комментариев
  • Для чего нужен составной ключ в mysql?

    @luna3956
    Составные ключи могут служить заменой специально вводимым идентификаторам.
    Например есть таблица Пользователи вида Users(id, name) и таблица Фотки вида Photos(id, name).

    Таблица содержащая фотки пользователей будет таблица UsersPhotos(user_id, photo_id). В данном случае эти два поля образуют составной ключ, эта связка будет уникальна и нет смысла вводить избыточный идентификатор, если этого не требует логика приложения.
    Ответ написан
    7 комментариев
  • Может ли go lang использоватся в геймдеве?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Микропетпроджект - домашнее облако homeCloud
    Ваш вопрос слишком общий. И вот почему.
    Геймдев - очень широкое понятие. Вы наверное имели ввиду геймдев с красивой 3d графикой и прочими прелестями. Но. Есть например такие вещи, как текстовые квесты. Го умеет чтение из консоли и вывод туда же? Значит можно. А если вернутся года так в 80-90 - то были и игры в ASCII-арте. Соответственно - на любом тьюринг-полном языке, который имеет какой то стандартный инпут и оутпут в теории можно написать игру.
    Ответ написан
    Комментировать
  • С чего начать систему учёта склада?

    k1lex
    @k1lex
    Программист торг. сети. C# (WPF, WinForms), T-SQL
    Я на своей практике (а работаю я именно с системами учета) из нормальных могу порекомендовать такую структуру:
    1) таблица Приходов Income (заголовок, где указанны дата прихода, подразделение куда пришел и прочее) + IncomeGoods - (тело заголовка, где указан товар, количество и цена)
    2) Таблица Расходов Outgo(заголовок, где указанны дата расхода, подразделение от куда ушел) + OutgoGoods - (тело заголовка, где указан товар, количество и цена)
    3) таблица взаимосвязей - RelationIO (идентификаторы приходной позиции товара из IncomeGoods и OutgoGoods )-> таблица взаимосвязей приходов и расходов.
    В чем суть таблицы: у вас есть приход допустим 20 штук. Вам нужно забрать из него 10 штук. Вы записываете в RelationIO то количество которое вы забрали из прихода и что его забрало.
    Только понадобится написать процедуру проведения накладной - под проведением я подразумеваю набор свободных остатков для расхода.
    Теперь по отдельным пунктам.
    • Проводить документ только в транзакции. Никакие вычитания в данной системе не нужны. Все операции обратимы. Вы можете убрать взаимосвязи и удалить расход
    • при каждом обращении рассчитывать предыдущее состояние склада, вычитать из него 3-4 тысячи заказов и прибавлять 3-4 сотни поставок – не решение

      Для проведения это единственное правильное решение. Иначе готовьтесь к большой Ж... в приходах и расходах, когда вся ваша система разрастется.
    • Создайте в заголовках места хранения "Основное" и "Брак" + прочие
    • По последнему писать не буду. Много там слишком. Если такая система заинтересует, могу примерную структуру таблиц прислать с алгоритмом (или кодом на MS SQL) для проведения

    Ответ написан
    7 комментариев
  • Как грамотно спроектировать структуру базы данных?

    @app25
    строишь граф с аналитиками: станция , станция с которой можно попасть на эту(родительская), стоимость проезда от родительской , номер поезда, и аналитика кон/не кон....и просто рекурсивно джойнишься ..сумируешь стоимость и получаешь путь +стоимость
    Ответ написан
    Комментировать
  • Как грамотно спроектировать структуру базы данных?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    ну в лоб все выглядит несложно - для каждого поезда храните маршрут (как минимум из узловых точек), поиск поезда будет заключаться в выборке всех поездов, у которых старт ранее или равен и финиш далее или равен заказанному маршруту. Я же правильно понимаю, что поезд "туда" и "обратно" - это 2 разных поезда? и разные маршруты ( хотя и зеркальные)?
    точки маршрута между узловыми можно хранить отдельно и джойнить на ходу
    стоимость билета - как вариант это сумма стоимостей за каждый из "перегонов". хотя вроде бы шкала обычно не линейная.
    Ответ написан
    4 комментария
  • Как сделать так чтобы объект не влиял на другие html css?

    nickolyashka
    @nickolyashka
    position: absolute; position: sticky;
    Ответ написан
    Комментировать
  • Gitflow мёртв? Какие есть альтернативы?

    @Raimon
    Как правильно заметил Дмитрий Макаров "git flow он не в расширениях, а в головах". Git flow требует понимания, ответственности и дисциплины от всех участников проекта.
    Ответ написан
    Комментировать
  • Gitflow мёртв? Какие есть альтернативы?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    https://guides.github.com/introduction/flow/
    И никаких расширений не надо
    Ответ написан
    Комментировать
  • Gitflow мёртв? Какие есть альтернативы?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Я не очень давно общаюсь с git, но у меня сложилось мнение, что git flow он не в расширениях, а в головах.
    Я полагаю можно выделить в команде роль хранителя git flow традиций. Если будет совсем тяжело, можно и самостоятельно рутинные сценарии автоматизировать.
    Хотя, признаюсь, я тут не очень чтобы компетентен. Я с git`ом пока работаю сольно "без ансамбля".
    Ответ написан
    2 комментария
  • Почему использование триггера в mysql/oracle/mssql ... в web-программирование (и не только) считается признаком говнокода?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    А вот теперь для точности, пусть все отвечающие еще и уточняют над какими проектами она работают.
    Ответ написан
    Комментировать
  • Почему использование триггера в mysql/oracle/mssql ... в web-программирование (и не только) считается признаком говнокода?

    @AVKor
    Просто многие веб-разработчики осваивали БД по видяшкам. Какие уж там триггеры?

    Потому они, чтобы не выглядеть среди тех, кто БД знает, полными дураками, и придумали такую фишку, что то, что они не понимают - говнокод.
    Ответ написан
    1 комментарий
  • Почему использование триггера в mysql/oracle/mssql ... в web-программирование (и не только) считается признаком говнокода?

    opium
    @opium
    Просто люблю качественно работать
    Да нормально это на оракле бывают вообще всю бизнес логику в СУБД делают
    Ответ написан
    Комментировать
  • Одновременное использование hover и before или другое решение проблемы?

    webvany
    @webvany Автор вопроса
    Дизайнер
    Проблема решилась самым простым образом.
    Сначала нужно писать псевдокласс :hover, а затем псевдоэлемент :before, таким образом:
    div:hover:after{}
    Ответ написан
    2 комментария