+7(962)919-86-60
Тирика-Магазин

Маленькое научное отступление: Генерация идентификаторов

Для того, чтобы лучше понять правила настройки синхронизации в программе Тирика-Магазин, вам необходимо понять идею идентификаторов. Каждый объект в программе Тирика-Магазин, будь то продажа, закупка или, например, товар, имеет свой идентификатор в базе данных программы. Идентификатор - это просто номер, число, присвоенное товару или, например, продаже; как правило, идентификаторы идут подряд по возрастанию (то есть первый добавленный вами в базу данных товар получит идентицикатор, равный единице, второй - двойке и т.п.), но это не обязательно - главное, чтобы идентификаторы в программе не повторялись, то есть чтобы в базе данных программы не появилось, например, двух разных товаров с одним и тем же идентификатором.

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

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

С другой стороны, если вы найдете в базе данных уже имеющийся там товар и поменяете ему название, артикул и штрихкод, превратив его (фактически) в совершенно другой товар, то программа не заметит этой подмены, т.к. она распознает товары по идентификаторам, а идентификатор у этого товара не изменяется. Пусть, например, у вас в базе данных был товар "белые валенки" в количестве 10 пар и ценой 100 рублей за пару. Пусть также вы продали одну пару валенок покупателю и сохранили эту продажу в базе данных. Предположим, вы после этого переименовали этот товар в "черные калоши". Если вы после этого найдете эту сделанную ранее продажу валенок, то с удивлением обнаружите, что теперь программа считает, что продавались не валенки, а калоши!

Все дело, конечно, в идентификаторах. Запоминая продажу в своей базе данных, программа Тирика-Магазин запоминает не то, что была продана пара белых валенок, а то, что был продан товар с идентификатором 1234 в количестве 1. Если товар с идентификатором 1234 после этого вдруг поменяет свое наименование, то оно (наименование) поменяется также и в продаже.

В общем, вся система учета в программе Тирика-магазин (и в 99.9% других программ, работающих с базами данных) построена на идентификаторах.

Продолжение статьи: Изменение идентификаторов