Отчет по общему количеству несоответствий ресурсов |
Порядок настройки пресета
С помощью команды "Создать новый пресет" создайте пресет "Отчет по общему количеству несоответствий ресурсов". На вкладке "Строки" формы "Настройка пресетов" настройте стоки Группа ресурсов -> Ресурс. Рис. 2160 Сохраните настройки пресета. Подробно о настройке строк смотри раздел "Вкладка "Строки" формы "Настройка пресетов" или раздел "Настройка пресета в форме "Настройка пресетов". Сохраните настройки пресета. Добавьте строку "Поступление ресурса" и настройте фильтр как показано на рис. 2161 Рис. 2161 Для отображения итоговых сумм фактического поступления необходимо в строке "Ресурс". выбрать язык написания скрипта в строке "Ресурс" как показано на рис. 2162. Написание скрипта проводится после установки настройки всех строк и колонок. Рис. 2162 в разделе "Содержимое скрипта" напишите скрипт следующего содержания
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
Создана структура данных с указанием типов строк и родительских связей для вложенных записей для основной колонки создаваемой нами таблицы. Далее необходимо указать параметры выбранных нами типов данных (атрибуты). Параметры материалов, поступление и расход отображаются в колонках. На вкладке "Колонки" формы "Настройка пресетов" настройте колонки
Рис. 2163 Сохраните изменения в пресете. Подробно о настройке колонок смотри раздел "Вкладка "Колонки" формы "Настройка пресетов" или в разделе "Настройка пресета в форме "Настройка пресетов". Добавьте связующий строку и колонку вид данных "Несоответствия" и настройте как показано на рис. 2164 Рис. 2164 Сохраните изменения в пресете. Добавьте колонку для вывода информации по несоответствию ресурса.
Рис. 2165 Добавьте связующий строку и колонку вид данных "Документ" и настройте как показано на рис. 2166 Рис. 2166 Добавьте связующий строку и колонку вид данных "Несоответствия" к связующему строку и колонку виду данных "Документ", переименуйте ее в "Несоответствие документа" и настройте как показано на рис. 2167 Рис. 2167 Сохраните изменения в пресете. Добавьте колонку для вывода информации по несоответствию документа.
Рис. 2168 Сохраните изменения в пресете. Добавьте связующий строку и колонку вид данных "Организация" и настройте как показано на рис. 2169 Рис. 2169 Сохраните изменения в пресете. Добавьте колонку для вывода информации по поставщику ресурса Рис. 2170 Сохраните изменения в пресете. Для суммирования несоответствий самих ресурсов и документов ресурсов добавьте вычисляемую колонку и выберите язык программирования. Рис. 2171 Сохраните изменения в пресете. В разделе "Содержимое скрипта" вычисляемой колонки "Новая колонка" напишите скрипт следующего содержания
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 NumberOfRecords__33 As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("NumberOfRecords__33")) ' Количество несоответствий ресурса Dim NumberOfRecords__34 As Long = CommonLibrary.SF.Convert.ToLong(pCurrentRow("NumberOfRecords__34")) ' Количество несоответствий документа ресурсов Dim CustomCol__32 As String = CommonLibrary.SF.Convert.ToString(pCurrentRow("CustomCol__32")) ' Новая колонка
pCurrentRow("CustomCol__32") = NumberOfRecords__33 + NumberOfRecords__34
Return pCurrentRow(pCurrentColumn) End Function End Class End Namespace
Сохраните изменения в пресете. Подробно о написании скрипта смотри раздел "Написание скриптов при настройке пресета". ВНИМАНИЕ! Указанный скрипт написан на языке Microsoft Visual Basic
Сохраните изменения в пресете. Настройте фильтры по фактическому поступлению ресурса как показано на рис. 2172 Рис. 2172 Сохраните изменения в пресете. Подробно о настройке фильтров смотри раздел "Вкладка "Фильтры" формы "Настройка пресетов" или в разделе "Настройка пресета в форме "Настройка пресетов" Настройте фильтры по текущему ресурсу как показано на рис. 2173 Рис. 2173 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Сертификат качества на материал" как показано на рис. 2174 Рис. 2174 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Сертификат соответствия продукции" как показано на рис. 2175 Рс. 2175 Сохраните изменения в пресете. Настройте фильтры по виду и типу документа "Документ о качестве на материал" как показано на рис. 2176 Рис. 2176 Сохраните изменения в пресете. Для фильтрации поступлений ресурсов не прошедших входной контроль во вкладке "Фильтры" выберите фильтр "Не прошел ВК" поступления ресурса как показано на рис. 2177 Рис. 2177 Сохраните изменения в пресете. Для отображения всего текста записи в строке во вкладке "Оформление" формы "Настройка пресетов" включите флаг "Автоподбор высоты строк" Рис. 2178 Сохраните изменения в пресете. Форма "Управление данными" при наличии в базе данных соответствующей информации примет следующий вид как на рис..2138 Рис. 2179 Для вывода графика "Анализ незаполненных полей "Стоимость ресурса" на вкладке "Графика" формы "Управление данными" добавьте данные: основной список данных и диаграмму, настройте диаграмму как показано на рис. 2180 Рис. 2181 Сохраните изменения в пресете. Запустите мастер настройки диаграммы. Рис. 2182 Откроется форма "Мастер диаграмм" Рис. 1949 В форме "Мастер диаграмм" выберите вид диаграммы, например, "гистограмма обычная", как показано на рис. 1949. Переключитесь на ряды диаграмм и удалите строку "Series2". Строки "Series1", "Series2" означают количество графиков в форме. В данном случае создается один график в виде обычной гистограммы. Рис. 1950 Нажмите кнопку "Finish" формы "Мастер диаграмм". Сохраните изменения в форме "Настройка пресетов". Настройте источники данных для диаграммы. Рис. 2183 Далее необходимо настроить значения оси Х Рис. 2184 Далее необходимо настроить значения оси Y. Рис. 2185 Сохраните изменения в форме "Настройка пресетов". Переключитесь в форму "Управление данными" и обновите её.. Рис. 2186 Далее необходимо до настроить пресет, например, включить свойство связывания данных для, чтобы в диаграмме выводились сумму несоответствий по организациям (Обратите внимание на рис. 2186. в новой колонке таблицы указано восемь несоответствий, а на диаграмме отображается пять). Переключитесь во вкладку "Прочие" и вызовите команду "Запуск Мастера" Рис. 2187 Откроется форма "Мастер диаграмм". Переключитесь на вкладку "Данные". Рис. 2188 Переключитесь на вкладку "Связывание данных" и настройте данные как показано на рис. 2189. Рис. 2189 В поле "Summary function" нажмите кнопку Рис. 1958 Откроется форма "Summary function" Рис. 1959 Выберите функцию сумма, установите фокус на значении "Y" Рис. 1960 и нажмите кнопку "ОК". Форма "Мастер диаграмм" примет следующий вид. Рис. 1961 Переключитесь во вкладку "Заголовки" и вызовите команду "Add". Рис. 2190 Вкладка "Заголовки" примет следующий вид. Рис. 2190 На вкладке "Text" измените текст "Заголовок" на "Общее количество несоответствий поступивших ресурсов". Рис. 2191 На форме "Мастер диаграмм" вызовите команду "Finish". Форма "Управление данными" примет следующий вид. Рис. 2192 Для удаления информации "Series1" с диаграммы на вкладке "Ряды" отключите свойство "Show in a legend". Рис. 2117 Для настройки по оси "Y" шага значений равным "1" во вкладке "Оси" в панели "General" во вкладке "General" настройте свойство "Grid Spacing" как показано на рис. 2193 Рис. 2193 На форме "Мастер диаграмм" вызовите команду "Finish". Форма "Управление данными" примет следующий вид. Рис. 2194 Для изменения цвета диаграммы переключитесь во вкладку"Конструктор" и выберите палитру и стиль диаграммы Рис. 2195 Форма "Управление данными" примет следующий вид. Рис. 2196 Для сохранения настроек диаграммы во вкладке ""Прочие" вызовите команду "Сохранить как шаблон".откроется форма сохранения файлов Рис. 2196 Введите имя файла и сохраните его. ВНИМАНИЕ! При вызове команды "Сохранить изменения" формы "Управления данными" без предварительного сохранения настроек диаграммы настройки диаграммы будут обнулены. Переключитесь в форму "Настройка пресетов". В настройке текущего пресета загрузите диаграммы из файла, ранее созданного и сохраненного, как показано на рис. 2197 Рис. 2197 Откроется форма выбора файла Рис. 2198 Выберите ранее созданный файл и вызовите команду "Открыть". При успешной загрузке файла настроек диаграммы появится сообщение "настройки диаграммы из файла успешно загружены". Рис. 2199 Сохраните изменения в форме "Настройка пресетов". Настройка пресета "Отчет по количеству несоответствий в документах качества представляемых поставщиками" в основном выполнена. Для удаления меню управления диаграммой пресета отключите свойство "Показать меню управления диаграммой" как показано на рис. 2158. Рис. 2200 Сохраните изменения в форме "Настройка пресетов". Форма "Управление данными" примет следующий вид. Рис. 2201 Настройка пресета выполнена полностью. Пользователь может по своему усмотрению скрыть колонку "Новая колонка", удалить колонку "Несоответствия ресурса" или скрыть колонку "Количество несоответствий ресурсов"
Для полного понимания процесса создания пресета рекомендуем ознакомится со всеми описаниями создания пресетов в разделе: - Группа пресетов "Управление проектной документацией" - Конфигурация АС "Стройформ": Управление проектом - Графики (отчеты) проверок органов ГСН - Графики проверок в системе качества
|
Руководство пользователя версия 7.4.2013.51, скачать в формате HelpFile.chm, HelpFile.pdf, HelpFile.doc При полном или частичном использовании материалов сайта, ссылка на сайты www.stroyform.ru и www.stroyform.su обязательна support@stroyform.ru. |