3.5.2. Формы отчетности (счетов, актов, счетов-фактур, накладных).
Данные отчеты реализованы с помощью конструктора отчетов. Источниками данных для отчетов служат соответствующие временные таблицы, заполняемые данными при выписке счетов, актов, накладных и т.д. Общим для всех отчетов является ссылки на соответствующие поля в формах для выписки документов.
Для всех типов счетов, по событию форматирование области заголовка отчета, по процедуре обработки события, изменяется свойство «Visible» для подчиненного отчета и в соответствии со значениями глобальной переменной ВалДляСчета, на печать выводятся реквизиты организации для перевода денежных средств на счета в разных банках («Федеральный Банк Инноваций и Развития», «Валютное управление СБ РФ»).
Во всех типах отчетов в области заголовка находится фирменный логотип организации. Данный логотип представляет комбинацию битового изображения и набора текстовых полей.
3.5.3. Сервисные функции.
Для обеспечения функциональной универсальности базы данных реализован ряд функций общего назначения. Данные функции применяются в ряде форм и отчетов, и выполняю как сервисные функции, так и функции обработки данных. Например, функция «Number» применяется практически во всех формах отчетности для перевода суммы из числового выражения в буквенное. Функции сохранены в модулях базы данных и вызываются динамически по запросу из процедур обработки событий. В листинге 4.1 приведены исходные тексты всех модулей используемых в базе данных.
3.5.4. Описание структуры программы.
Учитывая сформированную иерархическую структуру данных и очередность реализации проекта процесс технической реализации состоял из следующих этапов.
1. Оформление, учет и выписка первичной бухгалтерской документации (счетов) по основному профилю работы организации (системы КонсультантПлюс)
Для реализации данного этапа была разработана структура взаимодействия трех форм:
1. «ОсновнаяОформлениеСчетов» - основная
(источник записей таблица «Заказчики»).
2. «ОсновныеСчета:Подчиненая» - подчиненная1 (к основной)
(источник записей таблица «СчетаОсновные»).
3. «Дистрибутивы1» - подчиненная1.1 (к подчиненной1)
(источник записей таблица «Дистрибутивы»).
Форма «ОсновнаяОформлениеСчетов».
а) Поля.
1) «Образец»
Назначение: для ввода текстовой и цифровой информации использующейся для поиска по названию организации в процедуре обработки события кнопки «Кнопка165»(Найти).
Вводимое значение: текстовое или цифровое.
2) «Долг»
Назначение: свободное поле для отображения неучтенной задолженности для текущей организации.
Заполнение: в процедуре обработки события по событию «Текущая запись» для данной формы.
Примечание: при очистке данного поля снимается задолженность с данной организации и очищаются соответствующее связанные поля в таблице «КредитАванс». Это осуществляется по событию «После обновления» в процедуре обработки события (листинг 3.1).
3) «Код» (поле со списком)
Назначение: для отображения и выбора типа статуса текущей организации.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
4) «Организация»
Назначение: для отображения названия текущей организации.
Источник записей: аналогичное поле в исходной таблице.
5) «Прейскурант»
Назначение: свободное поле для отображения типа прейскуранта по которому производится расчет для текущей организации.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечания:
- при выборе значения из списка , по событию «После обновления» в процедуре обработки события (листинг 3.2), меняется значения источника строк для поля «ВидСопровождения» в соответствии с наличием видов сопровождения для выбранного прейскуранта.
- на событию «Потеря фокуса» в процедуре обработки события (листинг 3.3), происходит проверка на наличие ввода пустого значения.
6) «ВидСопровождения»
Назначение: для отображения типа сопровождения по которому производится расчет для текущей организации.
Заполнение: выбор из списка (значения списка изменяются в соответствии с типом прейскуранта).
Источник записей: аналогичное поле в исходной таблице.
7) «Список116»(Список)
Назначение: свободное поле для поиска организации и перехода на требуемую запись.
Источник записей: SQL - запрос по таблице «Заказчики».
Примечания: сформирован с помощью мастера.
8) Остальные поля «Индекс», «Страна» и т.д. предназначены для отображения ввода и изменения адресных и банковских реквизитов текущей организации.
Назначение: для отображения типа сопровождения по которому производится расчет для текущей организации.
Источники записей: аналогичные поля в исходной таблице.
б) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка165»(Найти).
Назначение: для поиска и вывода информации по организации по текстовому образцу введенному в поле «Образец». Процедура обработки событий (листинг 3.4).
Примечания: задание флагу flagFind значения True (используется для отлавливания ошибки в «Отсутствие текущей записи», процедуре обработки события по событию «Текущая запись» для формы «Основная»).
2) «Кнопка177»(Настройки счета).
Назначение: для вывода на экран диалогового окна «Настройки счета» (смотри пункт __ ).
Примечания: реализация с помощью мастера.
3) «Кнопка170»(Настройки счета).
Назначение: для предварительного просмотра образца счета. Процедура обработки событий.
Примечания: реализация с помощью мастера.
4) «КнопкаЗакрытьФорму» (Настройки счета).
Назначение: для закрытия текущей формы.
Примечания: реализация с помощью мастера.
5) «Кнопка_Новая_Запись» (Новая организация).
Назначение: для перехода в текущей форме на новую запись (ввод новой организации).
Примечания: реализация с помощью мастера, задание флагу flagNew значения True (используется для отлавливания ошибки в «Отсутствие текущей записи», процедуре обработки события по событию «Текущая запись» для формы «Основная»).
6) «Примечания»
Назначение: для вывода диалогового окна записи примечаний к текущей организации
Примечания: реализация с помощью мастера.
в) Переключатели. (для переключателей процедуры обработки событий вызываются по событию «После обновления»)
1) «Группа 168» (Организация-Счет).
Назначение: для перехода между информацией о счете и адресными реквизитами для текущей организации. Процедура обработки событий (листинг 3.5)
Примечания: задание свойству «Visible» значения True или False в зависимости от положения переключателя. событию «Текущая запись» для формы «Основная»).
Форма «ОсновныеСчета:Подчиненая».
а) Поля.
1) «НомерСчета».
Назначение: для ввода и отображения номера счета для текущей организации.
Заполнение: ввод с клавиатуры или по процедуре обработки событий кнопки «КнопкаНоваяЗапись» в данной форме (смотри пункт __).
Источник записей: аналогичное поле в исходной таблице.
Примечание: значение данного поля изменяется в процедуре обработки событий по событию «После обновления» поля со списком «КодОтдела» (смотри пункт 4)).
2) «ДатаСчета».
Назначение: для ввода и отображения даты счета для текущей счета.
Заполнение: ввод с клавиатуры или по умолчанию, в свойстве «Значение по умолчанию», значением текущей даты (функция Now()).
Источник записей: аналогичное поле в исходной таблице.
3) «Код» (Форма оплаты).
Назначение: для отображения и выбора формы оплаты данного счета.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: *надо убрать ПОС по событию «После обновления».
4) «КодОтдела».
Назначение: для отображения и выбора отдела который выписал данный счет..
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: по процедуре обработки событий по событию «После обновления» изменяется значение поля «НомерСчета» в соответствии с существующей номенклатурой (листинг 3.6).
5) «СрокДействияСчета» (Срок действия счета).
Назначение: для отображения и ввода даты по которую будет действителен текущий счет.
Заполнение: ввод с клавиатуры или по умолчанию, в свойстве «Значение по умолчанию», значением последнего числа текущего месяца (функция EndMonth() - смотри список функций базы данных).
Источник записей: аналогичное поле в исходной таблице.
Примечание: * необходимо переделать функцию EndMonth(), чтобы значение срока действия счета = текущая дата + 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) «КодОтдела»(Отделы).
Назначение: для отображения и выбора отдела который выписал данный счет..
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
4) «НомерНакладной» ((№ Накладной).
Назначение: для ввода и отображения номера накладной, при выписке документации по счету на продажу.
Заполнение: в ввод с клавиатуры или в процедуре обработки событий по событию «После обновления» группы «Группв337» (смотри пункт __ ).
Источник записей: аналогичное поле в исходной таблице.
Примечание: при просмотре счета на сопровождение значение данного поля остается пустым. *вынести номера платежных поручений в отдельную таблицу, так как не каждый счет выписывается на продажу и возможно наличие большого количества пустых полей.
5) «ВсеПлатежки» - скрытое поле.
Назначение: свободное поле для хранения текстовой информации по платежным поручениям оплачивающим текущий счет (Пример: № 24 от 03.02.97).
Заполнение: в процедуре обработки событий кнопки «Кнопка174» в форме Основная. (смотри пункт __ ).
Примечание: * усовершенствовать заполнение по правилам (Пример: 3 февраля 1997 года).
6) «ПоСчету» (е по счету).
Назначение: свободное поле для отображения общей суммы счета включая НДС для визуальной оценки совпадения суммы по счету и суммы по платежным поручениям.
Заполнение: в процедуре обработки событий кнопки «Кнопка347» (Занести).
7) «ПоПлатежке» (е по платежке).
Назначение: свободное поле для отображения общей суммы прихода денежных средств по платежным поручениям, для визуальной оценки совпадения суммы по счету и суммы по платежным поручениям.
Заполнение: в процедуре обработки событий кнопки «Кнопка347» (Занести)(смотри пункт __ ).
8) «Разница».
Назначение: свободное поле для отображения разницы общей суммы счета включая НДС и общей суммы прихода денежных средств по платежным поручениям.
Заполнение: в процедуре обработки событий кнопки «Кнопка347» (Занести)(смотри пункт __ ).
9) «КодИсточника».
Назначение: для выбора и отображения названия источника информации о пользователе по данному счету.
Заполнение: выбор из списка .
Источник записей: аналогичное поле в исходной таблице.
10) «КодПодразделения».
Назначение: для выбора и отображения названия подразделения от которого поступила информации о пользователе по данному счету.
Заполнение: выбор из списка .
Источник записей: аналогичное поле в исходной таблице.
11) «КодСотрудника».
Назначение: для выбора и отображения фамилии сотрудника от которого поступила информации о пользователе по данному счету.
Заполнение: выбор из списка .
Источник записей: аналогичное поле в исходной таблице.
12) «КодАгента».
Назначение: для выбора и отображения фамилии агента от которого поступила информации о пользователе по данному счету.
Заполнение: выбор из списка .
Источник записей: аналогичное поле в исходной таблице.
Примечание: в процедуре обработки событий по событию «После обновления» для данного поля заполняется поле «СуммаСНакоплением» для отображения общей суммы заказов проданных вышеуказанным агентом в долларах (листинг 3.26).
13) «Агент_процент_1»(% от реализации).
Назначение: для ввода и отображения величины процента агентского вознаграждения от суммы реализации по данному счету.
Заполнение: ввод с клавиатуры, тип вводимого значения дробное число с разделителем точка (Пример: 0.1 - 10%).
Источник записей: аналогичное поле в исходной таблице.
Примечание: в процедуре обработки событий по событию «После обновления» для данного поля рассчитывается значение в поле «ВознагрАгента» и «НаРукиАгент» текущей формы (листинг 3.27).
14) «Агент_процент_2»(% от сопровож.).
Назначение: для ввода и отображения величины процента агентского вознаграждения от суммы сопровождения по данному счету.
Заполнение: ввод с клавиатуры, тип вводимого значения дробное число с разделителем точка (Пример: 0.1 - 10%).
Источник записей: аналогичное поле в исходной таблице.
Примечание: в процедуре обработки событий по событию «После обновления» для данного поля рассчитывается значение в поле «ВознагрАгента» «НаРукиАгент» текущей формы (листинг 3.28).
15) «ВознагрАгент» (Сумма).
Назначение: для отображения общей суммы агентского вознаграждения от суммы данного счета.
Заполнение: в процедуре обработки событий по событию «После обновления» для поля «Агент_процент_1» и поля «Агент_процент_2».
Источник записей: аналогичное поле в исходной таблице.
16) «НаРукиАгент» (На руки).
Назначение: для отображения суммы агентского вознаграждения выдаваемого агенту от суммы данного счета.
Заполнение: в процедуре обработки событий по событию «После обновления» для поля «Агент_процент_1» и поля «Агент_процент_2».
Источник записей: аналогичное поле в исходной таблице.
17) «КурсДоллара» (Курс $).
Назначение: для отображения сегодняшнего курса доллара.
Заполнение: ввод с клавиатуры (пока).
Источник записей: аналогичное поле в исходной таблице.
Поле392
18) «Поле392» (Сумма в $).
Назначение: свободное поле для отображения суммы агентского вознаграждения выдаваемого агенту от суммы данного счета в долларах.
Заполнение: =[ВознагрАгент]/[КурсДоллара].
19) «СуммаСНакоплением».
Назначение: свободное поле для отображения общей суммы заказов проданных вышеуказанным агентом в долларах.
Заполнение: в процедуре обработки событий по событию «После обновления» для поля «КодАгента».
20) «КодЗаказчика» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и Основная.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
б) Флажки.
1) «ВыпискаНакладной» и «ВыпискаАктов».
Назначение: отметка о выписке актов и накладных при покупке системы.
Заполнение: по процедуре обработки события для кнопки «Кнопка174» в форме Основная.
Источник записей: аналогичное поле в исходной таблице.
2) «ОплатаСчета».
Назначение: отметка об оплате текущего счета.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
Примечание: в процедуре обработки событий по событию «После обновления» для данного поля свойству Visible формы Подчиненая1.2 присваивается значение True или False в зависимости от факта оплаты счета (листинг 3.29).
3) «ВнесениеВАО»(Внесение в авансовый отчет). - скрытое поле
Назначение: отметка о внесение суммы по текущему счету в авансовый отчет.
Заполнение: по процедуре обработки события для кнопки «Кнопка347» в текущей форме.
Источник записей: аналогичное поле в исходной таблице.
в) Группы.
1) «Группа337».
Назначение: переключение между информацией о счете и информацией о заказах, входящих в счет.
Примечания: * автоматическое вычисление следующего номера накладной (поле «НомерНакладной»в текущей форме) и счета-фактуры (поле «НомерСчетаФактуры» в форме Подчиненая1.3) в процедуре обработки событий по событию «После обновления» для данной группы (листинг 3.30).
г) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка322», «Кнопка323», «Кнопка324», «Кнопка325».
Назначение: для перехода по записям для текущей формы (счета для данной организации). Реализация с помощью мастера.
Примечания: * по процедурам обработки событий для данных кнопок происходит очистка содержимого временных таблиц «НаВыпискуСчета» и «НаВыпискуНакладной» (листинг 3.31).
2) «Кнопка347».
Назначение: для занесения данных по текущему счету в авансовый отчет (листинг 3.32).
Примечания: * отладить возникновение ошибок и тестировать, тестировать, тестировать.
3) «Кнопка368».
Назначение: для удаления данных по текущему счету из авансового отчета (листинг 3.33).
Примечания: * пользоваться аккуратно.
Форма «ПросмотрSubSub».
а) Поля.
1) «КодСистемы» (Система).
Назначение: для выбора и отображения системы, на которую будет оформлена запись в счете.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
Примечание: *нужно ли позволять выбор и ввод в этом и следующих полях, кроме поля «НомерДистрибутива»
2) «Код» (Тип системы) - поле со списком.
Назначение: для выбора и отображения типа системы, на которую будет оформлена запись в счете.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
3) «СпецвыпускИлиНет» - флажок. (Спецвыпуск).
Назначение: для указания и отображения, является ли данный дистрибутив спецвыпуском или нет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
4) «НомерДистрибутива».
Назначение: для ввода и отображения, номера дистрибутива выписываемой системы.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5) «Скидки» (Скидки на систему). - необходимость в данной форме ???.
Назначение: для ввода и отображения величены скидки на систему при продаже.
Заполнение: ввод с клавиатуры, значение для ввода - дробное число (0.15 - 15%).
Источник записей: аналогичное поле в исходной таблице.
6) «КоличествоМ» (Количество месяцев) - необходимость в данной форме ???.
Назначение: для ввода и отображения количества месяцев сопровождения на текущую систему.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
7) «СкидкиС» (Скидки на сопров.) - необходимость в данной форме ???.
Назначение: для ввода и отображения величены скидки на сопровождение.
Заполнение: ввод с клавиатуры, значение для ввода - дробное число (0.15 - 15%).
Источник записей: аналогичное поле в исходной таблице.
8) «Цена» (Поставка).
Назначение: для ввода и отображения цены на систему при покупке.
Источник записей: аналогичное поле в исходной таблице.
9) «Сопровождение». - необходимость в данной форме ???.
Назначение: для ввода и отображения цены на сопровождение.
Источник записей: аналогичное поле в исходной таблице.
10) «СистемыНаВыписку» - список.
Назначение: свободное поле для отображения перечня заказов входящих в счет.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуСчета».
(SELECT DISTINCTROW [НаВыпискуСчета].[Код], [НаВыпискуСчета].[Система], [НаВыпискуСчета].[Количество] FROM [НаВыпискуСчета];)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
11) «КодСчета» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и Подчиненная1.1.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
12) «КодМесяца» - скрытое поле.
Назначение: для фиксации значения месяца прейскуранта по которому был выписан счет.
Источник записей: аналогичное поле в исходной таблице.
Примечание: используется при выписке актов.
б) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «КнопкаНЗ» (Добавить в накладную >).
Назначение: занесение информации для данного заказа счета во временную таблицы «НаВыпискуСчета» и «НаВыпискуНакладной»с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку») и переход на следующую запись в текущей форме (для ввода информации по следующему заказу счета) (листинг 3.34).
Примечания: - .
2) «Кнопка49», «Кнопка50», «Кнопка51», «Кнопка52».
Назначение: для перехода по записям для текущей формы (заказы для данной счета). Реализация с помощью мастера.
Форма «Платежки» -ленточная форма.
а) Поля.
1) «НомерПлатежки».
Назначение: для ввода и отображения номера платежного поручения, оплачивающего текущий счет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
2) «ДатаПлатежки».
Назначение: для ввода и отображения даты платежного поручения, оплачивающего текущий счет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
3) «СуммаПлатежки».
Назначение: для ввода и отображения суммы по платежному поручению, оплачивающего текущий счет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
4) «ДатаВыписки».
Назначение: для ввода и отображения даты выписки платежного поручения, оплачивающего текущий счет.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5) «КодСчета» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и Подчиненная1.2.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
Форма «СчетаФактурыОсновные».
а) Поля.
1) «НомерСчетаФактуры».
Назначение: для ввода и отображения номера счета-фактуры для текущего счета.
Заполнение: ввод с клавиатуры или в процедуре обработки событий по событию «После обновления» для группы «Группа337».
Источник записей: аналогичное поле в исходной таблице.
2) «КодСчета» - скрытое поле.
Назначение: главное связующее поле по для форм Подчиненная1 и Подчиненная1.3.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
Комментарии.
Описанная структура имеет следующие особенности работы
1. Для формы Основная и ПросмотрSub по событию «Текущая запись» в процедуре обработки событий происходит проверка значения поля «ОплатаСчета» и в соответствии с этим свойству формы Подчиненная1.2 задается значение True или False.(листинг 3.35).
3. Оформление, учет и выписка первичной бухгалтерской документации (счетов) по дополнительным заказам (программное и аппаратное обеспечение, информационные услуги)
Для реализации данного этапа была разработана структура взаимодействия трех форм:
1. «ДругиеЗаказыОформление» - основная
(источник записей таблица «Заказчики»).
2. «ДругиеСчетаПод» - подчиненная1 (к основной)
(источник записей таблица «ДругиеСчета»).
3. «ДругиеСчетаПодПод» - подчиненная1.1 (к подчиненной1)
(источник записей таблица «Дистрибутивы»).
Данные три формы получены модификацией комплекса форм по выписке основных счетов. При модификации у форм «ОсновнаяОформлениеСчетов» и «ОсновныеСчета:Подчиненая» были изменены только источник данных (таблицы) и измены соответствующие имена полей и форм функциях. Поэтому в данном разделе будут рассмотрены только дополнения и изменения к исходным формам.
Форма «ДругиеЗаказыОформление».
а) Поля - аналогичны.
б) Группы - аналогичны.
в) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка170».
Назначение: для предварительного просмотра образца счета, выписанного на текущую организацию. Процедура обработки событий (листинг 3.36).
Примечания: реализация с помощью мастера, проверка значений формы критических для выписки счета.
Форма «ДругиеСчетаПод».
а) Поля - аналогичны, кроме:
1) «Цена», «Сопровождение», «ЦенаСпецВыпуска».
Назначение: для ввода и отображения номера счета-фактуры для текущего счета.
Заполнение: ввод с клавиатуры или в процедуре обработки событий по событию «После обновления» для группы «Группа337».
Источник записей: аналогичное поле в исходной таблице.
б) Кнопки - аналогичны, кроме. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «КнопкаНоваяЗапись».
Назначение: для перехода на новую запись для данной форма (новый счет для текущей организации) и заполнения поля «НомерСчета» следующим номером согласно существующей номенклатуре, очистка временных таблиц «НаВыпискуСчета» и «НаВыпискуНакладной». Процедура обработки событий (листинг 3.37).
Примечания: * отладить на возникновение ошибок при нестандартном номере предыдущего счета.
2) «Кнопка333», «Кнопка334», «Кнопка335», «Кнопка336».
Назначение: для перехода по записям для текущей формы (счета для данной организации). Реализация с помощью мастера.
Форма «ДругиеСчетаПодПод».
а) Поля.
1) «КодСистемы» (Наименование).
Назначение: для ввода и отображения наименования товара в заказе для текущего счета.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
2) «Примечания».
Назначение: для ввода и отображения примечания к товару в заказе для текущего счета.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
3) «НомерДистрибутива» (Рег. номер).
Назначение: для ввода и отображения уникального идентификационного номера товара в заказе для текущего счета (если он есть).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
4) «Количество».
Назначение: для ввода и отображения количества единиц товара в заказе для текущего счета (если он есть).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5) «Цена».
Назначение: для ввода и отображения стоимости указанного количества товара (без НДС) в заказе для текущего счета (то есть вводимое значение = цена 1-й ед. товара * кол-во товара).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5)
«СистемыНаВыписку»
- список.
Назначение:
свободное поле
для отображения
перечня заказов
входящих в
счет.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуСчета».
(SELECT DISTINCTROW [НаВыпискуСчета].[Код], [НаВыпискуСчета].[Система], [НаВыпискуСчета].[Количество] FROM [НаВыпискуСчета];)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
5) «КодСчета» - скрытое поле.
Назначение: главное связующее поле для форм Подчиненная1 и Подчиненная1.1.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
б) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка63» (Добавить новую >- при выписке в счете нового заказа).
Назначение: занесение информации для данного заказа счета во временную таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку») и переход на новую запись в текущей форме (для ввода нового заказа счета). Процедура обработки событий (листинг 3.38).
Примечания: - .
2) «Кнопка69» (Добавить > - при повторной выписке счета).
Назначение: занесение информации для данного заказа счета во временную таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку») и переход на следующую запись в текущей форме (для ввода или изменения следующего заказа счета). Процедура обработки событий (листинг 3.39).
Примечания: - .
3) «Кнопка71», «Кнопка72», «Кнопка73», «Кнопка75».
Назначение: для перехода по записям для текущей формы (заказы для данной счета). Реализация с помощью мастера.
4) «Кнопка70».
Назначение: для удаления выделенной записи в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.40).
Примечания: - .
5) «Кнопка74».
Назначение: для удаления всех записей в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета», обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.41).
Примечания: - .
4. Оформление, учет и выписка вторичной отчетной документации (акты на установку, накладные, счета-фактуры, акты на информационные услуги), фиксирование информации о приходе денежных средств по счетам, формирование первичного финансового отчета по дополнительным заказам организации (программное и аппаратное обеспечение, информационные услуги)
Для реализации данного этапа была разработана структура взаимодействия четырех форм:
1. «ПросмотрДрСчетов» - основная
(источник записей таблица «Заказчики»).
2. «ПросмотрДрСчетовSub» - подчиненная1 (к основной)
(источник записей таблица «ДругиеСчета»).
3. «ПросмотрДрСчетовSubSub» - подчиненная1.1 (к подчиненной1)
(источник записей таблица «ДругиеЗаказы»).
3. «ДругиеПлатежки» - подчиненная1.2 (к подчиненной1)
(источник записей таблица «ДругиеПлатежки»).
Данные формы получены модификацией комплекса форм по просмотру основных счетов. При модификации у форм были модифицированы основные функции в соответствии с данными и измены соответствующие имена полей и форм в функциях. Поэтому в данном разделе будут рассмотрены только дополнения и изменения к исходным формам.
Форма «ПросмотрДрСчетов».
а) Поля - аналогичны.
б) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки») - аналогичны
в) Группы. (для групп процедуры обработки событий вызываются по событию «После обновления»).
1) «Группа 168» (Организация-Счет).
Назначение: для перехода между информацией о счете и адресными реквизитами для текущей организации. Процедура обработки событий (листинг 3.42)
Примечания: задание свойству «Visible» значения True или False в зависимости от положения переключателя.
Форма «ПросмотрДрСчетовSub».
а) Поля - аналогичны, кроме.
1) «НомерСчетаФактуры».
Назначение: для ввода или отображения номера счета-фактуры для данного счета.
Заполнение: ввод с клавиатуры(пока).
Источник записей: аналогичное поле в исходной таблице.
Примечание: сделать автоматическое заполнение, продумать автоматическое заполнение в зависимости от формы оплаты (номера счетов-фактур по оплате за наличный и безналичный расчет разные).
2) «НомерНакладной».
Назначение: для ввода или отображения номера накладной для данного счета.
Заполнение: ввод с клавиатуры(пока).
Источник записей: аналогичное поле в исходной таблице.
Примечание: сделать автоматическое заполнение.
в) Группы.
1) «Группа337».
Назначение: переключение между информацией о счете и информацией о заказах, входящих в счет.
Примечания:
г) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка322», «Кнопка323», «Кнопка324», «Кнопка325».
Назначение: для перехода по записям для текущей формы (счета для данной организации). Реализация с помощью мастера.
Примечания: * по процедурам обработки событий для данных кнопок происходит очистка содержимого временных таблиц «НаВыпискуСчета» и «НаВыпискуНакладной» (листинг 3.43).
2) «Кнопка347».
Назначение: для занесения данных по текущему счету в авансовый отчет (листинг 3.44).
Примечания: * отладить возникновение ошибок и тестировать, тестировать, тестировать.
3) «Кнопка368».
Назначение: для удаления данных по текущему счету из авансового отчета (листинг 3.45).
Примечания: * пользоваться аккуратно.
Форма «ПросмотрДрСчетовSubSub».
а) Поля
1) «Наименование».
Назначение: для ввода и отображения наименования товара в заказе для текущего счета.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
2) «Примечания».
Назначение: для ввода и отображения примечания к товару в заказе для текущего счета.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
3) «НомерДистрибутива» (Рег. номер). ?
Назначение: для ввода и отображения уникального идентификационного номера товара в заказе для текущего счета (если он есть).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
4) «Количество».
Назначение: для ввода и отображения количества единиц товара в заказе для текущего счета (если он есть).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5) «Цена».
Назначение: для ввода и отображения стоимости указанного количества товара (без НДС) в заказе для текущего счета (то есть вводимое значение = цена 1-й ед. товара * кол-во товара).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
6)
«СистемыНаВыписку»
- список.
Назначение:
свободное поле
для отображения
перечня заказов
входящих в
счет-фактуру.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуСчета».
(SELECT DISTINCTROW [НаВыпискуСчета].[Код], [НаВыпискуСчета].[Система], [НаВыпискуСчета].[Количество] FROM [НаВыпискуСчета];)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
7)
«Список63» -
список.
Назначение:
свободное поле
для отображения
заказов входящих
в накладную.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуНакладной».
(SELECT DISTINCTROW НаВыпискуНакладной.Код, НаВыпискуНакладной.Система, НаВыпискуНакладной.[К-во] FROM НаВыпискуНакладной;)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
8)
«Список69» -
список.
Назначение:
свободное поле
для отображения
заказов входящих
в акты (на установку,
информационные
услуги).
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуАктовИПС1».
(SELECT DISTINCTROW НаВыпискуАктовИПС1.Код, НаВыпискуАктовИПС1.Наименование FROM НаВыпискуАктовИПС1;)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
9) «КодСчета» - скрытое поле.
Назначение: главное связующее поле для форм Подчиненная1 и Подчиненная1.1.
Заполнение: автоматически .
Источник записей: аналогичное поле в исходной таблице.
Примечание: не удалять.
г) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка59», «Кнопка60», «Кнопка61», «Кнопка62».
Назначение: для перехода по записям для текущей формы (заказы для данного счета). Реализация с помощью мастера.
Примечания: *
2) «КнопкаНЗ» (Добавить >).
Назначение: занесение информации для данного заказа счета во временную таблицу «НаВыпискуСчета» и «НаВыпискуНакладной» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку» и «Список63») и переход на следующую запись в текущей форме (для ввода в накладную и в счет-фактуру следующего заказа счета). Процедура обработки событий (листинг 3.46).
Примечания: - .
3) «Кнопка68» (Добавить в акт >).
Назначение: занесение информации для данного заказа счета во временную таблицу «НаВыпискуАктов» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «Список69») и переход на следующую запись в текущей форме (для ввода в акт следующего заказа счета). Процедура обработки событий (листинг 3.47).
Примечания: - .
4) «Кнопка70».
Назначение: для удаления выделенной записи в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.48).
Примечания: - .
5) «Кнопка74».
Назначение: для удаления всех записей в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета», обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.49).
Примечания: - .
6) «Кнопка66».
Назначение: для удаления выделенной записи в списке «Список63» из временной таблицы «НаВыпискуНакладной» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «Список63»). Процедура обработки событий (листинг 3.50).
Примечания: - .
7) «Кнопка65».
Назначение: для удаления всех записей в списке «Список63» из временной таблицы «НаВыпискуНакладной» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «Список63»). Процедура обработки событий (листинг 3.51).
Примечания: - .
6) «Кнопка71».
Назначение: для удаления выделенной записи в списке «Список69» из временной таблицы «НаВыпискуАктовИПС1» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «Список69»). Процедура обработки событий (листинг 3.52).
Примечания: - .
6) «Кнопка73».
Назначение: для удаления всех записей в списке «Список69» из временной таблицы «НаВыпискуАктовИПС1» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «Список69»). Процедура обработки событий (листинг 3.53).
Примечания: - .
Форма «ДругиеПлатежки» - ленточная форма.
а) Поля - аналогичны форме «Платежи»
5. Оформление счетов-фактур на сопровождение по авансовым остаткам с 1996 года
Для реализации данного этапа была разработана структура взаимодействия двух форм:
1. «ОформлениеСчетовФактур» - основная
(источник записей таблица «Заказчики»).
2. «ОформСчетовФактурSubSub» - подчиненная1 (к основной)
(источник записей таблица «СчетаФактуры»).
Форма «ОформлениеСчетовФактур».
Данная форма является модификацией формы «ОсновнаяОформлениеСчетов», поэтому в данном разделе описываются расхождения с вышеназванной формой.
а) Поля - аналогичны
б) Группы.
1) «Группа 168» (Организация - Счет-фактура).
Назначение: для перехода между информацией о счете-фактуре и адресными реквизитами для текущей организации. Процедура обработки событий (листинг 3.54)
Примечания: задание свойству «Visible» значения True или False в зависимости от положения переключателя.
в) Кнопки - аналогичны
Форма «ОформлениеСчетовФактур».
а) Поля
1) «КодСистемы».
Назначение: свободное поле для выбора и отображения типа услуг оказываемых организации.
Заполнение: выбор из списка.
Источник записей: список значений.
2) «Код» (Месяц).
Назначение: для выбора и отображения месяца за (по) который оказаны вышеназванные услуги.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
3) «КодДатаСчетаФактуры» (Дата счета-фактуры).
Назначение: для выбора и отображения последнего дня месяца выписываемого счета-фактуры.
Заполнение: выбор из списка.
Источник записей: аналогичное поле в исходной таблице.
4) «НомерСчетаФактуры» (№ счета-фактуры).
Назначение: для ввода и отображения номера выписываемого счета-фактуры (согласно существующей номенклатуре).
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
5) «Количество».
Назначение: для ввода и отображения количества месяцев, на которые оформляется счет-фактура.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
6) «Цена».
Назначение: для ввода и отображения стоимости услуг за вышеуказанное количество месяцев, на которые оформляется счет-фактура.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
7) «НомерПлатежки».
Назначение: для ввода и отображения номера платежного поручения, по которому оплачены вышеуказанные услуги.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
8) «ДатаПлатежки».
Назначение: для ввода и отображения даты платежного поручения, по которому оплачены вышеуказанные услуги.
Заполнение: ввод с клавиатуры.
Источник записей: аналогичное поле в исходной таблице.
9)
«СистемыНаВыписку»
- список.
Назначение:
свободное
список для
отображения
перечня заказов
входящих в
счет-фактуру.
Заполнение: по SQL - запросу.
Источник строк: SQL - запрос по таблице «НаВыпискуСчета».
(SELECT DISTINCTROW [НаВыпискуСчета].[Код], [НаВыпискуСчета].[Система], [НаВыпискуСчета].[Количество] FROM [НаВыпискуСчета];)
Примечание: так как данное поле имеет источник строк SQL - запрос по временной таблице, то отображение изменений для данного поля происходит после обновления данных в форме (DoCmd Refresh).
б) Кнопки. (для кнопок процедуры обработки событий вызываются по событию «Нажатие кнопки»)
1) «Кнопка63» (Добавить новую >- при выписке в счете нового заказа).
Назначение: занесение информации для данного заказа счета-фактуры во временную таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку») и переход на новую запись в текущей форме (для ввода нового счета-фактуры). Процедура обработки событий (листинг 3.55).
Примечания: - .
2) «Кнопка69» (Добавить >).
Назначение: занесение информации для данного заказа счета-фактуры во временную таблицу «НаВыпискуСчета» с проверкой на наличие правильности заполнения критических значений полей, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку») и переход на следующую запись в текущей форме (для ввода или изменения следующего заказа счета-фактуры). Процедура обработки событий (листинг 3.56).
Примечания: - .
3) «Кнопка71», «Кнопка72», «Кнопка73», «Кнопка75».
Назначение: для перехода по записям для текущей формы (счета -фактуры для данной организации). Реализация с помощью мастера.
4) «Кнопка70».
Назначение: для удаления выделенной записи в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета» с проверкой на наличие выделенной записи, обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.57).
Примечания: - .
5) «Кнопка74».
Назначение: для удаления всех записей в списке «СистемыНаВыписку» из временной таблицы «НаВыпискуСчета», обновление содержимого формы, с целью отображения последних изменений (в списке «СистемыНаВыписку»). Процедура обработки событий (листинг 3.58).
Примечания: - .
6. Ввод прейскурантов на сопровождение и на системы.
В соответствии со структурой распределения цен на системы по регионам была разработана структура взаимодействия пяти форм:
1. «Прейскурант» - основная. (свободная форма)
2. «ПрейскурантОС» - подчиненная1 (к основной)
(источник записей таблица «ПрейскурантОС»).
3. «ПрейскурантОП» - подчиненная2 (к основной)
(источник записей таблица «ПрейскурантОП»).
4. «Прейскурант_Север» - подчиненная3 (к основной)
(источник записей таблица «Прейскурант_Север»).
5. «Прейскурант_Россия» - подчиненная4 (к основной)
(источник записей таблица «Прейскурант_Россия»).
Форма «Прейскурант».
а) Кнопки
1) «Кнопка119»(Отдел продаж).
Назначение: для вывода на экран формы Подчиненная1 и скрытия форм Подчиненная2,3,4, замена подписи надписи «Регион» и надписи «Регион1» на ’ Отдел продаж ’. Процедура обработки событий (листинг 3.59).
Примечания: - .
2) «Кнопка117»(Отдел сопровождения).
Назначение: для вывода на экран формы Подчиненная2 и скрытия форм Подчиненная1,3,4, замена подписи надписи «Регион» и надписи «Регион1» на ’ Отдел сопровождения’. Процедура обработки событий (листинг 3.60).
Примечания: - .
3) «Кнопка118»(По России).
Назначение: для вывода на экран формы Подчиненная3 и скрытия форм Подчиненная1,2,4, замена подписи надписи «Регион» и надписи «Регион1» на ’ Исключая Москву и Московскую область’. Процедура обработки событий (листинг 3.61).
Примечания: - .
4) «Кнопка120»( и др.).
Назначение: для вывода на экран формы Подчиненная4 и скрытия форм Подчиненная1,2,3, замена подписи надписи «Регион» и надписи «Регион1» на ’ Для отдаленных и северных районов’. Процедура обработки событий (листинг 3.62).
Примечания: - .
5) «КнопкаВыход».
Назначение: закрытие текущей формы.
Примечания: реализация с помощью мастера.
Формы «ПрейскурантОС», «ПрейскурантОП», «Прейскурант_Север», «Прейскурант_Россия» являются однотипными простыми формами для ввода информации о ценах систем для разных регионов. Все поля в формах имеют источниками данных аналогичные поля в исходных таблицах для форм. Во всех формах присутствуют кнопки для навигации по записям (переход на новую, следующую и предыдущую записи)
В соответствии со структурой распределения цен на сопровождение по регионам и по типам пополнения была разработана структура взаимодействия четырех форм:
1. «ЦенаСистем» - основная. (свободная форма)
2. «ЦенаСистемМосква» - подчиненная1 (к основной)
(источник записей таблица «ЦенаСистемМосква»).
3. «ЦенаСистемРоссия» - подчиненная2 (к основной)
(источник записей таблица «ЦенаСистемРоссия»).
4. «ЦенаСистемСевер» - подчиненная3 (к основной)
(источник записей таблица «ЦенаСистемСевер»).
Форма «Прейскурант».
а) Кнопки
1) «Москва».
Назначение: для вывода на экран формы Подчиненная1 и скрытия форм Подчиненная2,3, замена подписи надписи «Регион» и надписи «Регион1» на ’ Москва и московская область’. Процедура обработки событий (листинг 3.63).
Примечания: - .
2) «Россия».
Назначение: для вывода на экран формы Подчиненная2 и скрытия форм Подчиненная1,3, замена подписи надписи «Регион» и надписи «Регион1» на ’ Исключая Москву и Московскую область’. Процедура обработки событий (листинг 3.64).
Примечания: - .
3) «ИТД»( и др.).
Назначение: для вывода на экран формы Подчиненная3 и скрытия форм Подчиненная1,2, замена подписи надписи «Регион» и надписи «Регион1» на ’ Для отдаленных и северных районов’. Процедура обработки событий (листинг 3.65).
Примечания: - .
4) «КнопкаВыход».
Назначение: закрытие текущей формы.
Примечания: реализация с помощью мастера.
Формы «ЦенаСистемМосква», «ЦенаСистемРоссия», «ЦенаСистемСевер»
являются однотипными простыми формами для ввода информации о сопровождении систем для разных регионов. Все поля в формах имеют источниками данных аналогичные поля в исходных таблицах для форм. Во всех формах присутствуют кнопки для навигации по записям (переход на новую, первую, следующую, предыдущую и последнюю записи)
... на промышленном предприятии, разработать и обосновать комплекс практических мероприятий по совершенствованию системы в краткосрочном периоде. Объект исследования: стратегическое управление инновационными процессами в сфере информационных технологий на ОАО «Смоленский авиационный завод». 1. Сведения о предприятии ОАО «СмАЗ» 1.1 Организационно-управленческая характеристика ...
... 14 664 000руб. 3. Корректировка чистых активов предприятия и определение реальной рыночной стоимости предприятия затратным подходом выявил стоимость предприятия в 7 583 000руб. Глава 3. Разработка системы мониторинга оценки бизнеса промышленного предприятия 3.1 Роль оценщика (фирмы по оценке бизнеса) в системе мониторинга ...
... развития коммерческого предприятия ООО Фирма «РИКА» достаточно обширны. Сегодня данная фирма - несомненный лидер среди подобных себе в республике Хакасия. Рассмотрев процессы автоматизации управления коммерческого предприятия, проведя обзор позиции фирмы на рынке, можно дать следующие рекомендательные выводы: Торговому предприятию ООО Фирма «РИКА» необходимо продолжать осуществлять основную ...
... и дальнейшего использования «Автоматизированной системы агентства недвижимости» на предприятии. 1.4 Постановка цели и подзадач автоматизации. Критерии достижения цели 1.4.1 Экономическая сущность задачи Экономической сущностью задачи автоматизации риэлтерской деятельности агентства недвижимости «Елена» является повышение результативности труда посредством автоматизации ...
0 комментариев