Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107

Передать IQueryable<T> в новое окно

07.06.2021, 09:40. Показов 4627. Ответов 44

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите, как можно решить данный вопрос...

Я хочу создать окно, где будет находиться таблица, необходимые мне кнопки для манипуляциями данными. В базе данных у меня есть достаточно много данных, которые я хочу выводить на экран, например, отряды, объекты, районы...

Моя идея такова: написать запрос перед вызовом окна, после передать этот запрос в окно и выполнить его там.
Пример:
C#
1
2
3
4
5
6
7
8
IQueryable<FSquad> squads;
using (var db = new Database())
{
  squads = db.Squads.OrderBy(x=>x.Code).Take(100);
}
 
var form = new TableWindow(squads) {Owner = this};
form.ShowDialog();
А в самом окне я уже выполню вот так:
C#
1
2
3
4
private async void LoadData<T>(IQueryable<T> data)
{ 
  var result = await data.ToListAsync();
}
Дело в том, что я не могу в Window передать <T>.
Если я создам отдельный метод типа LoadData<T>(IQueryable<T> data), то это сработает, но я не знаю, как мне его сохранить в какую-нибудь переменную, чтобы я не закрывая окно мог еще раз его вызвать, потому что сделать private IQueryable<T> data; нельзя...

Подскажите, как мне можно решить данную проблему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2021, 09:40
Ответы с готовыми решениями:

Открыть новое окно, используя MVVM Light и передать в него параметры
Как можно открыть новое окно используя MVVM Light и как туда передать параметры

Закрыть окно, из которого создано новое окно
Как мне закрыть окно из которого я создал новое окно? Window1 window = new Window1(); window.Owner = this; window.Show(); ...

Передать параметр в новое окно
Всем привет. Только недавно начал изучать Java. Подскажите, не знаю как передать параметр в новое окно. Программа типа...

44
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
07.06.2021, 14:38
Студворк — интернет-сервис помощи студентам
ndrnesterov, если честно, мне не приходилось связываться с чистым SQL в WPF, т.к. для этого есть EF)) В любом случае пользователь тоже вряд ли будет писать в первом окне параметры запроса, т.е. они будут весьма типизированными. Т.о. задача сводится к тому, чтобы определиться с перечнем типовых запросов, создать метод принимающий соответствующий тип и осуществляющий сам запрос по тем или иным параметрам
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 14:44
ndrnesterov, можно создать Окно с обобщённым типом.
Но XAML не может работать с обобщенными типами.
Поэтому содержимое такого Окна вам придётся задавать в Шарпе.
Можно использовать Шаблон Данных, а в Content Окна передать VM под этот Шаблон.

Добавлено через 3 минуты
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Я хочу, чтобы окно Б просто выполняло запрос и выводило ответ в виде таблицы))
А как эта таблица будет формироваться?
В "ручную" на Шарпе?
Заранее заданные в XAML колонки?
Автогенерация?
Может ещё что?
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 14:51  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Что в представлении зависит от типа данных?
Например, FSquad имеет свойства Id, Name, Code, RegionId, DLOG. FObject имеет свойства Id, Name, Description, State, DLOG.
У них разные свойства и форме не обязательно знать, какие там свойства...
Я могу написать запрос и так: db.Squads.Select(x=>new {x.Id, x.Name}) и логика в форме далжна сделать запрос и показать таблицу со столбцами Id и Name)

Добавлено через 3 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А как эта таблица будет формироваться?
В "ручную" на Шарпе?
Заранее заданные в XAML колонки?
Автогенерация?
Может ещё что?
Компонент таблицы просто соеденяется с BindingSource и все... Дальше я просто работаю с BindingSource... Выполняю запрос и передаю данные в BindingSource.Data. Компонент сам формирует столбцы и выводит на экран...
0
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
07.06.2021, 14:52
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Например, FSquad имеет свойства Id, Name, Code, RegionId, DLOG. FObject имеет свойства Id, Name, Description, State, DLOG.
У них разные свойства и форме не обязательно знать, какие там свойства...
Я могу написать запрос и так: db.Squads.Select(x=>new {x.Id, x.Name}) и логика в форме далжна сделать запрос и показать таблицу со столбцами Id и Name)
Можно сделать 2 UC для FSquad и FObject. Как я указал выше, разработать логику метода, осуществляющего выборку по требуемым параметрам и, дополнительно, в зависимости от этих параметров скрывать ненужные столбцы. Как это делать уже где-то на просторах форума описывалось

