Текст программы представлен в приложении.
Результат работы программы представлен на рис. 2.
Рис. 2. Выходная форма анализа текущих остатков.
Контрольный пример.
Проверка группы ТМЦ № 00002, Номенклатурный номер ТМЦ = 0000000000001, Наименование ТМЦ: «Песцовая шуба».
По данным работы пользовательской программы текущий остаток составляет 2469 штук.
Проверка по данным складского учета в ПБС.
В торговой секции №1 (рис. 3), находится 529 штук единиц ТМЦ.
В торговой секции №2 (рис. 4), находится 970 штук единиц ТМЦ.
На складе готовой продукции (рис. 5) находится 858 штук единиц ТМЦ.
На центральном складе (рис. 6) находится 112 штук едениц ТМЦ.
В общем, количество ТМЦ на складах составило (рис. 7) 529 + 970 + 858 + 112 = 2469 штук.
По данным работы пользовательской программы срок реализации текущего остатка составит 4279,7712 дней.
Проверка по данным справочника партий ТМЦ.
За период с 08.01.98 по 01.03.98 было реализовано 30 штук единиц ТМЦ (рис. 8).
Срок наблюдения равен разницы даты последней реализации и даты первой реализации. И составил за период с 08.01.98 по 01.03.98, 52 дня.
Таким образом, скорость реализации составила 30/52=0,5769.
В итоге срок реализации равен 2469/0,5769 = 4279, 4279,7712 дней.
Данный, полученные при работе пользовательской программы полностью совпадают с проверочными.
Рис. 3. Картотека складского учета Торговой секции 1.
Рис. 4. Картотека складского учета Торговой секции 2.
Рис. 5. Картотека складского учета Склада готовой продукции.
Рис. 6. Картотека складского учета Центрального склада.
Рис. 7. Номенклатурный справочник.
Рис. 8. Движение ТМЦ (расход).
Подключение пользовательской программы для запуска из среды ПБС BEST4.
1) Заполнение справочника пользовательских программ: Настройка / Настройка предприятия / Настройка / Справочник пользовательских программ
2) Добавление новой записи (программы).
Для справочника заполняется:
- пункт меню для комментария;
- командная строка запуска пользовательской программы.
Операционная технология работы с пользовательской программой.
Начальное состояние системы: Загружена ПБС BEST4 «главное меню». Пользовательская программа подключена к ПБС.
Информационные элементы: документ 1с указанием подсистемы вызова пользовательской программы.
Перечень действий работы с программой представлен в таблице 6.
Таблица 6.
Состояние системы |
Пояснения по состоянию системы |
Ответные действия |
Примечания |
Загружено главное меню системы |
Система ожидает выбора пункта меню |
Выбрать пункт меню из документа 1 |
Переход по пунктам меню осуществляется клавишами курсора (вверх, вниз) |
Загружена подсистема |
Система ожидает управляющих воздействий |
Выбрать пункт меню «Программы пользователя» |
Переход по пунктам меню осуществляется клавишами курсора (вверх, вниз) . выбор ENTER. Появится дополнительное меню «Программы пользователей» |
Загружено дополнительное меню |
Система ожидает выбора пользовательской программы (пункта меню) |
Выбрать пункт «Анализ текущих остатков» |
Переход по пунктам меню осуществляется клавишами курсора (вверх, вниз) . выбор ENTER. Появится выходная форма с результатами анализа текущих остатков ТМЦ. |
Приложение
parameters d,dn,sm,sk,sam
set exclusive off
set date german
set talk off
set path to c:\Best4\Dbase\Sclad;c:\Best\Dbase\Sclad
set border to double 2
set color of scheme 1 to BG/GR,,RB/G,RB/G,GR/W,W/R,N/GR
set console off
define window w_main from 1,1 to 23,78;
title 'Анализ текущих остатков' shadow;
footer 'Пользовательская программа'
activate window w_main
use mdocm
copy to srok fields grup,nnum,date,kol,kolout;
for vid='2'and kol>0
use
select 1
use srok
copy to docm_c
index on grup+nnum to srok.idx unique
select 2
use docm_c
index on date to dat.idx
select srok
go top
do while .T.
if eof()
exit
endif
scatter memvar
select docm_c
set filter to grup=m.grup and nnum=m.nnum
go top
d=date
go bottom
dn=date-d
go top
calculate sum(kol) to sm
if dn>0
sk = sm/dn
else
sk=0
endif
m.kolout=sk
set filter to
select srok
gather memvar
brow
skip 1
enddo
select 1
use
select 2
use
Select A
use mlabel
index on grup+nnum to label.idx unique
Select B
use mkart
index on grup+nnum to kart.idx for koltek>0 unique
copy to kart fields grup,nnum,koltek
use
delete file kart.idx
use mkart
select C
use kart
index on grup+nnum to kart.idx
do while .T.
if EOF()
exit
endif
scatter memvar
select B
set filter to grup=m.grup and nnum=m.nnum
go top
calculate sum(koltek) to sam for partia=' '
m.koltek=sam
set filter to
select C
gather memvar
skip 1
enddo
select A
use
Select B
use
Select C
use
select A
use mlabel index label
select B
use kart index kart
select C
use srok index srok
select A
set relation to grup+nnum into kart
set relation to grup+nnum into srok additive
browse fields grup:R:H='Группа', nnum:R:H='H/номер';
,name:R:H='Hаименование ТМЦ':16, ed:R:H='Ед.изм.':6;
,kart.koltek:R:H='Тек-ий остаток':14;
,sr=IIF(srok.kolout>0, kart.koltek/srok.kolout,0):R:H='Срок реализации':14 NOAPPEND in window w_main
select A
use
select B
use
select C
use
delete file srok.dbf
delete file docm_c.dbf
delete file srok.idx
delete file dat.idx
delete file label.idx
delete file kart.idx
delete file kart.dbf
clear window
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.