Автор: Пользователь скрыл имя, 10 Июня 2014 в 22:50, дипломная работа
В данном дипломном проекте была решена задача по автоматизации учета основных средств на предприятии ООО "Алеф". В качестве основы для автоматизации был выбран и сконфигурирован под нужды предприятия комплекс УСН 1С Бухгалтерия. Второй частью создания АРМ бухгалтера была разработка отдельного программного блока для формирования унифицированных форм учета основных средств предприятия. Программный блок был разработан в СУБД MS Access, что позволяет автономно быстро и легко формировать унифицированные формы документов. Основными плюсами разработанного модуля является его относительная автономность, низкая экономическая затратность, легкость с точки зрения технологической установки, а также широкие возможности по дальнейшему усовершенствованию. Проведена предварительная работа по подбору технических средств реализации блока, проанализирована и доказана его экономическая окупаемость. Продумана дальнейшая оптимизация бухгалтерского документооборота и учета на предприятии "Алеф" - добавление полной его интеграции с экспортными данными из программного комплекса УСН 1С Бухгалтерии 7.7.
РЕФЕРАТ
ВВЕДЕНИЕ
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ. КРАТКОЕ ОПИСАНИЕ КОМПАНИИ ООО "АЛЕФ", АНАЛИЗ АДМИНИСТРАТИВНОЙ И ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ
1.1.1 ОРГАНИЗАЦИОННАЯ СТРУКТУРА ОБЪЕКТА УПРАВЛЕНИЯ
1.1.2 ФУНКЦИОНАЛЬНАЯ ХАРАКТЕРИСТИКА ОБЪЕКТА УПРАВЛЕНИЯ
1.1.3 ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
1.2 ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ КОМПЛЕКСА ЭКОНОМИЧЕСКИХ ИНФОРМАЦИОННЫХ ЗАДАЧ. РЕАЛИЗАЦИЯ ЭКОНОМИЧЕСКОЙ МОДЕЛИ ПРЕДПРИЯТИЯ С ПОМОЩЬЮ УЧЕТНОЙ СИСТЕМЫ 1С УCН
1.2.1 ОБЩИЕ СВЕДЕНИЯ О ЗАДАЧАХ. ОПИСАНИЕ ИМЕЮЩЕЙСЯ УЧЕТНОЙ СХЕМЫ ПРЕДПРИЯТИЯ В РАМКАХ УСН 1С
1.2.2 ОБОСНОВАНИЕ ВЫБОРА ЗАДАЧ, ВХОДЯЩИХ В КОМПЛЕКС. ПРЕИМУЩЕСТВА ОСНОВНОЙ УЧЕТНОЙ СИСТЕМЫ 1С УСН, А ТАКЖЕ НЕДОСТАЮЩИЕ ЗВЕНЬЯ АВТОМАТИЗИРОВАННОГО УЧЕТА
1.2.3 СПОСОБЫ РЕШЕНИЯ ЗАДАЧИ. ОБЩАЯ МОДЕЛЬ ПОДБОРА РЕШЕНИЯ
1.3 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО АВТОМАТИЗИРОВАННОМУ РЕШЕНИЮ ЭКОНОМИКО-ИНФОРМАЦИОННЫХ ЗАДАЧ. ОСНОВНЫЕ МОМЕНТЫ АВТОМАТИЗАЦИИ УЧЕТА ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ. РЕШЕНИЕ НАШИХ ЗАДАЧ С ТОЧКИ ЗРЕНИЯ АВТОМАТИЗАЦИИ УЧЕТА НА ПРЕДПРИЯТИИ
1.3.1 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО ИНФОРМАЦИОННОМУ ОБЕСПЕЧЕНИЮ КОМПЛЕКСА ЗАДАЧ. ПОДБОР ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ ДЛЯ БЛОКА РАБОТЫ С УНИФИЦИРОВАННЫМИ ФОРМАМИ
1.3.2 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО ТЕХНОЛОГИИ СБОРА, ПЕРЕДАЧИ, ОБРАБОТКИ И ВЫДАЧИ ИНФОРМАЦИИ. РЕАЛИЗАЦИЯ НЕДОСТАЮЩЕГО В УСН БЛОКА РАБОТЫ С УНИФИЦИРОВАННЫМИ ФОРМАМИ
1.3.3 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ КОМПЛЕКСА ЗАДАЧ
1.3.4 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И СОЗДАНИЯ АРМ ДЛЯ РЕШЕНИЯ ДАННОГО КОМПЛЕКСА ЗАДАЧ
2. ПРОЕКТНАЯ ЧАСТЬ
2.1 ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА ЗАДАЧ
2.1.1 ИНФОЛОГИЧЕСКАЯ (ИНФОРМАЦИОННАЯ) МОДЕЛЬ (СХЕМА ДАННЫХ) И ЕЕ ОПИСАНИЕ
2.1.2 ИСПОЛЬЗУЕМЫЕ КЛАССИФИКАТОРЫ И СИСТЕМЫ КОДИРОВАНИЯ
2.1.3 ХАРАКТЕРИСТИКА ВХОДНОЙ ИНФОРМАЦИИ
2.1.4 НОРМАТИВНО-СПРАВОЧНАЯ ИНФОРМАЦИЯ
2.1.5 ХАРАКТЕРИСТИКА РЕЗУЛЬТАТНОЙ ИНФОРМАЦИИ
2.2 ВНУТРИМАШИННАЯ РЕАЛИЗАЦИЯ КОМПЛЕКСА ЗАДАЧ
2.2.1 ФОРМАЛИЗАЦИЯ РАСЧЕТОВ (АЛГОРИТМЫ РАСЧЕТА И РЕШЕНИЯ ЗАДАЧ)
2.2.2 СТРУКТУРНАЯ СХЕМА ИСПОЛЬЗОВАНИЯ КОМПЛЕКСА ПРОГРАММ (ДЕРЕВО ДИАЛОГА). ВЗАИМОДЕЙСТВИЕ УСН С БЛОКОМ ФОРМИРОВАНИЯ УНИФИЦИРОВАННЫХ ФОРМ
2.2.3 ОПИСАНИЕ ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ.
2.3.1 ОРГАНИЗАЦИЯ ТЕХНОЛОГИИ СБОРА, ПЕРЕДАЧИ, ОБРАБОТКИ И ВЫДАЧИ ИНФОРМАЦИИ
2.3.2 СХЕМА ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА СБОРА, ПЕРЕДАЧИ, ОБРАБОТКИ И ВЫДАЧИ ИНФОРМАЦИИ
2.4 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА ЗАДАЧ
2.4.1 ОБЩИЕ ПОЛОЖЕНИЯ
2.4.2 СТРУКТУРНАЯ СХЕМА ПАКЕТА (ДЕРЕВО ВЫЗОВА ПРОЦЕДУР И ПРОГРАММ). ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ
2.5 СХЕМА ВЗАИМОСВЯЗИ ПРОГРАММНЫХ МОДУЛЕЙ И ИНФОРМАЦИОННЫХ ФАЙЛОВ
2.6 ВЫБОР И ОБОСНОВАНИЕ ТЕХНИЧЕСКИХ СРЕДСТВ
2.7 ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Т1!,, Т2И - трудоемкость обработки информации ручным способом, ч.
α - коэффициент, учитывающий дополнительную трудоемкость по обработке информации на вспомогательные операции (а = 2,0...3,0)
г - часовая тарифная ставка управленческих работников, руб.;
О - коэффициент, определяющий размер дополнительной заработной платы с учетом отчислений на социальные нужды (0,5).
R - коэффициент определяющий характер накладных расходов (0,4);
3i = 31y-32y (2.12)
31y = T1H* α *r (l + O + R); (2.13)
32y = T2H* α *r (l + O + R); (2.14)
31у = 3000 * 2,6 * 6 (1 + 0,5 + 0,4) = 88920 руб.
32У = 2800 * 2 * 6 (1 + 0,5 + 0,4) = 63 840 руб.
Эi = 85 500 - 68 400 = 22800 руб.
Затраты, связанные с работой аппаратных средств могут быть рассчитаны по формуле:
Зтек = Змв = См-ч * tкса (2.15)
где См-ч - себестоимость часа работы комплекса технических средств (КСА), руб. /ч
tкса - время использования КСА в год, ч.
Следовательно, 3тек = 10,5 * 240 = 2520 руб.
Таким образом годовая экономия от внедрения системы составляет:
П = 22800 - 2520 = 20280 руб.
Экономическая эффективность капитальных вложений.
В соответствии со стандартами, значение Ен принимается равным 0,15 для всех отраслей народного хозяйства. Коэффициент эффективности капитальных вложений представляет собой минимальную норму эффективности капитальных вложений, ниже которой они нецелесообразны.
На основании рассчитанных показателей по формуле (2.1) годовой экономический эффект составляет:
Э = 20280 - 18078 *0,15= 17568,3 руб.
По формуле (30) определим расчетный коэффициент экономической эффективности капитальных затрат:
Ер=20280/18078 = 1,12
По формуле (31) определим срок окупаемости:
Т = 18078/20280= 0,89 ≈ 10,68 месяца
Срок возврата капитальных вложений составляет около 11 месяцев, что является допустимым. Интегральный эффект положительный. Значит, атраты по внедрению системы на предприятии эффективны.
Отдельно эффективность разработанного блока можно оценить из соображений вложений в приобретение новой версии основного учетного комплекса 1С Бухгалтерии, ее настройки, времени сотрудников на ее освоение, программную поддержку на первом этапе.
В данном дипломном проекте были успешно достигнуты следующие цели:
разработана схема автоматизированного учета основных средств предприятия в целом, подобран и настроен готовый комплекс ПО УСН 1С Бухгалтерии под нужды предприятия
разработана схема дополнительного блока, предназначенного для формирования унифицированных форм по учету основных средств, входящих в систему обязательного учета
реализован данный программный блок "с нуля" в среде СУБД MS Access - интерфейсная часть, хранение и обработка данных, разработаны необходимые шаблоны исходящих документов
спланирована удобная работа с разработанным блоком, обеспечение рабочего места бухгалтера данным ПО, обдуман механизм первичной информационной защиты, проанализированы возможности расширения данного продукта и прямой интеграции с основным учетным комплексом 1С Бухгалтерии УСН.
проведено экономическое обоснование разработанной учетной схемы, доказана ее окупаемость.
Основными плюсами разработанного модуля является его относительная автономность, низкая экономическая затратность, легкость с точки зрения технологической установки, а также широкие возможности по дальнейшему усовершенствованию.
Код модуля Inv
Option Compare Database
Option Explicit
Private Const NomerForm As Long = 8
Private Const cFirmName As Byte = 1
Private Const rFirmName As Integer = 6
Private Const cFirmOKPO As Byte = 89
Private Const rFirmOKPO As Integer = 6
Private Const cStruct As Byte = 1
Private Const rStruct As Integer = 8
Private Const cNomer As Byte = 69
Private Const rNomer As Integer = 18
Private Const cDat As Byte = 81
Private Const rDat As Integer = 18
Private Const cOsn As Byte = 28
Private Const rOsn As Integer = 11
Private Const cOsnNomer As Byte = 89
Private Const rOsnNomer As Integer = 11
Private Const cOsnDate As Byte = 89
Private Const rOsnDate As Integer = 12
Private Const cDate1 As Byte = 89
Private Const rDate1 As Integer = 13
Private Const cDate2 As Byte = 89
Private Const rDate2 As Integer = 14
Private Const cMest As Byte = 13
Private Const rMest As Integer = 24
Private Const cMatDolzhn1 As Byte = 38
Private Const rMatDolzhn1 As Integer = 32
Private Const cMatDolzhn2 As Byte = 38
Private Const rMatDolzhn2 As Integer = 34
Private Const cMatDolzhn3 As Byte = 38
Private Const rMatDolzhn3 As Integer = 36
Private Const cMatName1 As Byte = 79
Private Const rMatName1 As Integer = 32
Private Const cMatName2 As Byte = 79
Private Const rMatName2 As Integer = 34
Private Const cMatName3 As Byte = 79
Private Const rMatName3 As Integer = 36
Private Const ciKol As Byte = 72
Private Const riKol As Integer = 28
Private Const ciStoim As Byte = 79
Private Const riStoim As Integer = 28
Private Const rSh1_1 As Integer = 10
Private Const rSh1_2 As Integer = 27
Private Const cNom As Byte = 1
Private Const cTovar As Byte = 6
Private Const cInv As Byte = 51
Private Const cDoc As Byte = 26
Private Const cDocDate As Byte = 32
Private Const cDocNomer As Byte = 38
Private Const cYear As Byte = 44
Private Const cZav As Byte = 58
Private Const cPasp As Byte = 65
Private Const cKol As Byte = 72
Private Const cSum As Byte = 79
Private Const ciKolNomProp As Byte = 27
Private Const riKolNomProp As Integer = 30
Private Const ciKolProp As Byte = 30
Private Const riKolProp As Integer = 32
Private Const ciSumProp As Byte = 20
Private Const riSumProp As Integer = 34
Private Const ciSumKopProp As Byte = 91
Private Const riSumKopProp As Integer = 36
Private Const ciKolNomProp2 As Byte = 27
Private Const riKolNomProp2 As Integer = 3
Private Const ciKolProp2 As Byte = 30
Private Const riKolProp2 As Integer = 5
Private Const ciSumProp2 As Byte = 20
Private Const riSumProp2 As Integer = 7
Private Const ciSumKopProp2 As Byte = 91
Private Const riSumKopProp2 As Integer = 9
Private Const cPredsDolzh As Byte = 19
Private Const rPredsDolzh As Integer = 13
Private Const cChl1Dolzh As Byte = 19
Private Const rChl1Dolzh As Integer = 15
Private Const cChl2Dolzh As Byte = 19
Private Const rChl2Dolzh As Integer = 17
Private Const cChl3Dolzh As Byte = 19
Private Const rChl3Dolzh As Integer = 19
Private Const cPredsName As Byte = 60
Private Const rPredsName As Integer = 13
Private Const cChl1Name As Byte = 60
Private Const rChl1Name As Integer = 15
Private Const cChl2Name As Byte = 60
Private Const rChl2Name As Integer = 17
Private Const cChl3Name As Byte = 60
Private Const rChl3Name As Integer = 19
Private Const c2MatDolzhn1 As Byte = 42
Private Const r2MatDolzhn1 As Integer = 26
Private Const c2MatDolzhn2 As Byte = 42
Private Const r2MatDolzhn2 As Integer = 28
Private Const c2MatDolzhn3 As Byte = 42
Private Const r2MatDolzhn3 As Integer = 30
Private Const c2MatName1 As Byte = 79
Private Const r2MatName1 As Integer = 26
Private Const c2MatName2 As Byte = 79
Private Const r2MatName2 As Integer = 28
Private Const c2MatName3 As Byte = 79
Private Const r2MatName3 As Integer = 30
Private Const cDatPodpDay As Byte = 43
Private Const rDatPodpDay As Integer = 33
Private Const cDatPodpMon As Byte = 47
Private Const rDatPodpMon As Integer = 33
Private Const cDatPodpYear As Byte = 63
Private Const rDatPodpYear As Integer = 33
Private Const cDatProvDay As Byte = 41
Private Const rDatProvDay As Integer = 38
Private Const cDatProvMon As Byte = 45
Private Const rDatProvMon As Integer = 38
Private Const cDatProvYear As Byte = 61
Private Const rDatProvYear As Integer = 38
Sub PrintFormInv (ByVal nomer As Long)
Dim db As Database, Rec As DAO. Recordset, RecList As DAO. Recordset
Dim oApp As Object
Dim StrFormName As String
Dim StrFile As String, s_folder As String, StrPath As String
Dim StrGlBuch As String
Dim StrFirmName As String, StrFirmOKPO As String, StrFirmAddr As String, StrFirmReq As String, StrStruct As String
Dim NomerVnutr As String, StrDate As Date
Dim StrOsn As String, StrDateOsn As Date, StrNomerOsn As String
Dim StrMest As String
Dim StrDate1 As Date, StrDate2 As Date
Dim StrMatDolzhn1 As String, StrMatDolzhn2 As String, StrMatDolzhn3 As String
Dim StrMatName1 As String, StrMatName2 As String, StrMatName3 As String
Dim StrPredsName As String, StrPredsDolzh As String
Dim StrChl1Name As String, StrChl1Dolzh As String
Dim StrChl2Name As String, StrChl2Dolzh As String
Dim StrChl3Name As String, StrChl3Dolzh As String
Dim StrProvName As String, StrProvDolzh As String
Dim StrDatePodp As Date, StrDateProv As Date
Dim StrItog As Double, StrItogKol As Long
Dim s_Sum As Double, s_Kol As Long
Dim i As Long, NRecord As Long, p As Long
Dim StrMonthPodp As String, StrMonthProv As String
On Error GoTo LblErr
If nomer = 0 Then Exit Sub
s_folder = CurrentProject. Path
If Right$ (s_folder,
1) <> "\" Then s_folder = s_folder + "\"
s_folder = s_folder + "blanks\"
If Len (Dir$ (s_folder, vbDirectory)) = 0 Then
MsgBox "Путь к папке с бланками " & s_folder & " не обнаружен!", vbCritical + vbOKOnly
Exit Sub
End If
Set db = CurrentDb
Set Rec = db. OpenRecordset ("select * from Формы where НомерФорма = " & NomerForm, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFormName = Rec. Fields ("Наименование"). Value
StrFile = Rec. Fields ("Файл"). Value
Else
Set Rec = Nothing
MsgBox "Нет информации о форме №" & NomerForm & "!", vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
StrPath = s_folder + StrFile
If Len (Dir$ (StrPath)) = 0 Then
MsgBox "Файл бланка формы '" & StrFormName & "' " & StrPath & " не обнаружен!", vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = db. OpenRecordset ("SELECT * FROM Параметры", dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrFirmName = Nz (Rec. Fields ("НаименованиеФирмы"). Value, "")
StrFirmOKPO = Nz (Rec. Fields ("ОКПО"). Value, "")
Else
MsgBox "Общие параметры фирмы не занесены!", vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset ("select * from запрос_Инвентаризации where НомерИнв = " & nomer, dbOpenSnapshot)
If Rec. RecordCount > 0 Then
NomerVnutr = Nz (Rec. Fields ("НомерВнутр"). Value, nomer)
StrDate = Nz (Rec. Fields ("ДатаИнв"). Value, Date)
StrOsn = Nz (Rec. Fields ("Основание"). Value, "")
StrDateOsn = Nz (Rec. Fields ("ДатаОсн"). Value, Date)
StrNomerOsn = Nz (Rec. Fields ("НомерОсн"). Value, "")
StrMest = Nz (Rec. Fields ("Местонахождение"). Value, "")
StrStruct = Nz (Rec. Fields ("СтруктурноеПодразделение"). Value, "")
StrDate1 = Nz (Rec. Fields ("ДатаНачала"). Value, Date)
StrDate2 = Nz (Rec. Fields ("ДатаКонца"). Value, Date)
StrMatDolzhn1 = Nz (Rec. Fields ("mat_dolzhn1"). Value, "")
StrMatDolzhn2 = Nz (Rec. Fields ("mat_dolzhn2"). Value, "")
StrMatDolzhn3 = Nz (Rec. Fields ("mat_dolzhn3"). Value, "")
StrMatName1 = Nz (Rec. Fields ("mat_Name1"). Value, "")
StrMatName2 = Nz (Rec. Fields ("mat_Name2"). Value, "")
StrMatName3 = Nz (Rec. Fields ("mat_Name3"). Value, "")
StrPredsName = Nz (Rec. Fields ("preds_name"). Value, "")
StrPredsDolzh = Nz (Rec. Fields ("preds_dolzhn"). Value, "")
StrChl1Name = Nz (Rec. Fields ("chl1_name"). Value, "")
StrChl1Dolzh = Nz (Rec. Fields ("chl1_dolzhn"). Value, "")
StrChl2Name = Nz (Rec. Fields ("chl2_name"). Value, "")
StrChl2Dolzh = Nz (Rec. Fields ("chl2_dolzhn"). Value, "")
StrChl3Name = Nz (Rec. Fields ("chl3_name"). Value, "")
StrChl3Dolzh = Nz (Rec. Fields ("chl3_dolzhn"). Value, "")
StrProvName = Nz (Rec. Fields ("prov_name"). Value, "")
StrProvDolzh = Nz (Rec. Fields ("prov_dolzhn"). Value, "")
StrDatePodp = Nz (Rec. Fields ("ДатаПодписи"). Value, Date)
StrDateProv = Nz (Rec. Fields ("ДатаПроверки"). Value, Date)
Else
MsgBox "Инв. опись ОС №" & nomer & " не найдена!", vbCritical + vbOKOnly
Exit Sub
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset ("select * from ВспомДата where НомерМес = " & Month (StrDatePodp), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthPodp = Nz (Rec. Fields ("НазвМес"). Value, "")
Else
StrMonthPodp = "нет названия"
End If
Set Rec = Nothing
Set Rec = db. OpenRecordset ("select * from ВспомДата where НомерМес = " & Month (StrDateProv), dbOpenSnapshot)
If Rec. RecordCount > 0 Then
StrMonthProv = Nz (Rec. Fields ("НазвМес"). Value, "")
Else
StrMonthProv = "нет названия"
End If
Set Rec = Nothing
Set oApp = CreateObject ("Excel. Application")
oApp. Workbooks. Open FileName: =StrPath, ReadOnly: =True
oApp. ActiveWorkbook. Sheets (1). Select
oApp. Cells (rFirmName, cFirmName). Value = StrFirmName
oApp. Cells (rFirmOKPO, cFirmOKPO). Value = StrFirmOKPO
oApp. Cells (rStruct, cStruct). Value = StrStruct
oApp. Cells (rOsn, cOsn). Value = StrOsn
oApp. Cells (rOsnDate, cOsnDate). Value = StrDateOsn
oApp. Cells (rOsnNomer, cOsnNomer). Value = StrNomerOsn
oApp. Cells (rDate1, cDate1). Value = Format$ (StrDate1, "dd. mm. yyyy")
oApp. Cells (rDate2, cDate2). Value = Format$ (StrDate2, "dd. mm. yyyy")
oApp. Cells (rMest, cMest). Value = StrMest
oApp. Cells (rMatDolzhn1, cMatDolzhn1). Value = StrMatDolzhn1
oApp. Cells (rMatDolzhn2, cMatDolzhn2). Value = StrMatDolzhn2
oApp. Cells (rMatDolzhn3, cMatDolzhn3). Value = StrMatDolzhn3
oApp. Cells (rMatName1, cMatName1). Value = StrMatName1
oApp. Cells (rMatName2, cMatName2). Value = StrMatName2
oApp. Cells (rMatName3, cMatName3). Value = StrMatName3
oApp. ActiveWorkbook. Sheets (2). Select
Application. SysCmd acSysCmdInitMeter, "Вывод информации о товарах", 100
StrItog = 0
StrItogKol = 0
Set RecList = db. OpenRecordset ("select * from запрос_ИнвентаризацииТовары where НомерИнв = " & nomer, dbOpenSnapshot)
NRecord = RecList. RecordCount
If NRecord > 0 Then
RecList. MoveLast
NRecord = RecList. RecordCount
RecList. MoveFirst
i = 0
p = rSh1_1 - 1
While Not RecList. EOF
i = i + 1
p = p + 1
Application. SysCmd acSysCmdUpdateMeter, i / NRecord * 100
If p > rSh1_2 Then GoTo lbl_ex
s_Sum = Nz (RecList. Fields ("Сумма"). Value, 0)
s_Kol = Nz (RecList. Fields ("Количество"). Value, 0)
oApp. Cells (p, cNom). Value = i
oApp. Cells (p, cTovar). Value = Nz (RecList. Fields ("Товар"). Value, "")
oApp. Cells (p, cDoc). Value = Nz (RecList. Fields ("ОснованиеПринятия"). Value, "")
oApp. Cells (p, cDocDate). Value = Format$ (Nz (RecList. Fields ("ДокДатаПринятия"). Value, Date), "dd. mm. yyyy")
oApp. Cells (p, cDocNomer). Value = Nz (RecList. Fields ("ДокНомерПринятия"). Value, "")
oApp. Cells (p, cYear). Value = Nz (RecList. Fields ("ГодВыпуска"). Value, Year (Date))
oApp. Cells (p, cInv). Value = Nz (RecList. Fields ("ИнвКод"). Value, "")
oApp. Cells (p, cPasp). Value = Nz (RecList. Fields ("НомерПоПаспорту"). Value, "")
oApp. Cells (p, cZav). Value = Nz (RecList. Fields ("НомерЗавод"). Value, "")
oApp. Cells (p, cKol). Value = s_Kol
oApp. Cells (p, cSum). Value = Format$ (s_Sum, "0.00")
StrItogKol = StrItogKol + s_Kol
StrItog = StrItog + s_Sum
RecList. MoveNext
Wend
Else
MsgBox "Для описи №" & nomer & " нет перечня товаров!", vbCritical + vbOKOnly
Exit Sub
End If
lbl_ex:
Set RecList = Nothing
oApp. Cells (riKol, ciKol). Value = StrItogKol
oApp. Cells (riStoim, ciStoim). Value = StrItog
oApp. Cells (riKolNomProp, ciKolNomProp). Value = translateNumber (i)
oApp. Cells (riKolProp, ciKolProp). Value = translateNumber (StrItogKol)
oApp. Cells (riSumProp, ciSumProp). Value = translateNumber (Int (StrItog))
oApp. Cells (riSumKopProp, ciSumKopProp). Value = Format$ (Int ( (StrItog - Int (StrItog)) * 100 + 0.5), "00")