0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 3
1

Контроль остатков в БД

20.06.2013, 19:55. Показов 366. Ответов 0
Метки нет (Все метки)

Доброго времени суток! У меня есть БД со следующей структурой:
Контроль остатков в БД

Мне нужно добавить кол-во "минимума" для каждого из материалов. Сейчас в коде указан минимум это 0.
Вопрос состоит в том. Какое поле добавить в БД и как присвоить в место "0" значение этого поля?
Код для этого ниже:
Самая главная и объемная процедура, которая позволяет программе проверять, если ли
у нас по всей базе товары которые закончились, если есть, то мы проверяем есть ли они в списке
совсем списанных, и если нет, то показываем наше окно с тремя кнопками.
Это нужно делать именно через таймер, а не через обычне команды при запуске формы, так как
сразу мгновенно при запуске программы запросы к БД сделать не выйдет, необходимо чтобы установилось
подключение к БД, поэтому нужно определенная задержка для этого. Таймеры позволяют выполнять
указанный в них код через какое то время и если необходимо то циклически. Цикл нам тут не нужен,
поэтому здесь мы таймер отключаем разу при его запуске, а время задержки тут 1 с.}
Строку минимума я выделил комментарием.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TMainForm.Timer1Timer(Sender: TObject);
var
  price:integer;
  i,k:integer;
  count:integer;
  f:textFile;
begin
    if check_by_interval=false then timer1.Enabled:=false; ////отключаем повтор таймера
    dstGoodsList.DataSet.Locate('id','0 ',[]); /////в базе данных устанавливааем указатель на товар c id 0 (неважно что он не существует)
    i:=1;
    while i<=dstGoodsList.DataSet.RecordCoun t do ///перебираем все записи в таблице goods
    begin
        if dstGoodsList.DataSet.FieldByName('c ount').AsString<>'' then
{*** ->}      count:=dstGoodsList.DataSet.FieldBy Name('count').AsInteger else count:=0;
        if count=0 then
        begin ////если товара недостаточно, то заносим его id в массив недостачи товаров
            SetLength(nedostacha,Length(nedosta cha)+1);
            nedostacha[length(nedostacha)-1]:=dstGoodsList.DataSet.FieldByName( 'id').AsString;
        end;
        dstGoodsList.DataSet.Next; ////переходим к следующей записи таблицы
        i:=i+1;
    end;
Заранее большущее спасибо за помощь=)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2013, 19:55
Ответы с готовыми решениями:

Контроль остатков.
Всем привет. Тут столкнулся с популярной проблемой. Но чёткого решения не нашёл. В УТ при...

Контроль остатков
Добрый вечер. Есть таблица Ремонты, в ней, помимо прочих, есть поле Запчасть. Это поле ссылается...

Контроль остатков
При проведении в первый раз документа в котором превышено количество товаров на складе все...

Контроль остатков
Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2013, 19:55

Контроль остатков
Добрый вечер! Не могу реализовать контроль остатков при проведении документа Продажи. Кода вообще...

Контроль остатков
Всем доброго времени суток! Проблема с контролем остатков, прошу помощи. Все стандартно, имеется...

Контроль остатков в УТ 11
Остатки уходят в минус, причем для меня непонятно почему, искал в гугле &quot;Корректировка реализации...

Контроль остатков
Добрый день! Начал изучение 1с с книги М.Г. Радченко, дошел до регистров накопления... Есть 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.