тык
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 14:59  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Заранее заданные в XAML колонки?
Компоненты WinForms не знают о XAML)

Добавлено через 6 минут
Цитата Сообщение от Hugonavy Посмотреть сообщение
Можно сделать 2 UC
Вот это и не нужно, потому что это будет минимум 11 UC... Таким же успехом можно создать просто 11 окон)

Просто я понимаю, что создавать 11 окон или 11 UC просто для того, чтобы вывести разные таблицы нет смысла... Ведь можно эти таблицы просто передать в компонент и он сам переформирует столбцы и покажет новые данные)

А если мне нужно будет показать разных 100 таблиц?
Именно поэтому я хочу просто в окном окне разместить компоненты так, как мне нужно и если пользователь захочет посмотреть список отрядов, он нажмет кнопочку и откроется окно А. После от закроет его, захочет открыть список объектов, а ему снова откроется окно А, которое покажет таблицу со списком объектов... После он захочет открыть еще какой-нибудь список...
Я хочу, чтобы окно А могло открыть таблицу с любым запросом))
0
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
07.06.2021, 15:04
ndrnesterov, чтобы искусственный интеллект работал, его логику надо прописать)) Чудес-то не бывает У Вас же не производится выборка из разных таблиц? Соответственно, UC под каждую таблицу - весьма логичное решение. При появлении новой таблицы, добавляете UC и пару строк кода в метод выборки данных.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 15:07
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Подскажите, я могу как-нибудь хранить как переменную сам запрос? Типа: private IQueryable<T> _linq;
Запрос (в том числе и LINQ) создаётся к какой-то последовательности.
И без этой последовательности запрос нельзя осуществить.

Разница между IQueryable и LINQ только в типе этой последовательности.
Поэтому на время выполнения запроса нельзя уничтожать экземпляр контекста БД по которому делался этот запрос.
Вы можете убрать using и передавать вместе с запросом и сам контекст, чтобы уничтожить его после выполнения запроса.
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 15:12  [ТС]
Цитата Сообщение от Hugonavy Посмотреть сообщение
чтобы искусственный интеллект работал, его логику надо прописать)) Чудес-то не бывает
Понимаю

Хорошо, вот от какой идеи я отталкиваюсь... Предположим, я на форме размещу ComboBox со списом таблиц и DataGrid, куда будет выводиться таблица) Пока вроде все легко) Я выбираю в ComboBox таблицу и она показывается ниже в DataGrid)
Теперь усложним задачу, а имеено сделаем так. чтобы при выборе в ComboBox таблицы, результат показывался не в DataGrid, который находится ниже, а в DataGrid, котрый находится в новом окне? При этом ножно, чтобы запрос выполнялся именно в новом окне))

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Поэтому на время выполнения запроса нельзя уничтожать экземпляр контекста БД по которому делался этот запрос.
Вы можете убрать using и передавать вместе с запросом и сам контекст, чтобы уничтожить его после выполнения запроса.
Угу, это я понял... А я могу передать контекст вместе с запросом?

Добавлено через 57 секунд
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вы можете убрать using и передавать вместе с запросом и сам контекст
Точнее, как я это могу сделать?)) Это было бы отлично)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 15:14
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Например, FSquad имеет свойства Id, Name, Code, RegionId, DLOG. FObject имеет свойства Id, Name, Description, State, DLOG.
У них разные свойства и форме не обязательно знать, какие там свойства...
Я могу написать запрос и так: db.Squads.Select(x=>new {x.Id, x.Name}) и логика в форме далжна сделать запрос и показать таблицу со столбцами Id и Name)
Всё равно не понятно.
Если у вас есть несколько типов с какими-то общими свойствами, и второе окно (в котором как я понял и есть элемент из форм) работает только с этими общими свойствами, то надо сделать общий базовый тип для этих свойств.
И работать с ним.

