/
zdm77
/
net_core_one_s
Обзор
Документация
Войти
/
zdm77
/
net_core_one_s
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
NetCoreOneS/test/TestOneS.cs
242 строки
12 KB
zdm77
Консоль для всех IDE в utf без кракозябры
17 янв 2026, 16:03
17 янв 2026, 16:03
d247684
Код
Авторство
О чём код?
using NetCoreOneS.model.connector; using NetCoreOneS.model.product; namespace NetCoreOneS.test; public class TestOneS { public TestOneS() { conn = ConnectorOneS.GetConnector(); } private dynamic conn { get; set; } public void Test1() { // var p = new ProductSite(); // var dict = p.GetMap(); // // var connSql = ConnectorSite.GetConnector(); // // connSql.Open(); // var querySql = connSql.CreateCommand(); // querySql.CommandText = $"delete from test"; // querySql.ExecuteNonQuery(); // querySql.CommandText = $"insert into test set name=@name"; var r = new Dictionary<string, bool>(); dynamic query = conn.NewObject("Запрос"); // query.Text = @" // ВЫБРАТЬ // ПоставщикиНоменклатурыСрезПоследних.Контрагент.Наименование КАК КонтрагентНаименование, // ПоставщикиНоменклатурыСрезПоследних.Номенклатура.Наименование КАК НоменклатураНаименование // ИЗ // РегистрСведений.ПоставщикиНоменклатуры.СрезПоследних КАК ПоставщикиНоменклатурыСрезПоследних // // // "; // query.Text = @"ВЫБРАТЬ РАЗЛИЧНЫЕ // ПоставщикиНоменклатурыСрезПоследних.Контрагент.Наименование КАК КонтрагентНаименование, // ПоставщикиНоменклатурыСрезПоследних.Контрагент.НаименованиеПолное КАК КонтрагентНаименованиеПолное, // ПоставщикиНоменклатурыСрезПоследних.Номенклатура.Код КАК КодНоменклатуры // // // // ИЗ // РегистрСведений.ПоставщикиНоменклатуры.СрезПоследних КАК ПоставщикиНоменклатурыСрезПоследних // ГДЕ НЕ ПоставщикиНоменклатурыСрезПоследних.Контрагент.ПометкаУдаления // УПОРЯДОЧИТЬ ПО КонтрагентНаименование // // "; query.Text = @"ВЫБРАТЬ КонтрактыНаПоставку.Наименование КАК Наименование ИЗ Справочник.КонтрактыНаПоставку КАК КонтрактыНаПоставку "; // 4. Выполняем запрос dynamic result = query.Выполнить().Выбрать(); // 5. Выводим результаты в консоль Console.WriteLine("-------------------------"); var isAdd = false; var counter = 0; //var name = ""; while (result.Next()) { var contr = result.Наименование; // var contr1 = result.КонтрагентНаименованиеПолное; // // var id = result.КодНоменклатуры.ToString() ?? ""; // // if (!dict.ContainsKey(id)) { // continue; // } r[contr] = true; // var contr2 = result.КонтрагентНаименованиеПолное; // var parent = result.КонтрагентРодительНаименование; // querySql.Parameters.Clear(); // querySql.Parameters.AddWithValue("@name", contr); // querySql.Parameters.AddWithValue("@full_name", contr1); // // querySql.ExecuteNonQuery(); counter++; // var name = result.НоменклатураНаименование; // Console.WriteLine(contr +"|"+ contr1 +"|"+ contr2 +"|"+ parent); // break; // var lavelStr = ""; // // if (name.Contains("Зал")) { // // Console.WriteLine(name); // // } // var level = result.Уровень; // if (level == 0 && name == "Товары Б.С.") { // isAdd = true; // } // // if (level == 0 && name != "Товары Б.С.") { // isAdd = false; // } // // for (var i = 0; i < level; i++) { // lavelStr += "-"; // } // // if (isAdd) { // counter++; // Console.WriteLine("|" + lavelStr + result.Уровень + "-" + result.Наименование); // } // } // MessageBox.Show(name); // foreach (var name in r.Keys) { // querySql.Parameters.Clear(); // querySql.Parameters.AddWithValue("@name", name); // querySql.ExecuteNonQuery(); // // querySql.Parameters.AddWithValue("@full_name", contr1); // } Console.WriteLine(counter); } public List<string> TestVersion() { var result = new List<string>(); var systemInfo = conn.NewObject("СистемнаяИнформация"); // Установка кодировки для консоли // Console.OutputEncoding = System.Text.Encoding.UTF8; Console.WriteLine($"Платформа: {systemInfo.ВерсияПриложения}"); result.Add(systemInfo.ВерсияПриложения); var metadata = conn.Метаданные; string configName = metadata.Имя; string configVersion = metadata.Версия; result.Add(configVersion); result.Add(configName); Console.WriteLine($"Конфигурация: {configName}"); Console.WriteLine($"Версия конфы: {configVersion}"); return result; } public void TestPrice() { //var qqq = "\"Реализации\""; // 3. Формируем текст запроса // string queryText = $@" // ВЫБРАТЬ // Номенклатура.Наименование КАК Наименование, // ЦеныНоменклатуры.Цена КАК Цена, // ПервыеКоды.Код КАК ШтрихКод // ИЗ // Справочник.Номенклатура КАК Номенклатура // ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры // ПО (ЦеныНоменклатуры.Номенклатура = Номенклатура.Ссылка // И ЦеныНоменклатуры.КатегорияЦен.Наименование ={qqq} ) // ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВнутренниеКодыНоменклатуры КАК ПервыеКоды // ПО ПервыеКоды.Номенклатура = Номенклатура.Ссылка // ГДЕ // НЕ Номенклатура.ЭтоГруппа"; // var queryText = $@"ВЫБРАТЬ // ШтрихкодыНоменклатуры.Номенклатура.Ссылка КАК Ссылка, // Номенклатура.Наименование КАК Наименование, // ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод, // ЦеныНоменклатуры.Цена КАК Цена // ИЗ // РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатуры // ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры // ПО (ЦеныНоменклатуры.Номенклатура.Ссылка = ШтрихкодыНоменклатуры.Номенклатура.Ссылка ) // ПРАВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура // ПО (ЦеныНоменклатуры.Номенклатура.Ссылка = Номенклатура.Ссылка) // ГДЕ ЦеныНоменклатуры.КатегорияЦен.Наименование ={qqq} // УПОРЯДОЧИТЬ ПО // ШтрихкодыНоменклатуры.Номенклатура.Ссылка Иерархия // "; var queryText = $@"ВЫБРАТЬ ШтрихкодыНоменклатуры.Номенклатура.Наименование КАК Наименование, ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод, ЦеныНоменклатуры.Цена КАК Цена ИЗ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО (ЦеныНоменклатуры.Номенклатура.Ссылка = ШтрихкодыНоменклатуры.Номенклатура.Ссылка И ЦеныНоменклатуры.КатегорияЦен.Наименование =&ПарамТипЦены ) УПОРЯДОЧИТЬ ПО Наименование "; // 4. Создаем и выполняем запрос dynamic query = conn.NewObject("Запрос"); query.УстановитьПараметр("ПарамТипЦены", "Реализации"); query.Text = queryText; dynamic result = query.Execute().Choose(); // 5. Выводим результаты Console.WriteLine("Список номенклатуры для категории цен 'Реализации':"); Console.WriteLine( "--------------------------------------------------------------------------------------------------"); Console.WriteLine("| {0,-60} | {1,-10} | {2,-15} |", "Наименование", "Цена", "Штрих-код"); Console.WriteLine( "----------------------------------------------------------------------------------------------------"); var counter = 0; var isAdd = false; while (result.Next()) { var lavelStr = ""; string name = result.Наименование ?? "-"; double price = result.Цена ?? 0; string barcode = result.ШтрихКод ?? "-"; var level = result.Уровень; if (level == 0 && name == "Товары Б.С.") { isAdd = true; } if (level == 0 && name != "Товары Б.С.") { isAdd = false; } for (var i = 0; i < level; i++) { lavelStr += "-"; } if (isAdd) { counter++; Console.WriteLine("| {0,-60} | {1,-10:N2} | {2,-15} |", name, price, barcode); } } Console.WriteLine(counter); } public void TestPrice2() { var p = new Product(); } }