From c28e6507e5e73e2d77f2623ee51ff2cbffb31c47 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 00:48:38 +0300 Subject: [PATCH 01/10] Update README.md --- README.md | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ce073ab..70a9e1e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,39 @@ # OneSTools.FileDatabase -Библиотека для чтения данных файловых информационных баз 1С (Документация в разработке) +[![Nuget](https://img.shields.io/nuget/v/OneSTools.FileDatabase)](https://www.nuget.org/packages/OneSTools.FileDatabase) +Библиотека для чтения данных файловых информационных баз 1С. Поддерживается работа только с актуальной версией формата файлов (8.3.8) и только операции чтения +Кроме обычных информационных баз, так-же дает возможность прочитать данные базы хранилища конфигурации. -Позволяет считывать данные таблиц (поддерживается только версия файлов 8.3.8). +Пример работы с библиотекой: + +```csharp +using var database = new FileDatabaseConnection("..\1Cv8.1CD"); +database.Open(); + +var table = database.Tables.FirstOrDefault(c => c.Name == "_Document38"); + +if (table != null) +{ + foreach (var values in table.Rows) + { + for (int i = 0; i < table.Fields.Count; i++) + { + var field = table.Fields[i]; + var value = values[i]; + + // Or another one what you need + if (field.Type == FieldType.Numeric) + { + var typedValue = (decimal?)value; + } + if (field.Type == FieldType.NChar + || field.Type == FieldType.NText + || field.Type == FieldType.NVarChar) + { + var typedValue = (string)value; + } + } + } +} +``` +Подключение представлено объектов **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** +Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и предоставляет доступ к данным таблицы через свойство Rows. Это свойство имеет тип **ReadOnlyCollection** и предоставляет возможность считывать данные используя LINQ. From 3c305e012a81eef2d9dcdf2fa0ed5afed5133631 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 00:49:09 +0300 Subject: [PATCH 02/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70a9e1e..46dc1de 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Пример работы с библиотекой: ```csharp -using var database = new FileDatabaseConnection("..\1Cv8.1CD"); +using var database = new FileDatabaseConnection("..\\1Cv8.1CD"); database.Open(); var table = database.Tables.FirstOrDefault(c => c.Name == "_Document38"); From 88a2cb719f93b362f390cde4c03bb178af719ff7 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 00:50:43 +0300 Subject: [PATCH 03/10] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 46dc1de..0722f95 100644 --- a/README.md +++ b/README.md @@ -35,5 +35,5 @@ if (table != null) } } ``` -Подключение представлено объектов **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** -Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и предоставляет доступ к данным таблицы через свойство Rows. Это свойство имеет тип **ReadOnlyCollection** и предоставляет возможность считывать данные используя LINQ. +Подключение представлено объектом **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** +Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство Rows (доступно использованеи LINQ) From 8ea9fc3a255ca61002563751b8ef438cc95cecf9 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 00:55:31 +0300 Subject: [PATCH 04/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0722f95..1597c76 100644 --- a/README.md +++ b/README.md @@ -36,4 +36,4 @@ if (table != null) } ``` Подключение представлено объектом **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** -Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство Rows (доступно использованеи LINQ) +Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) From cc1338bd2bbbb454d3eef069ddc5ecfa7b3999a6 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:00:09 +0300 Subject: [PATCH 05/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1597c76..86f3ee6 100644 --- a/README.md +++ b/README.md @@ -36,4 +36,4 @@ if (table != null) } ``` Подключение представлено объектом **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** -Каждый обект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) +Каждый объект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) From 6a8d4e0dce4ee850ce2b52f64d188481e7f67bc3 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:00:28 +0300 Subject: [PATCH 06/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 86f3ee6..a07b32c 100644 --- a/README.md +++ b/README.md @@ -36,4 +36,4 @@ if (table != null) } ``` Подключение представлено объектом **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** -Каждый объект коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) +Каждый элемент коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) From b32f5b99075c3aeb13f67b9b0b7152cac1ae84fb Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:01:10 +0300 Subject: [PATCH 07/10] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a07b32c..8e09b19 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # OneSTools.FileDatabase [![Nuget](https://img.shields.io/nuget/v/OneSTools.FileDatabase)](https://www.nuget.org/packages/OneSTools.FileDatabase) -Библиотека для чтения данных файловых информационных баз 1С. Поддерживается работа только с актуальной версией формата файлов (8.3.8) и только операции чтения -Кроме обычных информационных баз, так-же дает возможность прочитать данные базы хранилища конфигурации. +Библиотека для чтения данных файловых информационных баз 1С. Поддерживается работа только с актуальной версией формата файлов (8.3.8) и только операциий чтения. +Кроме обычных информационных баз, так-же дает возможность прочитать данные базы хранилища конфигураций. Пример работы с библиотекой: From c34f4c045bd9ac52ab8b55b345042a1fad591809 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:23:34 +0300 Subject: [PATCH 08/10] Update README.md --- README.md | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 8e09b19..95c9fef 100644 --- a/README.md +++ b/README.md @@ -9,28 +9,43 @@ using var database = new FileDatabaseConnection("..\\1Cv8.1CD"); database.Open(); -var table = database.Tables.FirstOrDefault(c => c.Name == "_Document38"); - -if (table != null) +foreach(var table in database.Tables) { - foreach (var values in table.Rows) - { - for (int i = 0; i < table.Fields.Count; i++) - { - var field = table.Fields[i]; - var value = values[i]; + Console.WriteLine($"Table \"{table}\":"); - // Or another one what you need - if (field.Type == FieldType.Numeric) - { - var typedValue = (decimal?)value; - } - if (field.Type == FieldType.NChar - || field.Type == FieldType.NText - || field.Type == FieldType.NVarChar) - { - var typedValue = (string)value; - } + // list the table fields + Console.WriteLine("\tFields:"); + + foreach (var field in table.Fields) + Console.WriteLine($"\t\tField \"{field}\""); + + if (table.Indexes.Count > 0) + { + // list the table indexes + Console.WriteLine("\tIndexes:"); + + foreach (var index in table.Indexes) + { + Console.WriteLine($"\t\tIndex \"{index}\""); + + // list the index fields + Console.WriteLine("\t\t\tIndex fields:"); + + foreach (var indexField in index.Fields) + Console.WriteLine($"\t\t\t\tIndex field \"{indexField}\""); + + } + } + + // list the table data (rows) + if (table.Rows.Count > 0) + { + Console.WriteLine("\tRows:"); + + // values is an array of objects, it contains values as in the same order as fields are represented + foreach (var values in table.Rows) + { + Console.WriteLine("\t\tRow"); } } } From 4ffa55bc4523e9f8a25386bd93c3ffb2aa1ac60d Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:24:44 +0300 Subject: [PATCH 09/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95c9fef..7a6fdca 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # OneSTools.FileDatabase [![Nuget](https://img.shields.io/nuget/v/OneSTools.FileDatabase)](https://www.nuget.org/packages/OneSTools.FileDatabase) -Библиотека для чтения данных файловых информационных баз 1С. Поддерживается работа только с актуальной версией формата файлов (8.3.8) и только операциий чтения. +Библиотека для чтения данных файловых информационных баз 1С. Поддерживается работа только с версией формата файлов 8.3.8 и только операции чтения. Кроме обычных информационных баз, так-же дает возможность прочитать данные базы хранилища конфигураций. Пример работы с библиотекой: From fc60fbf92468a1a5d9a3656024b3ac4ddc29c5b1 Mon Sep 17 00:00:00 2001 From: Akpaev Evgeny <40080662+akpaevj@users.noreply.github.com> Date: Sun, 3 Jan 2021 01:25:14 +0300 Subject: [PATCH 10/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a6fdca..c553428 100644 --- a/README.md +++ b/README.md @@ -51,4 +51,4 @@ foreach(var table in database.Tables) } ``` Подключение представлено объектом **FileDatabaseConnection**, который предоставляет информацию об открытой базе и в числе прочего содержит коллекцию **Tables** -Каждый элемент коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использованеи **LINQ**) +Каждый элемент коллекции **Tables** представляет информацию о схеме таблицы и дает доступ к данным таблицы через свойство **Rows** (доступно использование **LINQ**)