Если же вам нужна работа с любыми свойствами, то во втором окне по любому нужна какая-то логика определяющая конкретный тип и уже исходя из этого работающая с его свойствами.

То есть я ни при каком раскладе не вижу никакой необходимости в обобщённом типе.

Ну, или вы опустили какие-то важные для понимания детали.
0
180 / 95 / 25
Регистрация: 04.02.2016
Сообщений: 308
Записей в блоге: 3
07.06.2021, 15:17
Цитата Сообщение от ndrnesterov Посмотреть сообщение
сделаем так. чтобы при выборе в ComboBox таблицы, результат показывался не в DataGrid, который находится ниже, а в DataGrid, котрый находится в новом окне? При этом ножно, чтобы запрос выполнялся именно в новом окне
Предлагаю не усложнять, а упростить. Создайте класс (условно, Model), в котором осуществляется работа с данными. Результат работы класса - данные для DataGrid. Теперь Вам все равно, где данные будут выводиться. В первом случае

Цитата Сообщение от ndrnesterov Посмотреть сообщение
ComboBox со списом таблиц и DataGrid, куда будет выводиться таблица
Т.е. входная информация - данные ComboBox, их и передавайте как аргумент в созданный класс.

Дальше, как я уже ранее расписал взаимодействие классов, в VM второго окна передаете экземпляр класса Model и SelectedItem из ComboBox. На основе этого выбираете тип запроса к БД, осуществляете его и возвращаете данные, которые надо вывести
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 15:21  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если же вам нужна работа с любыми свойствами, то во втором окне по любому нужна какая-то логика определяющая конкретный тип и уже исходя из этого работающая с его свойствами.
Вот, по сути это и есть ответ на мой вопрос) Получается я не могу в окно передать просто любой запрос, чтобы логика в окне смогла сама выполнить запрос и показать результат...

Добавлено через 2 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если же вам нужна работа с любыми свойствами, то во втором окне по любому нужна какая-то логика определяющая конкретный тип и уже исходя из этого работающая с его свойствами.
Хотя по сути вот этот код уже отлично работает для меня, но проблема в том, что я не смогу его выполнить внутри окна, т.к. внутри окна я не буду знать, что мне передать в метод, потому что я не могу хранить IQueryable<T> linq

C#
1
2
3
4
5
6
7
8
9
10
11
12
 private async void DataLoadAsync<T>(IQueryable<T> linq)
        {
            Data.Clear();
            Data.DataSource = null;
 
            using (var db = new FirebirdDB())
            {
                Data.DataSource = await linq.ToListAsync();
            }
 
            Data.ResetBindings(false);
        }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 15:27
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Точнее, как я это могу сделать?)) Это было бы отлично)
C#
1
2
3
4
5
6
var db = new Database();
IQueryable<FSquad> squads = db.Squads.OrderBy(x=>x.Code).Take(100);
 
 
new TableWindow(db, squads) {Owner = this}
    .ShowDialog();
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private Dbcontext db;
IQueryable<FSquad> squads;
public TableWindow(Dbcontext db, IQueryable<FSquad> squads)
{
    InitializeComponent();
    this.db = db;
    this.squads = squads;
    LoadDataAsync();
}
 
 
private async void LoadDataAsync()
{ 
  var result = await squads.ToListAsync();
  db.Dispose();
}
Добавлено через 5 минут
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Хотя по сути вот этот код уже отлично работает для меня
Для чего он работает?
Для автогенерации колонок?
WPF использует для этого рефлексию.
Повторить это можно без каких либо проблем.
И разницы никакой нет.
Источник использует тип IEnumerable без обобщённого параметра.
Вопрос в том, как вы это собираетесь использовать?
Так как я не понимаю какая может быть разница в WPF для object или обобщённого параметра.

