Вопрос № 177299: Здравствуйте уважаемые эксперты! Имеется программа: «Ввод остатков по складу готовой продукции» ССЫЛКА
Вопрос № 177299:
Здравствуйте уважаемые эксперты! Имеется программа: «Ввод остатков по складу готовой продукции» ССЫЛКА
Записи в полях «Черт N – Наименование», «Ед. изм.» и «Цена» берутся из таблицы KACZCH.dbf, в остальные поля данные вводятся с клавиатуры, и по нажатию на кнопку «Сохранить» формируется файл OSGP.dbf куда передаются соответствующие данные из
таблицы KACZCH.dbf и соответствующие введенные данные. Все данные хранящиеся в таблице OSGP.dbf можно посмотреть, нажав кнопку «Остатки». Нажав на кнопку «Оглавление» можно посмотреть остатки готовой продукции по отдельно выбранному кладовщику, нажав кнопку «Приход» можно сформировать приход ГП на склад по имеющимся данным из таблицы ARA.dbf, а также вписав новые данные. Сформированный приход записывается в таблицу Prin.dbf. В форме «Приход», нажав на кнопку «Принято» м
ожно посмотреть кладовщика, принимавшего товар, № цеха-изготовителя, а также денежную сумму прихода ГП на склад, по каждому изделию. Задание: В главной форме «Ввод остатков по складу готовой продукции» создать кнопку «Выходные остатки», по нажатию на которую, открывается новая форма, в которой отображается сетка с полями: 1) “Наименование ЧТО”, которое берётся из таблиц OSGP.dbf, ARA.dbf и RAS.dbf, причём берутся все записи из полей NCHTO без повторений. 2) «Остаток начальный» – берется из
таблицы OSGP.dbf из поля OST, причем если соответствующего «Наименования ЧТО» нет в таблице OSGP.dbf, то присваиваем ему значение 0 в данной записи. 3) «Приход» – берется из таблицы Prin.dbf из поля NKOL, причем если соответствующего «Наименования ЧТО» нет в таблице Prin.dbf, то присваиваем ему значение 0 в данной записи. 4) «Расход» – берется из таблицы RAS.dbf из поля KOL, причем если соответствующего «Наименования ЧТО» нет в таблице RAS.dbf, то присваиваем
ему значение 0 в данной записи. 5) «Остаток выходной» – вычисляемое поле. Вычисляется таким образом: Поля «Остаток начальный» + (плюс) «Приход» – (минус) «Расход».
procedure TForm6.FormResize(Sender: TObject); begin StringGrid1.colWidths[0]:= StringGrid1.Width - 355; end;
procedure TForm6.Image1Click(Sender: TObject); var i:word; s, s1: string; begin if Edit2.Text = '' then exit; if (poloz > 1) and (poloz < StringGrid1.RowCount - 1) then begin if mrOk = MessageDlg(
39;Продолжить поиск "OK", начать новый "Cancel"', mtConfirmation, [mbOK, mbCancel], 0) then i:= poloz + 1 else i:= 1; end else i:= 1; s:= AnsiUpperCase(Edit2.Text); s1:= StringGrid1.Cells[0, i]; while (pos(s, s1) = 0) and (i < StringGrid1.RowCount - 1) do begin inc(i); s1:= StringGrid1.Cells[0, i]; end; StringGrid1.Row := i; StringGrid1.TopRow := i - 1; StringGrid1.LeftCol
:= 0; poloz:= i; if i = StringGrid1.RowCount - 1 then begin i:= 1; s:= Edit2.Text; s1:= StringGrid1.Cells[0, i]; while (pos(s, s1) <= 0) and (i < StringGrid1.RowCount - 1) do begin inc(i); s1:= StringGrid1.Cells[0, i]; end; end; if i = StringGrid1.RowCount - 1 then begin StringGrid1.TopRow := 1; poloz:= 1; ShowMessage(
9;Поиск не дал результата.'); end else begin StringGrid1.Row := i; StringGrid1.TopRow := i - 1; StringGrid1.LeftCol := 0; poloz:= i; end; end;
procedure TForm6.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Image1.OnClick(Image1); end;
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.