
- •1.Вычисления в экономических информационных системах
- •2.Программы экономических информационных систем
- •3..Методика решения комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
- •4. Технология решения комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
- •Порядок выполнения работы
- •Программирование комплекса задач «Учет кассовых операций по приходу/расходу денежных средств, формирование Журнала- ордера № 1»
- •Порядок выполнения работы
- •Тексты программ Текст программы расчета оптимальной закупки
- •Текст программы рассылки заказов по торговым отделам
- •Лабораторная работа n 3 тема работы: «прикладной файловый сервер в системе расчетов с потребителями» Методика решения задачи учета реализации товарной продукции
- •Описание программ заполнения базы по файлам накладных
- •Тексты программ заполнение базы по файлам накладных
- •Лабораторная работа n 4 тема работы: «разработка системы учета кадров в конфигураторе 1с:предприятие»
Тексты программ Текст программы расчета оптимальной закупки
Пояснения и обозначения
Для определенности считаем, что расчетная таблица имеет имя «Расчет», значение рентабельности торговой операции записано в ячейке E3, значение «Наименьшее значение» записано в графе 6, значение «Наибольшее значение» записано в графе 7, значение «Закупаемое значение» записано в графе 8. Реквизиты таблицы «Расчет» занимают строки с первой по пятую, записи начинаются с шестой строки и пустые строки чередуются с заполненными, т.е. после заполненной строки следует пустая и т.д.
Обозначим номер текущей строки в таблице «Расчет» n, текущее значение рентабельности торговой операции обозначим текрент.
Текст программы
Sub расчет()
‘Задаем начальные значения
n= 6
While Worksheets("Расчет").Cells(n, 1) <> ""
‘Сохраняем текущую рентабельность
текрент= Worksheets("Расчет").Cells(3, 5)
‘Пересчитываем закупаемое количество
Worksheets("Расчет").Cells(n,8)=Worksheets("Расчет").Cells(n, 6)
If текрент >Worksheets("Расчет").Cells(3, 5) Then
Worksheets("Расчет").Cells(n,8)=Worksheets("Расчет").Cells(n,7)
End If
‘Так как в расчетной таблице заполненные записи чередуются с пустыми, увеличиваем n на 2. Если нет чередования, то n нужно увеличить на 1
n = n+ 2
Wend
End Sub
Текст программы рассылки заказов по торговым отделам
Пояснения и обозначения
Для определенности считаем, что расчетная таблица имеет имя «Расчет», справочник отделов имеет имя «Справочник», журнал регистрации рассылки имеет имя «Журнал», наименование торгового отдела записано в ячейке B2 Реквизиты таблицы «Справочник» занимают строки с первой по вторую, записи начинаются с третьей строки, реквизиты таблицы «Журнал» занимают строки с первой по вторую, записи начинаются с третьей строки.
Обозначим номер текущей строки в таблице «Справочник» n, номер текущей строки в таблице «Журнал» - k, значение ячейки B2 расчетной таблицы (ячейки с наименованием отдела) – наименование, адрес получателя в локальной сети – адреспол
Текст программы
Sub рассылка()
‘Задаем начальные значения
n=3
наименование= Worksheets("Расчет").Cells(2, 2)
‘Находим в таблице «Справочник» строку, содержащую переменную наименование, точнее, находим номер данной строки
While Worksheets("Справочник").Cells(n, 1) <> ""and наименование<> Worksheets("Справочник").Cells(n, 1)
n=n+1
Wend
‘Вычисляем адрес получателя в локальной сети
адреспол=Worksheets("Справочник").Cells(n,2)
‘Записываем расчетную таблицу по найденному адресу. Действуем следующим образом: в меню «Сервис». «Макросы» выбираем команду «Начать запись» и записываем табличный документ по любому адресу в локальной сети, после чего останавливаем запись. Получаем текст макроса, который копируем в текст программы. В команде FileName после знака : = вставляем адреспол. В результате получаем следующий фрагмент:
ActiveWorkbook.SaveAs Filename := адреспол FileFormat _ := xlNormal, Password :="", WriteResPassword:="", ReadOnlyRecommended:= _False, CreateBackup:=False
‘Находим в таблице «Журнал» номер первой пустой строки
While Worksheets("Журнал").Cells(k, 1) <> ""
k = k+1
Wend
‘Записываем в найденную строку дату, время, получателя
Worksheets("Журнал").Cells(k, 1) = Date
Worksheets("Журнал").Cells(k, 2) = Time
Worksheets("Журнал").Cells(k, 3) = наименование
End Sub