\Добавьте деталей описывающих как вы используете этот обобщённый параметр.
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 15:32  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
private Dbcontext db;
IQueryable<FSquad> squads;
Ааа... Только если я в окне уже явно укажу эти данные... Получается мне либо здесь писать кучу явных всевохможным данных, либо сохдавать кучу окон для каждого запроса, что я как раз и хотел избежать...

Добавлено через 4 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Для чего он работает?
Для автогенерации колонок?
WPF использует для этого рефлексию.
Повторить это можно без каких либо проблем.
И разницы никакой нет.
Источник использует тип IEnumerable без обобщённого параметра.
Вопрос в том, как вы это собираетесь использовать?
Так как я не понимаю какая может быть разница в WPF для object или обобщённого параметра.
IEnumerable не подходит для меня, т.к. он по сути вытягивает из базы все данные и после уже выполняет, например Take... Я хочу IQueryable, чтобы, например Take, выполнялся на уровне БД и я получал сразу необходимые данные. Это не заставляет мою программу хранить все данные в памяти по момент запроса и в на уровне БД запрос выполняется быстрее же..

Я сейчас покажу, как этот код работает для меня...
0
18 / 18 / 1
Регистрация: 18.01.2021
Сообщений: 183
Записей в блоге: 8
07.06.2021, 15:41
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Я хочу, чтобы окно Б просто выполняло запрос и выводило ответ в виде таблицы))
Я остановился на том, что окно Б просто выполняет запрос, и не окно, а статический метод приложения.
0
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 15:46  [ТС]
Цитата Сообщение от Hugonavy Посмотреть сообщение
Предлагаю не усложнять, а упростить. Создайте класс (условно, Model), в котором осуществляется работа с данными. Результат работы класса - данные для DataGrid. Теперь Вам все равно, где данные будут выводиться. В первом случае
Но каждый запрос может возвращать разное количество свойств (Столбцов для таблицы)

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Для чего он работает?
Для автогенерации колонок?
WPF использует для этого рефлексию.
Повторить это можно без каких либо проблем.
И разницы никакой нет.
Источник использует тип IEnumerable без обобщённого параметра.
Вопрос в том, как вы это собираетесь использовать?
Так как я не понимаю какая может быть разница в WPF для object или обобщённого параметра.
\Добавьте деталей описывающих как вы используете этот обобщённый параметр.
Например, я хочу вывести пользователю список отрядов:
Кнопка вызова:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void Button_Click(object sender, RoutedEventArgs e)
        {
            using (var db = new Database())
            {
                var result = from s in db.Squads
                             join r in db.Regions on s.RegionId equals r.Id
                             select new { Id = s.Id, Name = s.Name, Code = s.Code, Guid = s.Guid, RegionName = r.Name, DLOG = s.DLOG };
 
                var form = new Views.WindowTableView("Тестовое окно отрядов") { Owner = this };
                form.DataLoadAsync(result);
                form.ShowDialog();
            }
        }
Что получается:


Теперь я хочу вывести, например, список пожарных частей:
Кнопка вызова:
C#
1
2
3
4
5
6
7
8
 using (var db = new Database())
            {
                var result = from f in db.FireDepartments select new { Id = f.Id, Name = f.Name, Code = f.Code, Guid = f.Guid, DLOG = f.DLOG };
 
                var form = new Views.WindowTableView("Тестовое окно ПЧ") { Owner = this };
                form.DataLoadAsync(result);
                form.ShowDialog();
            }
Что получается:


Но вот если я захочу добавить кнопку типа:

То я не смогу обновить данные, потому что не знаю, что мне передать в метод DataLoadAsync<T>(IQueryable<T> linq)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 15:57
Лучший ответ Сообщение было отмечено ndrnesterov как решение

Решение

ndrnesterov, в примере выше я только показал как передать контекст БД.
Обощённый
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Я хочу IQueryable
Вы не поняли.
Какая разница для второго Окна получит оно данные в последовательности IQueryable<T> или IQueryable<object>?
Если вам нужно отложенное выполнение задачи, то как я показывал выше, надо создавать задачу с запросом и передавать её.
Вариации создания задачи может быть много.
Но выходить из неё будет список object.
Вот объясните какая разница для второго Окна это будет список object или с обобщённым типпп.

