Результаты входного контроля поступивших ресурсов |
Порядок настройки пресета
С помощью команды "Создать новый пресет" создайте пресет "Результаты входного контроля поступивших ресурсов". На вкладке "Строки" формы "Настройка пресетов" настройте стоки Группа ресурсов -> Ресурс. Рис. 2009 Сохраните настройки пресета. Подробно о настройке строк смотри раздел "Вкладка "Строки" формы "Настройка пресетов" или раздел "Настройка пресета в форме "Настройка пресетов". Сохраните настройки пресета. Добавьте строку "Поступление ресурса" и настройте фильтр как показано на рис. 2010 Рис. 2010 Для отображения итоговых сумм фактического поступления необходимо в строке "Ресурс". выбрать язык написания скрипта в строке "Ресурс" как показано на рис. 2011. Написание скрипта проводится после установки настройки всех строк и колонок. Рис. 2011 в разделе "Содержимое скрипта" напишите скрипт следующего содержания
Imports System Imports System.Text Imports System.Data Imports System.Drawing Imports System.Xml Imports System.Collections Imports System.Collections.Generic Imports System.ComponentModel Imports System.Reflection Imports System.IO Imports System.Text.RegularExpressions Imports System.Windows.Forms Imports Microsoft.VisualBasic Imports CommonLibrary
Namespace SFExpressionEvaluator
Public Class CSFScript4TreeViewManagerData
'SFScriptExecuteTester - функция тестирования скрипта SFScriptExecute() Public Function SFScriptExecuteTester() As DataTable 'Файл sf_table4script.xml можно получить при экспорте таблицы для написания скриптов Dim dtMain As New DataTable dtMain.ReadXml(Application.StartupPath & "\sf_table4script.xml")
'Замените FillObject на соответствующее обозначение колонки для которой Вы пишете скрипт. Dim sCurrentColumn As String = "FillObject" Dim pCurrentColumn As DataColumn = dtMain.Columns.Item(sCurrentColumn)
For Each pCurrentRow As DataRow In dtMain.Rows Me.SFScriptExecute(dtMain, pCurrentRow, pCurrentColumn) Next
Return dtMain End Function
'SFScriptExecute - скрипт, который вызывается программой Стройформ для каждой строки таблицы и указанной колонки Public Function SFScriptExecute(ByRef dtMain As DataTable, ByRef pCurrentRow As DataRow, ByRef pCurrentColumn As DataColumn) As Object ' Замените ниже расположенные строки на аналогичные строки, полученные при написании скриптов.
Dim ID As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("ID")) ' ID строки Dim ParentID As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("ParentID")) ' ID родительской строки Dim CurrentObjectID As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("CurrentObjectID")) ' ID записи в базе данных Dim iObjectType As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("iObjectType")) ' Тип записи Dim IDBCODestRow As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("IDBCODestRow")) ' ID строки в базе данных равный уникальному ID строки из пресета Dim IDDimension As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("IDDimension")) ' Единица измерения объема/количества Dim MaterialEntity_iVolumeSmeta As Decimal = CommonLibrary.SF.Convert.ToDecimal(pCurrentRow("MaterialEntity_iVolumeSmeta")) ' Объем/количество поступления
Select Case iObjectType Case eObjectType.tMaterial Dim pDT As DataTable = dtMain.Clone GetChildRowsClone(dtMain, ID, pDT, eObjectType.tMaterialEntity)
Dim Summa4_MaterialEntity_iVolumeSmeta As Decimal = 0
For Each row As DataRow In pDT.Rows Dim iVolumePostuplenie As Decimal = CommonLibrary.SF.Convert.ToDecimal(row("MaterialEntity_iVolumeSmeta")) ' Объем/количество расхода Summa4_MaterialEntity_iVolumeSmeta += iVolumePostuplenie Next
pCurrentRow("MaterialEntity_iVolumeSmeta") = Summa4_MaterialEntity_iVolumeSmeta End Select
Return Nothing End Function
Private Sub GetChildRowsClone(ByRef dtMain As DataTable, ByVal ParentID As Long, ByRef pDT As DataTable, ByVal iDestObjectType As eObjectType) For Each row As DataRow In dtMain.Select(" [ParentID] = " & ParentID) Dim iObjectType As Long = CommonLibrary.SF.Convert.ToLong(row("iObjectType")) ' Тип записи
If iObjectType = iDestObjectType Then pDT.ImportRow(row) End If
GetChildRowsClone(dtMain, SF.Convert.ToLong(row("ID")), pDT, iDestObjectType) Next End Sub
End Class End Namespace
Сохраните изменения в пресете. Подробно о написании скрипта смотри раздел "Написание скриптов при настройке пресета". ВНИМАНИЕ! Указанный скрипт написан на языке Microsoft Visual Basic
Создана структура данных с указанием типов строк и родительских связей для вложенных записей для основной колонки создаваемой нами таблицы. Далее необходимо указать параметры выбранных нами типов данных (атрибуты). Параметры материалов, поступление и расход отображаются в колонках. На вкладке "Колонки" формы "Настройка пресетов" настройте колонки
Рис. 2012 Сохраните изменения в пресете. Подробно о настройке колонок смотри раздел "Вкладка "Колонки" формы "Настройка пресетов" или в разделе "Настройка пресета в форме "Настройка пресетов". Добавьте связующий строку и колонку вид данных "Несоответствие" и настройте как показано на рис. 2013 Рис. 2013 Сохраните изменения в пресете. Добавьте колонку для вывода информации по несоответствию и переименуйте её в "Несоответствия ресурса", как показано на рис.. 2014 Рис. 2014 Сохраните изменения в пресете. Добавьте связующий строку и колонку вид данных "Документ" и настройте как показано на рис. 2015 Рис. 2015 Добавьте связующий строку и колонку вид данных "Несоответствия" к связующему строку и колонку виду данных "Документ", переименуйте ее в "несоответствие документа" и настройте как показано на рис. 2016 Рис. 2016 Сохраните изменения в пресете. Добавьте колонку для вывода информации по несоответствию документа. Рис. 2017 Настройте фильтры по фактическому поступлению ресурса как показано на рис. 2018 Рис. 2018 Сохраните изменения в пресете. Подробно о настройке фильтров смотри раздел "Вкладка "Фильтры" формы "Настройка пресетов" или в разделе "Настройка пресета в форме "Настройка пресетов" Настройте фильтры по текущему ресурсу как показано на рис. 2019 Рис. 2019 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Сертификат качества на материал" как показано на рис. 2020 Рис. 2020 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Сертификат соответствия продукции" как показано на рис. 2021 Рис. 2021 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Документ о качестве на материал" как показано на рис. 2022 Рис. 2022 Сохраните изменения в пресете. Для отображения всего текста записи в строке во вкладке "Оформление" формы "Настройка пресетов" включите флаг "Автоподбор высоты строк" Рис. 2023 Сохраните изменения в пресете. Форма "Управление данными" при наличии в базе данных соответствующей информации примет следующий вид. Рис. 2024 Созданный пресет позволяет собирать информацию о результатах входного контроля поступивших ресурсов, а также является основой для создания для создания пресета "Перечень ресурсов не прошедших входной контроль", который получается из текущего добавлением фильтра по статусу ресурса "не прошел ВК"
Для полного понимания процесса создания пресета рекомендуем ознакомится со всеми описаниями создания пресетов в разделе: - Группа пресетов "Управление проектной документацией" - Конфигурация АС "Стройформ": Управление проектом - Графики (отчеты) проверок органов ГСН - Графики проверок в системе качества
|
Руководство пользователя версия 7.4.2013.51, скачать в формате HelpFile.chm, HelpFile.pdf, HelpFile.doc При полном или частичном использовании материалов сайта, ссылка на сайты www.stroyform.ru и www.stroyform.su обязательна support@stroyform.ru. |