Разработка системы автоматизации для малого коммерческого предприятия работающего в сфере информационных услуг
срока действия счета = текущая дата + 20 (15) дней.
6) «ЦенаДистрибутива» - скрытое поле.
Назначение: свободное поле для хранения цены дистрибутива системы,
текущей в форме Подчиненная1.
Заполнение: по процедуре обработки событий для события «После
обновления» поля «КодСистемы» в форме Подчиненная1.1 (смотри пункт __ в
описании формы Подчиненная1.1).
Примечание: *необходимо сбрасывать значение данного поля в Null при
переходе по записям в форме Подчиненная1.1, для избежания ситуации с
занесением цены предыдущего или последующего дистрибутива.
7) «ЦенаСпецВыпуска» - скрытое поле.
Назначение: свободное поле для хранения цены спецвыпуска дистрибутива
системы, текущей в форме Подчиненная1.
Заполнение: по процедуре обработки событий для события «После
обновления» поля «КодСистемы» в форме Подчиненная1.1 (смотри пункт __ в
описании формы Подчиненная1.1).
Примечание: *необходимо сбрасывать значение данного поля в Null при
переходе по записям в форме Подчиненная1.1, для избежания ситуации с
занесением цены спецвыпуска предыдущего или последующего дистрибутива.
8) «Сопровождение» - скрытое поле.
Назначение: свободное поле для хранения цены на сопровождение системы,
текущей в форме Подчиненная1, в соответствии с параметрами полей
«Прейскурант» и «ВидСопровождения» формы Основная.
Заполнение: по процедуре обработки событий для события «После
обновления» поля «КодСистемы» в форме Подчиненная1.1 (смотри пункт __ в
описании формы Подчиненная1.1).
Примечание: * необходимо сбрасывать значение данного поля в Null при
переходе по записям в форме Подчиненная1.1, для избежания ситуации с
занесением цены спецвыпуска предыдущего или последующего дистрибутива.
9) «Месяц» - скрытое поле.
Назначение: свободное поле для хранения значения месяца прейскуранта по
которому выписывается заказы по текущему счету.
Заполнение: по процедуре обработки событий для события «После
обновления» поля «КодСистемы» в форме Подчиненная1.1 (смотри пункт __ в
описании формы Подчиненная1.1).
Примечание: * необходимо заполнять значение данного поля при повторной
выписке счета, возможно по процедуре обработки события для кнопки
«Кнопка63» в форме Подчиненная1.1.
10) «КодЗаказчика» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и Основная.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
б) Флажки.
1) «ВыпискаНакладной» и «ВыпискаАктов» ?.
Назначение: отметка о выписке актов и накладных при покупке системы.
Заполнение: по процедуре обработки события для кнопки «Кнопка170» в
форме Основная.
Источник записей: аналогичное поле в исходной таблице.
Примечание: * возможно запрещение выписки актов и накладных на данном
этапе, следовательно необходимость наличия этих полей отпадает.
в) Кнопки. (для кнопок процедуры обработки событий вызываются по
событию «Нажатие кнопки»)
1) «КнопкаНоваяЗапись».
Назначение: для перехода на новую запись для данной форма (новый счет
для текущей организации) и заполнения поля «НомерСчета» следующим номером
согласно существующей номенклатуре, очистка временных таблиц
«НаВыпискуСчета» и «НаВыпискуНакладной». Процедура обработки событий
(листинг 3.7).
Примечания: * отладить на возникновение ошибок при нестандартном номере
предыдущего счета.
2) «Кнопка333», «Кнопка334», «Кнопка335», «Кнопка336».
Назначение: для перехода по записям для текущей формы (счета для данной
организации). Реализация с помощью мастера.
Форма «Дистрибутивы1».
а) Поля.
1) «КодМесяца» (Месяц) - поле со списком.
Назначение: для выбора и отображения месяца прейскуранта для расчета
стоимости заказов для текущего счета.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: так как значение данного поля является критичным для
последующих вычислений, то для данного поля, в процедуре обработки событий
по событию «После обновления», происходит проверка на наличие пустого
значения в данном поле (листинг 3.8).
2) «КодСистемы» (Система).
Назначение: для выбора и отображения системы, на которую будет
оформлена запись в счете.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит заполнение поля «ЦенаДистрибутива»,
«ЦенаСпецВыпуска», «Сопровождение» формы Подчиненая1, соответствии с
выбранным значением данного поля и со значениями полей «Прейскурант» и
«ВидСопровождения», формы Основная (листинг 3.9).
3) «Код» (Тип системы) - поле со списком.
Назначение: для выбора и отображения типа системы, на которую будет
оформлена запись в счете.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цены системы и сопровождения (поля
«Цена»и «Сопровождение») в соответствии с выбранным значением данного поля
и со значениями полей «СпецвыпускИлиНет», «Количество», «Скидки»,
«КоличествоМ», «СкидкиС» текущей формы (листинг 3.10).
4) «СпецвыпускИлиНет» - флажок. (Спецвыпуск).
Назначение: для указания и отображения, является ли данный дистрибутив
спецвыпуском или нет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цены системы и сопровождения (поля
«Цена»и «Сопровождение») в соответствии со значением данного поля и со
значениями полей «СпецвыпускИлиНет», «Количество», «Скидки», «КоличествоМ»,
«СкидкиС» текущей формы (листинг 3.11).
5) «Флажок58» - флажок. (только ИПС).
Назначение: для указания и отображения, оформляется ли данный заказ на
продажу или только на сопровождение.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цены сопровождения в соответствии со
значением данного поля и со значениями полей «СпецвыпускИлиНет»,
«Количество», «Скидки», «КоличествоМ», «СкидкиС» текущей формы, и
присваивается Null значению поле «Цена» (листинг 3.12).
6) «Примечание».
Назначение: для ввода и отображения комментариев к текущему заказу.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
7) «НомерДистрибутива» - необходимость в данной форме ???.
8) «Количество» (Количество систем). - необходимость в данной форме
???.
Назначение: для ввода и отображения количества систем на которые
оформляется данный заказ счета.
Заполнение: постоянное значение, равное 1.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цен по данному заказу счета в
соответствии со значением в данном поле и со значениями полей
«СпецвыпускИлиНет», «Скидки», «КоличествоМ», «СкидкиС» текущей формы
(листинг 3.13).
9) «Скидки» (Скидки на систему).
Назначение: для ввода и отображения величены скидки на систему при
продаже.
Заполнение: ввод с клавиатуры, значение для ввода - дробное число (0.15
- 15%).
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цен по данному заказу счета в
соответствии со значением скидки в данном поле и со значениями полей
«СпецвыпускИлиНет», «Количество», «КоличествоМ», «СкидкиС» текущей формы
(листинг 3.14).
10) «КоличествоМ» (Количество месяцев)
Назначение: для ввода и отображения количества месяцев сопровождения на
текущую систему.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цен по данному заказу счета в
соответствии со значением в данном поле и со значениями полей
«СпецвыпускИлиНет», «Скидки», «Количество», «СкидкиС» текущей формы
(листинг 3.15).
11) «СкидкиС» (Скидки на сопров.).
Назначение: для ввода и отображения величены скидки на сопровождение.
Заполнение: ввод с клавиатуры, значение для ввода - дробное число (0.15
- 15%).
Источник записей: аналогичное поле в исходной таблице.
Примечание: для данного поля, в процедуре обработки событий по событию
«После обновления», происходит расчет цен по данному заказу счета в
соответствии со значением скидки в данном поле и со значениями полей
«СпецвыпускИлиНет», «Количество», «КоличествоМ», текущей формы (листинг
3.16).
12) «Цена» (Поставка).
Назначение: для ввода и отображения цены на систему при покупке.
Заполнение: ввод с клавиатуры или по процедуре обработки событий
вышеописанных полей.
Источник записей: аналогичное поле в исходной таблице.
13) «Сопровождение».
Назначение: для ввода и отображения цены на сопровождение.
Заполнение: ввод с клавиатуры или по процедуре обработки событий
вышеописанных полей.
Источник записей: аналогичное поле в исходной таблице.
14) «КодСчета» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и
Подчиненная1.1.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
15) «СистемыНаВыписку» - список.
Назначение: свободное поле для отображения перечня заказов входящих в
счет.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуСчета».
(SELECT DISTINCTROW [НаВыпискуСчета].[Код], [НаВыпискуСчета].[Система],
[НаВыпискуСчета].[Количество] FROM [НаВыпискуСчета];)
Примечание: так как данное поле имеет источник строк SQL - запрос по
временной таблице, то отображение изменений для данного поля происходит
после обновления данных в форме (DoCmd Refresh).
б) Кнопки. (для кнопок процедуры обработки событий вызываются по
событию «Нажатие кнопки»)
1) «Кнопка63» (Добавить новую >- при выписке в счете нового заказа).
Назначение: занесение информации для данного заказа счета во временную
таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения
критических значений полей, обновление содержимого формы, с целью
отображения последних изменений (в списке «СистемыНаВыписку») и переход на
новую запись в текущей форме (для ввода нового заказа счета). Процедура
обработки событий (листинг 3.17).
Примечания: - .
2) «Кнопка69» (Добавить > - при повторной выписке счета).
Назначение: занесение информации для данного заказа счета во временную
таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения
критических значений полей, обновление содержимого формы, с целью
отображения последних изменений (в списке «СистемыНаВыписку») и переход на
следующую запись в текущей форме (для ввода или изменения следующего заказа
счета). Процедура обработки событий (листинг 3.18).
Примечания: - .
3) «Кнопка71», «Кнопка72», «Кнопка73», «Кнопка75».
Назначение: для перехода по записям для текущей формы (заказы для
данной счета). Реализация с помощью мастера.
4) «Кнопка70».
Назначение: для удаления выделенной записи в списке «СистемыНаВыписку»
из временной таблицы «НаВыпискуСчета» с проверкой на наличие выделенной
записи, обновление содержимого формы, с целью отображения последних
изменений (в списке «СистемыНаВыписку»). Процедура обработки событий
(листинг 3.19).
Примечания: - .
5) «Кнопка74».
Назначение: для удаления всех записей в списке «СистемыНаВыписку» из
временной таблицы «НаВыпискуСчета», обновление содержимого формы, с целью
отображения последних изменений (в списке «СистемыНаВыписку»). Процедура
обработки событий (листинг 3.20).
Примечания: - .
Комментарии.
Описанная структура имеет следующие особенности работы
1. Для формы Основная по событию «Текущая запись» в процедуре обработки
событий происходит расчет по значений задолженности текущей организации
(заполняется поле «Долг») и проверяется наличие важных примечаний для
данной организации (выделение цветом текста кнопки «Примечания»)
(листинг 3.21).
2. Также для формы Основная при загрузки инициализируются две
переменные flagNew и flagFind использующиеся для устранения ошибок в
процедуре обработки событий по событию «Текущая запись» для формы Основная
(для новой организации не может быть кредиторской или авансовой
задолженности). Значения переменных - флагов устанавливаются в процедурах
обработки событий для кнопок «Кнопка165» (flagFind) и «Кнопка_Новая_Запись»
(flagNew). (листинг 3.22).
3. Для формы Подчиненная1 по событию «Открытие» в процедуре обработки
событий происходит очистка временной таблицы «НаВыпискуСчета» и
«НаВыпискуНакладной» по функции ClearListBox()
2. Оформление, учет и выписка вторичной отчетной документации (акты
приемки-сдачи, накладные, счета-фактуры, акты на информационно-
программного сопровождение, счета-фактуры на информационно-программного
сопровождение), фиксирование информации о приходе денежных средств по
счетам, формирование первичного авансового отчета по основному профилю
работы организации (системы КонсультантПлюс)
Для реализации данного этапа была разработана структура взаимодействия
трех форм:
1. «Просмотр» - основная
(источник записей таблица «Заказчики»).
2. «ПросмотрSub» - подчиненная1 (к основной)
(источник записей таблица «СчетаОсновные»).
3. «ПросмотрSubSub» - подчиненная1.1 (к подчиненной1)
(источник записей таблица «Дистрибутивы»).
4. «Платежки» - подчиненная1.2 (к подчиненной1)
(источник записей таблица «Платежки»).
5. «СчетаФактурыОсновные» - подчиненная1.3 (к подчиненной1)
(источник записей таблица «СчетаФактурыОсновные»).
Форма «Просмотр».
а) Поля.
1) «Образец»
Назначение: для ввода текстовой и цифровой информации использующейся
для поиска
по названию организации в процедуре обработки события кнопки
«Кнопка165»(Найти).
Вводимое значение: текстовое или цифровое.
2) «Код» (поле со списком)
Назначение: для отображения и выбора типа статуса текущей организации.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
3) «Организация»
Назначение: для отображения названия текущей организации.
Источник записей: аналогичное поле в исходной таблице.
4) «Список116»(Список)
Назначение: свободное поле для поиска организации и перехода на
требуемую запись.
Источник записей: SQL - запрос по таблице «Заказчики».
Примечания: сформирован с помощью мастера.
5) Остальные поля «Индекс», «Страна» и т.д. предназначены для
отображения ввода и изменения адресных и банковских реквизитов текущей
организации.
Назначение: для отображения типа сопровождения по которому производится
расчет для текущей организации.
Источники записей: аналогичные поля в исходной таблице.
6) «ПервыйМесяц»
Назначение: свободное поле для ввода первого месяца сопровождения
начиная с которого необходимо выписывать акты и счета-фактуры на
сопровождение для текущей организации.
Примечания: вводимое значение в кратком формате даты (например
04.03.97) используется только для формирования начальной даты при выписке
акты и счета-фактуры на сопровождение для текущей организации.
б) Кнопки. (для кнопок процедуры обработки событий вызываются по
событию «Нажатие кнопки»)
1) «Кнопка165»(Найти).
Назначение: для поиска и вывода информации по организации по текстовому
образцу введенному в поле «Образец». Процедура обработки событий (листинг
3.23).
Примечания: задание флагу flagFind значения True (используется для
отлавливания ошибки в «Отсутствие текущей записи», процедуре обработки
события по событию «Текущая запись» для формы «Основная»).
2) «Кнопка139»(Настройки печати).
Назначение: для вывода на экран диалогового окна «Настройки счета»
(смотри пункт __).
Примечания: реализация с помощью мастера.
3) «Кнопка174».
Назначение: для предварительного просмотра образца актов, накладных и
счетов-фактур по счету при продаже. Процедура обработки событий (листинг
3.24).
Примечания: реализация с помощью мастера, проверка значений формы
критических для выписки счета.
4) «КнопкаЗакрытьФорму» (Настройки счета).
Назначение: для закрытия текущей формы.
Примечания: реализация с помощью мастера.
5) «Кнопка181».
Назначение: для предварительного просмотра образца актов и счетов-
фактур на сопровождение по счету для текущей организации (листинг 3.25)
Примечания: реализация с помощью мастера, проверка значений формы
критических для выписки счета.
Форма «ПросмотрSub».
а) Поля.
1) «НомерСчета».
Назначение: для отображения номера счета для текущей организации.
Источник записей: аналогичное поле в исходной таблице.
2) «Код» (Форма оплаты).
Назначение: для отображения и выбора формы оплаты данного счета.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
3) «КодОтдела»(Отделы).
Назначение: для отображения и выбора отдела который выписал данный
счет..
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
|