Добавлено через 7 минут
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Но вот если я захочу добавить кнопку типа:
Понял.
Вам нужна возможность повторить из второго Окна запрос для обновления данных.
Сейчас покажу пример.
Но он будет для DataGrid.
Не знаю насколько подойдёт вашего элемента - для этого нужно знать его тип, тип его свойств.
1
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 16:00  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Какая разница для второго Окна получит оно данные в последовательности IQueryable<T> или IQueryable<object>?
Вау!! Подождите, тогда получается я смогу в окне просто сохранить запрос в виде IQueryable<object> _linq; И тогда я смогу при нажатии на кнопку "Обновить" передать в метод _linq! Это же то, что мне нужно!!!
Я помню вы мне писали немного ранее об этом, но я недопонял этого... Отлично! Спасибо вам за помощь! Это и есть решение моей задачи)))
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 16:05
Лучший ответ Сообщение было отмечено ndrnesterov как решение

Решение

C#
1
2
3
4
5
6
7
Func<IEnumerable> query = ()=>
{
    using (var db = new Database())
      return db.Squads.OrderBy(x=>x.Code).Take(100).ToList();
};
new TableWindow(query) {Owner = this}
    .ShowDialog();
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private readonly Func<IEnumerable> query;
public TableWindow(Func<IEnumerable> query)
{
    this.query = query;
    LoadDataAsync();
 
   InitializeComponent();
}
 
 
private async void LoadDataAsync()
{ 
  dataGrid.ItemsSouce = await Task<IEnumerable>.Run(query);
}
1
 Аватар для ndrnesterov
4 / 4 / 3
Регистрация: 28.11.2017
Сообщений: 107
07.06.2021, 16:07  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Какая разница для второго Окна получит оно данные в последовательности IQueryable<T> или IQueryable<object>?
Я сейчас проверил, все отлично работает! Сейчас я сделаю возможность передали контекста и запроса и все будет так, как мне нужно) Еще раз спасибо вам за помощь!))

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Func<IEnumerable> query = ()=>
{
    using (var db = new Database())
      return db.Squads.OrderBy(x=>x.Code).Take(100).T oList();
};
new TableWindow(query) {Owner = this}
    .ShowDialog();
Сделаю вот так)) Это получше моего примера))
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16164 / 11284 / 2891
Регистрация: 21.04.2018
Сообщений: 33,170
Записей в блоге: 2
07.06.2021, 16:09
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Это и есть решение моей задачи
Не совсем.
У вас "зависло" создание контекста БД.
Лучше всё это завернуть в функцию, как показал выше.

Добавлено через 1 минуту
Цитата Сообщение от ndrnesterov Посмотреть сообщение
Сделаю вот так
Если вам нужна какая-то подстройка колонок (допустим скрыть какие-то), то без рефлексии будет не обойтись.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2021, 16:09

Передать прототип объекта в новое окно
Доброго времени суток! Нажав на картинку, пытаюсь получить прототип объекта, но на выходе получаю во второй форме : , видимо, использую не...

Нужно открыть новое окно и передать в него данные POST!!!
использую jqGrid. В первой колонке выводится ссылка на страницу. Необходимо сделать что бы по нажатию на нее открывалось новое окно и...

Как при клике на Submit открыть новое окно не на весь экран, и передать туда все методом POST?
Добрый день, я только начинаю позновать азы языка так что есть маленькая задачка, смотрите есть страничка на которой есть форма и клавиша...

В IE 6.0 через window.open создаю новое окно с параметром resizeable=yes, но создаваемое окно упорно не позволяет менять размер.
В IE 6.0 через window.open создаю новое окно с параметром resizeable=yes, но создаваемое окно упорно не позволяет менять размер. ...

Не удаётся неявно преобразовать тип System.Linq.IQueryable<<anonymous type>> в System.Linq.IQueryable<Character>
Здравствуйте. Решили добавить навигацию на страницу и где-то допустили ошибку. Помогите пожалуйста разобраться. Запрос public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru