— Что за макулатура? – спросил Сергей, заглядывая через плечо Рустама.
— Сам ты макулатура. – обиделся Рустам. – Накладная это, на сборку.
— А нам ты ее зачем принес? – спросил Сергей.
— Да вон… — махнул рукой Рустам. – Даша опять чего-то намудрила, надо разбираться.
— Чего я намудрила, чё ты гонишь? – Даша была родом из деревни, что было видно невооруженным взглядом. Да она и не скрывала. – Мне сказали, я сделала!
— Кто тебе что сказал? – удивился Сергей. – Что тут вообще происходит?
— Да они документ меняют в системе, а потом Рустам вой поднимает. – ответил за всех Стас. – Обычно ничего страшного – позиции там местами передвинут, или одну строку на две разобьют.
— Нафига? – недоуменно спросил Сергей.
— Надо, чё ты. – с вызовом сказала Даша. – Я чего сделаю, если там минуса прут?
— Где какие минуса?
— В оборотке, где еще. Одна позиция, а лежит на разных счетах. Вот и разбиваю – немного отсюда, немного оттуда.
— Ну, это нормально. – кивнул Сергей. – А Рустам чего тогда докопался?
— Я не докопался, а задолбался! – сказал Рустам. – Мне дают в понедельник эту бумажку, с двумя сотнями позиций, я иду собирать. А во вторник захожу, а Даша говорит – возьми новую бумажку, там мы немного поменяли. Печатает – мать честная, а там уже двести пятьдесят позиций!
— Ну, она только что объяснила. – кивнул Сергей. – Разбивает позиции на несколько строк. Общее количество и позиции остаются без изменения.
— А я-то почем знаю, с изменениями или нет? – возмутился Рустам. – Наменяют чего-то, а мы потом виноваты, не то положили, не туда утащили.
— Даша, а давай запретим тебе документы менять? – прищурился Сергей. – Чтобы Рустаму спокойнее было.
— Щас! – Даша сделала руки в боки. – Я тебе запрещу! Меня главбух сожрет!
— Я сам тебя сожру! – с доброй улыбкой сказал Рустам.
— Ну-ну, обещаешь только. – с улыбкой ответила Даша.
— Так, друзья, валите отсюда, воркуйте под забором. – тоже улыбнулся Сергей.
— Ну щас, разберемся, и пойдем. – ответил Рустам.
— Все нормально. – Стас, все это время ковырявшийся в системе, повернулся к коллегам. – Я проверил. Работай дальше.
— А как ты проверил? – нахмурился Сергей.
— А у меня тут инструментик есть. – с гордостью заявил Стас. – Он старые версии документа достает, и сверяет с текущей. Я там строчки сворачиваю – ну, чтобы убрать все эти разбиения – и общие количества проверяю. На, Рустам, забирай.
— О, спасибо, Стасяндра! – заулыбался Рустам, взял бумажки и пошел к выходу. Даша направилась следом.
— И что, нормально это, по-твоему? – спросил Сергей, когда парочка закрыла за собой дверь.
— Что именно? – нахмурился Стас.
— Чтобы люди к тебе бегали за этой сверкой?
— А какие варианты есть? – немного обиженно ответил Стас. – Я сначала их самих заставлял сверять, но это адская работа, сам посуди – у нас, обычно, бумажки длинные, на несколько листов, потому что позиций много за раз перемещают, для сборки одной единицы оборудования.
— Ну да, это точно не вариант… — кивнул Сергей.
— Ну вот, и я так подумал. Потом думаю – о, есть же версии! Пусть версии сравниваются! Ну и написал этот инструментик, простенький. Только…
— Только что?
— Ну…Не всегда он помогает.
— Почему?
— Во-первых, не всегда я на месте есть. Во-вторых, версий бывает очень много, и тогда хрен поймешь, какую с какой сравнивать. Да еще и непонятно, с какой именно версии они распечатали – т.е., что считать оригиналом.
— Может, на бумажке выводить какую-то информацию об оригинале и версии? Ну, типа, распечатано второго октября в двенадцать часов.
— Я думал об этом, но не стал пока делать. Это ж какой геморрой – надо во все виды бумажек эту фигню выводить.
— Почему? – недоумевал Сергей.
— Ну как… На перемещение – одна форма бумажки, на отгрузку – другая, на передачу в производство – третья, и так далее. Некоторые бумажки еще и унифицированные, в смысле по государственному стандарту печатаются, там нельзя всякую фигню выводить, типа даты распечатки.
— А, ну да… И что?
— Что-то, не знаю я. – пожал плечами Стас. – Вот так и мучаемся.
— Не, так не годится… — задумчиво сказал Сергей. – Надо что-то придумать…
— Да пробовали мы, разные варианты. – чуть повысил тон Стас. – Еще до тебя пробовали. Терминалы сбора данных, например.
— Во, кстати, отличная ведь идея! – подхватил Сергей. – Никаких бумажек, и связь с системой прямая. Сделал бухгалтер документ – он сразу у кладовщика появился!
— Не, неудобно и дорого. – покачал головой Стас.
— Почему? Давай объясняй.
— Во-первых, дорого. – начал Стас. – Сам посуди. Обычный ТСД, с маленьким экранчиком – не годится, хотя он и не дорогой.
— Почему не годится?
— Ну ты попробуй сам с таким экранчиком пособирать две сотни позиций. – улыбнулся Стас. – ТСД для другого нужен – для розницы, там. Здесь он реально только мешать и бесить будет. Другое дело – планшет.
— Ну вот, заработала мысль! – снова подхватил Сергей.
— Заработала и отработала. – улыбнулся Стас. – Это реально дорого, потому что планшет нужен защищенный. Мы брали один, на пробу – бешеных денег стоит.
— Нафига защищенный? – нахмурился Сергей. – У нас же обычные условия, не жарко, не мокро.
— Ну как… Мокро. Видел, в каком состоянии бумажки?
— Грязные.
— Да. Потому что у нас, повторюсь, не розница. Детали без упаковки, зато – в смазке. Руки постоянно грязные.
— Перчатки может выдать?
— В перчатках планшетом пользоваться не получится, ты чего? – улыбнулся Стас. – Да и все равно промокают они, от масла, или чем там детали смазывают… Не годится, короче. Да и неудобно.
— Чего неудобно?
— С планшетом неудобно. На бумажке же как: взял позицию, положил в ящик – ручкой галочку поставил. Взял меньше – поставил количество, ручкой опять же. Бумажек можно с собой несколько таскать. Одну – в один карман, другую – в другой. Не надо ничего искать там в компьютере, листать, материться. Собираешь один заказ, принесли другой, более срочный – убрал бумажку в карман, и спокойно пошел дальше. Опять же, бумажку удобно в ящик с деталями положить.
— Это зачем?
— Ну как… Один кладовщик собирал, смена закончилась, выходит вторая. Подходит кладовщик к ящику, берет бумажку, и доделывает – собирает то, что осталось. Бумажку – хоть в зубы бери, хоть…
— Я понял. – нахмурился Сергей.
— Ну вот…
— А ты откуда так все детально знаешь, про бумажки? – вдруг осенило Сергея.
— Так я с ними сколько провозился тогда. – сказал Стас. – Прям сам пробовал эти ящики собирать. Вот и понимаю теперь, что у них там и как.
— Ладно, ну делать-то что-то надо? Допустим, оставляем бумажки. Как сверить бумажку и систему?
— Распознавать, наверное, надо…
— Не, это вообще дебилизм. – покачал головой Сергей. – Во-первых, бумажек несколько, на одну накладную. Во-вторых, формат разный – ты сам говорил. Тут на полгода работы хватит, чтобы их распознать, да еще потом и сопоставлять.
— Ну да… — задумчиво сказал Стас.
— Какие еще варианты есть?
— Может, нам унифицировать бумажки? – вдруг сказал Стас. – Ну, для внутреннего пользования.
— В смысле? Как? Разве можно заменить типовую форму, принятую в каком-нибудь законе?
— Нет, ты не понял. Смотри сам. Вот у него сейчас какая накладная была? – спросил Сергей.
— На перемещение вроде…
— Типовая форма?
— Ну да, какая-то типовая.
— И что с ней потом будет? Когда перемещение свершится?
— В бухгалтерию сдаст, на хранение, наверное.
— В таком виде? Грязную, помятую?
— Нет, наверное… А как тогда?
— Я думаю, они ее перепечатают, и он ее подпишет. Там же есть подпись?
— Да, отправитель и получатель.
— Ну вот, оба и подпишут. – кивнул Сергей. – А раз ее перепечатают, то нафига в первый раз была типовая форма? Тем более, что она содержит ненужную информацию, а нужной – не содержит.
— Кстати, да… — как будто что-то вспомнил Стас. – Они жаловались тогда, еще конфликт был, когда пометки свои ручкой ставили на накладной для отгрузки. Бухгалтерия возмущалась, потом менеджеры – ну, что клиентам такое свинство отправляют. Тогда вроде и решили перепечатывать сызнова. Ну и там места не было для этих пометок, на полях только.
— Ну! Я и говорю! – Сергей начал воодушевляться. – Давай сделаем универсальную бумажку! Они ведь чем отличаются? Складские операции в смысле. Надо что-то взять и куда-от отнести, правильно?
— Ну, так… — кивнул Стас.
— Или со склада на склад, или – со склада в цех, или – со склада в автомобиль, или – наоборот, когда приход.
— А комплектация?
— А что комплектация? – удивился Сергей. – А, да… Там же из четырех деталек собирают одну?
— Да.
— Ну ладно, будет одна бумажка немного от других отличаться. Везде будет одна таблица товаров, а для комплектации – другая. А главное – мы там ничего лишнего выводить не будем, и место для пометок им оставим!
— Кстати, может, тогда и номер версии вывести? – вспомнил Стас. – Ну, чтобы сверять-то…
— Точно! Молодец, Стас! – заулыбался Сергей.
— Стараюсь! – гордо ответил Стас.
— Единственное… — по лицу Сергея мелькнула тень.
— Ну что опять… — скис Стас.
— Версии я не люблю, им нельзя доверять…
— Почему? – уныло спросил Стас.
— Мы их чистим периодически.
— А, да… — сокрушенно покивал головой Стас. – Они ж места много занимают…
— Да и тяжеловатый способ какой-то получается. – Сергей задумчиво вертел в руках смартфон. – Версии-то сравнивать. Надо что-то попроще выбрать…
— Какой-то бы другой признак, идентификатор найти…
— Типа штрихкода? – с надеждой спросил Стас.
— Ну да, типа штрихкода… Ну, чтобы…Как объяснить-то…
— Да я понял.
— Что ты понял?
— Чтобы этот штрихкод, или какой-то другой идентификатор, однозначно определял эту бумажку.
— Не, ты не понял. – покачал головой Сергей. – Однозначно определить бумажку может ее номер, тут и штрихкод не нужен. Вот ты когда вручную сверял, какую информацию использовал? То есть, что именно проверял?
— Так… Дату документа проверял – ну, чтобы день тот же самый был, а внутри дня пусть двигают, как хотят…
— Так, еще что? – заинтересовался Сергей.
— Еще отправителя и получателя…
— Да, это понятно, дальше что?
— Номенклатуру и количество, после свертки таблицы. Ну, чтобы дублирующихся строк не было.
— Ну вот. Считаем. – Сергей стал загибать пальцы. – Дата, отправитель, получатель, таблица с номенклатурой и количеством. Это – суть документа, его ключевые поля. Остальное, с точки зрения складского учета – чушь.
— Это ты про что?
— Там полно полей еще, особенно в отгрузке. Договоры всякие, счета учета, комментарии, заказы и т.д. – вся аналитика, нужная для управленческого, бухгалтерского учета, CRM и т.д. С точки зрения склада все это – чушь.
— А, понял, понял. – немного пристыженно закивал Стас.
— Так вот, как-то бы вот все эти поля, нужные нам идентифицировать, понимаешь? Ну, чтобы по какому-то признаку, что ли, раз! – и проверить состав документа. Вот этот, наш, складской состав. Понимаешь?
— Да, понимаю. Только не понимаю, как это сделать. – покачал головой Стас. – С версией я понимаю. Я там, в принципе, то же самое и делаю. А как такую информацию на бумажке хранить? Ты же этого хочешь? Хранить на бумажке, сверять с программой?
— Да. Может, все-таки штрихкод?
— Штрихкод документа?
— Ну да… Хотя… Нет. – замотал головой Сергей. – Не подойдет штрихкод. Он же сам по себе живет, и никакой полезной информации в себе не содержит.
— Почему? Как? – удивился Стас.
— Ну ты просто присваиваешь документам штрихкоды, по порядку, и все. Один документ – один штрихкод. Меняешь документ – штрихкод не меняется. Это, как длинный номер, или второй номер, не знаю… Просто пригодный для сканирования. Пикаешь, программа ищет его, и определяет, какой документ отсканировали. Все.
— Ну ты мне рассказывай… — махнул рукой Стас. – Я с розницей несколько раз работал, будет он мне про штрихкоды рассказывать…
— Ну давай, просвети меня, умник. – ухмыльнулся Сергей.
— Ща, докурим и сдадим. – с улыбкой произнес Стас фразу из старого анекдота про студентов. – Слышал про плушки?
— Плушки? Я очень любить русский язык и много говорить на он?
— Ой деревня… Ты фрукты в супермаркете покупаешь?
— Ну да, конечно.
— Тебя никогда не удивляло, что на кассе твои бананы нормально пробиваются, с определением веса, цены и т.д.? Заметь, по штрихкоду.
— Да, а что тут… Погоди… — задумался Сергей. – Они что, хранят эти штрихкоды? После каждого взвешивания запоминают результат в базе? И потом по штрихкоду ищут мой результат взвешивания?
— Ну, я говорю, деревня. Шибко умная. – засмеялся Стас. – Там все намного проще. Вся информация, необходимая для продажи, содержится в самом штрихкоде.
— То есть как? – удивился Сергей.
— То есть так. Деталей я не помню, примерно расскажу. Там плушка, то есть PLU – это то ли три, то ли четыре цифры, они однозначно идентифицируют товар.
— Да, что-то припоминаю такое… — пробормотал Сергей. Потом вдруг стал картинно кричать. – Галя! Какой плу на яблоко роял гала?
— Ну да, оно и есть. – кивнул Стас. – Это где весов в зале нет, там кассир должен плушку знать, потому что сам взвешивает. Но там и штрихкод, как таковой, не возникает.
— Про плушку понял, дальше что? – заинтересованно спросил Сергей.
— Дальше вес и цена, вроде, но это уже не суть. – махнул рукой Стас. – Я ж тебе к тому рассказал, что в штрихкод можно засовывать любую информацию, особенно в сто двадцать восьмой.
— Какой?
— Ну они же разные есть, штрихкоды-то. Блин, какой ты тупой, а? – улыбнулся Стас.
— Давай рассказывай. – не стал отвлекаться Сергей.
— Короче, есть разные виды, или типы, не знаю как называется эта классификация. Наиболее распространенный – EAN13, ты его видишь чаще всего. Но, если тебе надо много информации в штрихкод запихать, то лучше подходит Code128 – там даже буквы писать можно, и они кодируются, и раскодируются, и читаются любым сканером современным.
— Буквы? – округлил глаза Сергей. – Серьезно?
— Ну.
— Блин, это ж кайф! – улыбался Сергей. – Тогда все на свои места встает! Мы можем весь состав документа – ну, те поля, что я перечислил – загнать в одну длинную строку, как в стек, и закодировать в штрихкод! А потом – быстро сверять!
— Ну, не знаю…Представь, двести позиций, по каждой надо, хотя бы, код номенклатуры, количество… Очень длинная строка получится. Такую и сканер может не взять, обычный. Широкий какой-то нужен, я не знаю…
— И что, как быть-то? – скис Сергей. – Давай, умник, гений штрихкодирования, подсказывай.
— Ее бы как-то заархивировать, что ли, не знаю…
— Погоди… — в голову Сергея пришла какая-то мысль. – Точно, хорошо что ты про архиватор заговорил! Контрольную сумму надо вычислять!
— Чего?
— Да не тупи, Стас. – улыбнулся Сергей. – Ну, контрольная сумма, по длинной строке. Она там по разным алгоритмам вычисляется, это не важно. Важно, что она – короткая, понимаешь?
— Нет.
— Ну строка – длинная, хоть километр, а контрольная сумма – короткая, всегда короткая. И она всегда однозначно идентифицирует эту строку! Точнее, не саму строку, а нам это и не надо. Она скажет главное – изменился документ или нет!
— Начинаю понимать… — задумчиво сказал Стас. – Ты будешь вычислять контрольную сумму документа, сохранять ее, а при печати – выводить в виде штрихкода прямо на бумажку?
— Да!
— А дальше?
— А дальше они к тебе придут со своими бумажками грязномазыми, а ты сканером пик! – и говоришь – все, валите, ничего не изменилось. Система сама сходит, поищет эту контрольную сумму, и если нашла – значит, все хорошо. А если не нашла – значит, документ поменялся. Тогда подойдет твой тяжелый алгоритм, с версиями.
— О, точно! – поддержал Стас. – Тогда мы просто к информации о версии добавим контрольную сумму! Блин, кайф! Тогда, даже если документ поменялся, я однозначно определю версию, из которой была печать!
— Ну. Тогда и бегать к тебе им не надо, в общем-то… Дашь ей сканер, дешманский какой-нибудь, и пусть себе пикает. Или даже Рустаму дашь сканер, жалко что ли.
— Клево, слушай… — мечтательно сказал Стас. – Прям решение классное, мне нравится. Главное – не будет реагировать на изменения, не связанные со складом. Это, типа, такое умное версионирование, с быстрым откликом и определением ключевых отличий.
— Ага, но самое интересное в другом. – кивнул Сергей. – В том, что мы с тобой придумали, как быстро сверить бумажку с программой.
— А что? Это важно?
— Безмерно. В нашем проекте по складу.
Комментарии (53)
Hardcoin
27.09.2018 17:39Блин, какой ты тупой, а? – улыбнулся Стас
Слишком одннобразно. Всё "положительные" герои считают обвинения в тупизне чем-то весёлым. Не "сказал с издёвкой", не "закричал", а именно "улыбнулся". Ещё и похвалу за это регулярно получают, а это, конечно, полностью оторвано от жизни.
Видимо у всех положительных героев было крайне агрессивное детство. Сочувствую, конечно, но скучновато.
Jeka178RUS
27.09.2018 19:03+1Ну не знаю, в нашем коллективе среди программистов это норма. Фразы типа «не тупи», «а какой идиот это сделал» в порядке вещей и еще никто никогда не думал обижаться или обидеть кого-то. Это определенный доверительный стиль общения людей находящихся на одном уровне.
BlessYourHeart
27.09.2018 18:16Какой бред. Придумали отдельную бумажку, почему то перенесли все проблемы использования оригинальной формы на эту бумажку и потом героически их решали. Какие такие дублирующиеся строки, если это не официальная форма? Какие такие версии если это отдельная и не официальная бумажка? Зачем их сравнивать?
Hardcoin
27.09.2018 19:07Сравнивать их, что бы понять — нужно ли разобрать заказ (200 позиций) и собрать ещё раз, по новой бумажке (количество-то могло измениться, а насколько — не ясно!). Если количество изменилось — то нужно. В идеале нужно знать, какие позиции поменяли количество, тогда можно весь заказ не пересобирать, а только перепроверить изменения.
BlessYourHeart
27.09.2018 19:18Сравнить две цифры в их новой бумажке они не в состоянии?
Если они сами делают эту форму, то могут и показать изменённые позиции.
Если у них это постоянный кейс со сменой количества, то проблема на уровне склада не решается.Hardcoin
27.09.2018 21:46Каким образом сравнение двух цифр поможет? Вы учитывайте, что позиций 200. И как минимум 50 из них поменялось. В состоянии ли они сравнить 50 строк с одной стороны и 100 с другой (потому что из одной стало две или больше)? Да, разумеется в состоянии. Просто это долго, а вся остальная работа будет стоять. Вот герои рассказа и придумывали, как упростить процесс.
Если они сами делают эту форму, то могут и показать изменённые позиции
Могут. Там началось с того, что форма типизированная и менять нельзя. Т.е. нельзя показать (только на экране). А потом у них мысль ушла в сторону штрихкода и они забыли обдумать вариант с печатью изменений прямо в документе. Лично я бы тоже не штрихкодом решал, это скорее костыль, чем решение, но сама их логика в целом понятна.
Mike_soft
28.09.2018 08:03а какое, в общем, дело кладовщику до «партий списания», если он один хрен в данном случае работает «по количеству»? ему нужна одна сводная накладная. придумывать тоже ничего не надо — в нормальных учетных системах это давно сделано.
Hardcoin
28.09.2018 08:31Никакого. Ему принесли, он собрал. А потом принесли ещё раз, сказали, новая версия. Ему дела никакого, но собрано должно быть по новой версии.
Mike_soft
28.09.2018 08:37а никакой «новой версии» с точки зрения кладовшика не существует. раньше «деталей X» было 20 в трех строках, сейчас их 20 в 20 строках. Но их осталось 20. Если же он ведет учет деталей по партиям, по серийным номерам и т.п.- то ему надо не «версионировать», а разбирать собраный заказ, и собирать заново «с нуля». ну и по-хорошему, оплачивать «первичную сборку, разукомплектацию заказа, размещение по местам хранения» кладовщику должна бухгалтерия.
Hardcoin
28.09.2018 09:04+2Но их осталось 20
Вы уверены? Откуда? А кладовщик был не уверен, с этим вопросом и пришел — изменилось количество или нет. Ему сказали — нет, количество не изменилось. Это же написано в рассказе, почему бы вам просто не перечитать?
Busla
28.09.2018 12:54Так рассматривается как раз идеальная ситуация, когда Даша только перераспределила остатки между партиями сохранив количество. Вот в этом случае сборочная накладная не меняется, и сравнивать нечего.
Mike_soft
28.09.2018 13:21более того, сборка вообще может происходить не по накладной, а по заказу/складскому ордеру (лично мое мнение — она и должна по ним происходить), а сама накладная должна формироваться только по результатам сборки-комплектовки.
barbeer
28.09.2018 08:08У них есть какая-то версия. Она распечатана на бумаге.
Потом её меняют, возможно не один раз, и печатают снова. От чего изменения считать и показывать?Hardcoin
28.09.2018 08:31+1Между прошлой бумагой и текущей.
Mike_soft
28.09.2018 08:43а какая бумага «прошлая»? ту, которую напечатали самой первой, и успешно потеряли? вторая, по которой собирал кладовщик-комплектовшик? третья, которую зажевал принтер? четвертая, которую решили сразу же исправить потому, что в ней отображалась некорректная цена списания, возникшая из-за того, что девочка Маша перепутала при оприходовании количество и цену? пятая, которую использовали в туалете из-за того, что в диспенсеры не поклали полотенец, руки вытирали туалетной бумагой, ну а для других целей использовали накладные?
Hardcoin
28.09.2018 09:01+1а какая бумага «прошлая»?
вторая, по которой собирал кладовщик-комплектовшикВероятно именно её он и принес. Какую конкретно бумагу принес кладовщик, в рассказе не сказано, но вероятно ту, по которой сам собирал. Откуда у него использованная для туалета, к чему вообще такие предположения?
Mike_soft
28.09.2018 09:22ну а как «герои» знали, с какой бумагой нужно сравнивать «крайнюю» («новую бумажку», в которой «мы немного поменяли» — и, возможно, не последний раз) версию?
И то, что он принес какую-то бумагу, по которой собирал — совсем не значит, что она вообще адекватна электронному документу (это уже чисто из практики — вороватый кладовщик давал «бумажные» задания на сборку, вообще не зарегистрированные в системе.)
Zeitung
27.09.2018 21:17Там проблема несколько в другом. У нас в CRM есть WorkOrder с множеством Segments/PartInvoice. Каждый из Segment/PartInvoice включает список необходимых Parts для выполнения работы. Т.е. первое — дупликаты Parts возможны между Segments. Вторая проблема в том что некоторые Parts могут продаваться по разной цене (warranty vs sell), поэтому в PartInvoice они идут отдельными записями (снова дупликаты). Дальше лажа может быть ещё веселее, типа Segment выполняется несколько дней и цена на Part изменилась (снова новая запись), либо когда делают Transfer между складами (тут может быть как разница в налогообложении [разные LocationTax] так и разница цены между складами [акция]).
Документ который отправляется заказчику и в Кредитное Агенство содержит разбиение по Segment и по позициям\ценам. Кладовщику эта информация не нужна, но судя по всему, кладовщика из истории заставляют работать именно с таким документом. То что предлагают сделать в истории — сводную форму специально для кладовщика, которую будут по ИД мапить с формой для бухгалтера.BlessYourHeart
27.09.2018 21:43То что предлагают сделать в истории — сводную форму специально для кладовщика, которую будут по ИД мапить с формой для бухгалтера.
Отличное решение — рабочая инструкция/форма для конкретного исполнителя.
В принципе этот вопрос решен на 80 строке 165-строчного текста:
— Может, нам унифицировать бумажки? – вдруг сказал Стас. – Ну, для внутреннего пользования.
остальные метания — частный случай решения задачи.Nubus
28.09.2018 07:26Унифицирование бумажек не всегда возможно даже между отделами. Допустим запчасть сломалась, значит нужно брать другую, значит меняетсья остаток на складе и общая сумма расходников на один девайс. Все-равно кому-то придеться вручную пересчитывать и перебивать это все.
exehoo
28.09.2018 07:04Code128 – там даже буквы писать можно, и они кодируются, и раскодируются, и читаются любым сканером современным.
Наивный чукотский юноша не пробовал работать с этим Code128 вживую.
Mike_soft
28.09.2018 08:10Вообще, ребята, конечно, фееричные.
про то, что у каждого объекта в системе существует свой идентификатор — они не слышали.
о версионировании — не слышали.
о сводных документах — не слышали.
о видах складского учета — не слышали.
вроде на 1994 год не похожет (они уже про планшеты знают, про ТСД). Просто осьминоги, чтоль?Hardcoin
28.09.2018 08:34+1о версионировании — не слышали.
Как же они обсуждали версионирование, раз, по вашим словам, не слышали? Или вы пропустили это в рассказе?
Darth_Malok
28.09.2018 08:24Зачем контрольную сумму (или хэш) хранить именно в штрихкоде? В штрихкоде можно хранить номер записи таблицы (идентификатор), а уже в самой таблице и версию документа, и хэш и кучу всего другого.
Mike_soft
28.09.2018 08:31видимо, они хотят идентифицировать не только документ, но и версию документа, которую распечатали на бумаге. В ШК вполне можно запихать номер версии, только это особого смысла в моих реалиях не имело (документ-номер страницы-дата-время-пользователь печатались в нижнем колонтитуле документов).
Hardcoin
28.09.2018 08:35+1Они это обсуждали, решили, что не подходит.
Darth_Malok
28.09.2018 09:56Так обсуждали штрихкод, привязанный к документу, а не к какой-то специальной таблице с дополнительными данными. Я к тому, зачем в учётной системе нужен штрихкод, хранящий все данные непосредственно в себе? В магазинах да — это актуально, чтобы каждые весы не писали данные в базу. Но в учётной системе мы всё равно работаем с БД, изменяя документ. И при проверке нужно будет прочитать из БД данные документа. Так зачем использовать штрихкод как хранилище информации вместо того, чтобы хранить в нём только идентификатор хранилища информации?
Mike_soft
28.09.2018 10:19все данные хранить не нужно. а вот идентифицировать версию, и подтвердить неизменность товарного состава документа — очень желательно.
В рознице ШК тоже хранит в себе далеко не все данные. а лишь СКУшку/ПЛЮшку, и вес.
Lord_Prizrak
28.09.2018 11:19А у меня просьба. Под заголовком где-нить в начале текста указывайте, что это глава такая-то. А то не понятно, то-ли новая глава, то-ли рассказик…
lamer84
28.09.2018 11:29— Ну да… — задумчиво сказал Стас. //Стас
— Какие еще варианты есть? //Сергей
— Может, нам унифицировать бумажки? – вдруг сказал Стас. – Ну, для внутреннего пользования. //Стас
— В смысле? Как? Разве можно заменить типовую форму, принятую в каком-нибудь законе? //???
— Нет, ты не понял. Смотри сам. Вот у него сейчас какая накладная была? – спросил Сергей. //Сергей
Вот тут нестыковка, по-моему. Про замену формы в законе кто спросил? И кто ему ответил?
nmivan Автор
28.09.2018 12:22+1Всем спасибо за комментарии про code128, версионирование и т.д.
Есть просьба из двух пунктов:
1. не ассоциируйте происходящее в книге с ее автором, т.е. со мной;
2. не думайте, что я считаю, будто герои всегда правы, и все делают правильно.
Они вполне могут ошибаться. Это ж не сказка, в которой все идет, как по маслу.
RainbowJose
28.09.2018 12:29-1Ты можешь заткнуться? Твои истории достали уже.
nmivan Автор
28.09.2018 12:34подниму-ка я вам карму.
RainbowJose
28.09.2018 12:49Каждому товару — свой купец, конечно, но ты правда говно какое-то пишешь, да ещё и почти каждый день. Высосаные из пальца, примитивные сюжеты, картонные, детские персонажи, бедная речь. Какой-то театр гебефреников. Развязки, завязки, кульминации, интересные конфликты — что это? Это какая-то недоайтишная микро-Донцова, а все тексты можно выпустить в сборнике «Истории у офисного кулера», в очень, очень мягком переплете.
nmivan Автор
28.09.2018 12:57эх, жаль, еще раз не могу вам карму поднять.
RainbowJose
28.09.2018 13:11Право и лево тоже путаешь?
nmivan Автор
28.09.2018 13:12вы, главное, не переживайте. Я купил книжку о том, как писать книжки.
Обязательно научусь и вам понравлюсь.
alfaterra
28.09.2018 12:33От дырки в заборе перешли к приделыванию костылей к костылям. Надеюсь дальше автор объяснит зачем так резко повернул сюжет.
Busla
28.09.2018 13:03— Во-первых, дорого. – начал Стас. – Сам посуди. Обычный ТСД, с маленьким экранчиком – не годится, хотя он и не дорогой.
— Почему не годится?
— Ну ты попробуй сам с таким экранчиком пособирать две сотни позиций.
На экран выводится номер места и кол-во сколько брать. Чего там на экранчике не уместится? Да и большой экран — совершенно не проблема. Мы ещё в начале двухтысячных коннектили сканер штрихкодов к КПК с PocketPC. Самое сложное было — изобрести крепление на предплечье :-)
stanislavkulikov
28.09.2018 14:45Ну что за дичь? В очередной раз одни, непонятно откуда взявшиеся костыли решаются другими, еще более дикими костылями. Вся проблема в том, что если взять любой профессиональный софт, то там всё это уже давно вылечено и оптимизировано. Так что получается, что герои постоянно работают с какими-то самодельными решениями и поэтому им приходится изобретать велосипеды на костыльной тяге.
gennayo
28.09.2018 22:36Это не дичь, это преломленные пониманием воспоминания автора о трудовых буднях…
AlexNomad
Будьте осторожны — штрих-код code 128 крайне ненадежный и очень размерный.
Для контроля правильности считывания code 128 простой CRC не достаточно.
П.С. Из личного опыта.
Nomad1
Более того, CRC для порядковых номеров будет откровенно неудачным решением, ведь это получается очень короткая последовательность байт, где старшие 2-3 байта нулевые или такие же, как у прошлого идентификатора. Какой-нибудь простой Fletcher-16 вообще может начать давать коллизии на ровном месте. Тут надо не лениться использовать хеш-функцию, при чем лучше даже от строкового представления.
catsmile
Ну вот, пришли два номада от штрихкодирования и обломали всю малину. Бедный автор.
Impuls
Мы qr используем. Правда придется докупать 2D сканеры. Но там можно половину штрихкода отгрызть и он прочитается
thatsme
Murmur2 на 64 бита (std::hash)…
Mike_soft
вообще, у объектов в системе есть свой внутренний идентификатор. (в БЭСТе — 11-значный числовой ID, в 1с — 9-символьный IDDOC/ID в 7.7 или почти стандартный UID в 8.*, в Навижене тоже есть, навскидку не помню название). ИД вполне нормально ложится на штрихкод. видел и сделанные на основе EAN'а, и делал на code39 — более 10 лет проработало без всяких проблем, без всяких хэшей.
Nikobraz
В QR те же до 30% избыточной информации закладывают