# Форум 1С > Конфигурирование, программирование 1С - Предприятие > 1С - Предприятие 8.0, 8.1, 8.2, 8.3 >  Что означает знак I  в запросе?

## developersvil

Я студентка. Изучаю 1С по лабам. Не могу сделать лабу с сайта http://www.1s-up.ru/konfiguracija-v-...ejronnaja-set/ 
Может ли быть 2 запроса в одном Запрос.Текст? Что за знак такой |?


```
&НаСервере
Процедура РасчетНаСервере()
    ТЗВходныеСигналы = ВходныеСигналы.Выгрузить("ВидВходногоСигнала,ВходнойСигнал");
    //передадим в запрос таблицу значений входных сигналов,
    //поместим ее в во временную таблицу
    //в другую временную таблицы поместим все нейроны указанной сети
    //в конечном запросе получим веса всех нейронов,
    //которые есть в сети и умножим их на данные входных сигналов
    //для этого свяжем таблицу весов нейронов со временной таблицей
    //входных сигналов по полю вид входного сигнала (внутреннее соединение)
    //сгруппируем все входные сигналы для нейрона,
    //чтобы получить выходной сигнал для каждого нейрона сети
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТЗВходныхСигналов.ВходнойСигнал КАК ВходнойСигнал,
                   |    ТЗВходныхСигналов.ВидВходногоСигнала КАК ВидВходногоСигнала
                   |ПОМЕСТИТЬ втВходныхСигналов
                   |ИЗ
                   |    &ТЗВходныхСигналов КАК ТЗВходныхСигналов
                   |
                   |ИНДЕКСИРОВАТЬ ПО
                   |    ВидВходногоСигнала
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   |ПОМЕСТИТЬ втНейроны
                   |ИЗ
                   |    Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                   |ГДЕ
                   |    ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   |
                   |ИНДЕКСИРОВАТЬ ПО
                   |    Нейрон
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    НейронВесаНейрона.Ссылка КАК Нейрон,
                   |    СУММА(НейронВесаНейрона.ЗначениеВеса * втВходныхСигналов.ВходнойСигнал) КАК ВыходнойСигнал
                   |ИЗ
                   |    Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ втВходныхСигналов КАК втВходныхСигналов
                   |        ПО НейронВесаНейрона.ВидВхода = втВходныхСигналов.ВидВходногоСигнала
                   |ГДЕ
                   |    НейронВесаНейрона.Ссылка В
                   |            (ВЫБРАТЬ
                   |                вт.Нейрон
                   |            ИЗ
                   |                втНейроны КАК вт)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    НейронВесаНейрона.Ссылка";
    Запрос.УстановитьПараметр("ТЗВходныхСигналов",ТЗВходныеСигналы);
    Запрос.УстановитьПараметр("НейроСеть",ОднослойнаяСеть);
    ВыходыСети = Запрос.Выполнить().Выгрузить();
    ВыходныеСигналы.Загрузить(ВыходыСети);
КонецПроцедуры
&НаКлиенте
Процедура Расчет(Команда)
    РасчетНаСервере();
КонецПроцедуры
```

Ошибка


```
Ошибка инициализации модуля: ВнешняяОбработка.РаботаОднослойнойСети.Форма.Форма.Форма
по причине:
{ВнешняяОбработка.РаботаОднослойнойСети.Форма.Форма.Форма(13,21)}: Пропущен символ '"' (двойная кавычка)
    Запрос.Текст = "<<?>>
{ВнешняяОбработка.РаботаОднослойнойСети.Форма.Форма.Форма(13,21)}: Ожидается символ ';'
    Запрос.Текст = "<<?>>
{ВнешняяОбработка.РаботаОднослойнойСети.Форма.Форма.Форма(14,10)}: Неопознанный оператор
    ВЫБРАТЬ <<?>>ПЕРВЫЕ 1 ОднослойнаяЛинейнаяСетьНейроны.Нейрон КАК Нейрон
{ВнешняяОбработка.РаботаОднослойнойСети.Форма.Форма.Форма(25,24)}: Неопознанный оператор
                       <<?>>НейронВесаНейрона.ВидВхода КАК ВидВходногоСигнала,
```

----------


## developersvil

Конкатенация - нашла, но не поняла почему ошибка

----------


## developersvil

Разобралась - ошибок нет, но и не выводит ничего...


```
&НаСервере
Процедура ОднослойнаяСетьПриИзмененииНаСервере()
	// Вставить содержимое обработчика.
  //очищаем все таблицы значений
    Объект.ВходныеСигналы.Очистить();
    Объект.ВыходныеСигналы.Очистить();
    //в запросе во временную таблицу записываем первый нейрон,
    //выбранной нейросети
    //а потом получаем все входы данного нейрона
    Запрос = Новый Запрос;
    Запрос.Текст = "
					|ВЫБРАТЬ
					|ПЕРВЫЕ 1
                    |   ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   	|ПОМЕСТИТЬ втНейрон
                  	|ИЗ
                    |   Справочник.ОднослойнаяЛинейнаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                  	| ГДЕ
                    |   ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   
                   	|ИНДЕКСИРОВАТЬ ПО
                    |   Нейрон
                   	|;
                    |
  |////////////////////////////////////////////////////////////////////////////////                  
                  	| ВЫБРАТЬ
                    |   НейронВесаНейрона.ВидВхода КАК ВидВходногоСигнала,
                    |   0 КАК ВходнойСигнал
                  	| ИЗ
                    |   Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   	|ГДЕ
                    |   НейронВесаНейрона.Ссылка В
                    |          (ВЫБРАТЬ
                    |               вт.Нейрон
                    |           ИЗ
                    |               втНейрон КАК вт)";
    Запрос.УстановитьПараметр("НейроСеть",Объект.ОднослойнаяСеть);
   Выборка = Запрос.Выполнить().Выбрать();
  
	Пока Выборка.Следующий() 
		Цикл
        НовСтр = Объект.ВходныеСигналы.Добавить();
        ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
    КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОднослойнаяСетьПриИзменении(Элемент)
    ОднослойнаяСетьПриИзмененииНаСервере();	
	
КонецПроцедуры



&НаСервере
Процедура Команда1НаСервере()
    ТЗВходныеСигналы =  Объект.ВходныеСигналы.Выгрузить(,"ВидВходногоСигнала,ВходнойСигнал");
    //передадим в запрос таблицу значений входных сигналов,
    //поместим ее в во временную таблицу
    //в другую временную таблицы поместим все нейроны указанной сети
    //в конечном запросе получим веса всех нейронов,
    //которые есть в сети и умножим их на данные входных сигналов
    //для этого свяжем таблицу весов нейронов со временной таблицей
    //входных сигналов по полю вид входного сигнала (внутреннее соединение)
    //сгруппируем все входные сигналы для нейрона,
    //чтобы получить выходной сигнал для каждого нейрона сети
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТЗВходныхСигналов.ВходнойСигнал КАК ВходнойСигнал,
                   |    ТЗВходныхСигналов.ВидВходногоСигнала КАК ВидВходногоСигнала
                   |ПОМЕСТИТЬ втВходныхСигналов
                   |ИЗ
                   |    &ТЗВходныхСигналов КАК ТЗВходныхСигналов
                   |
                   |ИНДЕКСИРОВАТЬ ПО
                   |    ВидВходногоСигнала
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   |ПОМЕСТИТЬ втНейроны
                   |ИЗ
                   |    Справочник.ОднослойнаяЛинейнаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                   |ГДЕ
                   |    ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   |
                   |ИНДЕКСИРОВАТЬ ПО
                   |    Нейрон
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    НейронВесаНейрона.Ссылка КАК Нейрон,
                   |    СУММА(НейронВесаНейрона.ЗначениеВеса * втВходныхСигналов.ВходнойСигнал) КАК ВыходнойСигнал
                   |ИЗ
                   |    Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ втВходныхСигналов КАК втВходныхСигналов
                   |        ПО НейронВесаНейрона.ВидВхода = втВходныхСигналов.ВидВходногоСигнала
                   |ГДЕ
                   |    НейронВесаНейрона.Ссылка В
                   |            (ВЫБРАТЬ
                   |                вт.Нейрон
                   |            ИЗ
                   |                втНейроны КАК вт)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    НейронВесаНейрона.Ссылка";
    Запрос.УстановитьПараметр("ТЗВходныхСигналов",ТЗВходныеСигналы);
    Запрос.УстановитьПараметр("НейроСеть", Объект.ОднослойнаяСеть);
    ВыходыСети = Запрос.Выполнить().Выгрузить();
     Объект.ВыходныеСигналы.Загрузить(ВыходыСети);
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	// Вставить содержимое обработчика.
	Команда1НаСервере();

КонецПроцедуры
```

----------


## dolp4in

Закиньте конфу на почту

----------


## Сергей Лима

Здравствуйте. да, такое может быть.
Знак  - Это перенос текстовой строки, используется в запросе.

код ошибки, у вас Вообще - не из этого модуля.
Т.к. у Вас в запросе, предоставленном тут - не указано "ПЕРВЫЕ 1"
А вообще, очень интересное название переменных, хотелось бы увидеть саму конфигурацию, и само задание )

----------


## dolp4in

Возможно дело в этом "ЗаполнитьЗначенияСвойств(  НовСтр,Выборка);" надо через отладку смотреть

----------


## DoCaru

сейчас то проблема в чем? если есть ошибки - пиши, высылай на почту конфу

----------


## developersvil

Спасибо за отклики!!! Отправлю

----------


## developersvil

Конфиг и файл формы  https://drive.google.com/drive/folde...YQ?usp=sharing
Объяснение, что в итоге http://www.1s-up.ru/konfiguracija-v-...ejronnaja-set/

----------


## developersvil

Решила пошагово все запросы перебрать в конструкторе запросов. Не работает запрос:


```
Запрос.Текст = «ВЫБРАТЬ ПЕРВЫЕ 1
                   |    ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   |ПОМЕСТИТЬ втНейрон
                   |ИЗ
                   |    Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                   |ГДЕ
                   |    ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   |
                   |ИНДЕКСИРОВАТЬ ПО
                   |    Нейрон
                   |;
```

Есть Справочник    ОднослойнаяНейроннаяСеть с табличной частью Нейроны и реквизитом табличной части Нейрон.
Теперь надо выбрать один из нейронов, но код и так  не работает:


```
ВЫБРАТЬ ПЕРВЫЕ 1
                   |    Справочник.ОднослойнаяНейроннаяСеть.Нейроны
```

Он выводит список всех значений из табличной части : Звери Птицы Рыбы
А надо выбрать один нейрон. Как?

----------


## developersvil

Рабочий код - но ничего не выводит все по нулям


```
ВЫБРАТЬ
					ПЕРВЫЕ 1
                       ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   	ПОМЕСТИТЬ втНейрон
                  	ИЗ
                       Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                  	 ГДЕ
                       ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   
                   	ИНДЕКСИРОВАТЬ ПО
                       Нейрон
                   	;
 ВЫБРАТЬ
                       НейронВесаНейрона.ВидВхода КАК ВидВходногоСигнала,
                       0 КАК ВходнойСигнал
                  	 ИЗ
                       Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   	ГДЕ
                       НейронВесаНейрона.Ссылка В
                              (ВЫБРАТЬ
                                   вт.Нейрон
                               ИЗ
                                   втНейрон КАК вт);
```

----------


## developersvil

Во временной таблицу втНейрон нет ничего-вот и ошибка. Как ее исправить?

----------


## developersvil

```
ВЫБРАТЬ
					ПЕРВЫЕ 1
                       ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   	ПОМЕСТИТЬ втНейрон
                  	ИЗ
                       Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                  	 ГДЕ
                       ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   
                   	//ИНДЕКСИРОВАТЬ ПО
                      // Нейрон
                   	;
```

Первый запрос рабочий = в нем нейрон Звери во временной таблицк втНейрон.
Второй запрос не работает

----------


## developersvil

```
ГДЕ
                       НейронВесаНейрона.Ссылка В
                              (ВЫБРАТЬ
                                   вт.Нейрон
                               ИЗ
                                   втНейрон КАК вт);
```

Здесь ошибка - как правильно ссылку выбрать из таблицы?

----------


## developersvil

Ошибка в НейронВесаНейрона.Ссылка.Н  аименование ... должно быть.
Рабочий код без ошибок


```

&НаСервере
Процедура ОднослойнаяСетьПриИзмененииНаСервере()
	// Вставить содержимое обработчика.
	// Вставить содержимое обработчика.
  //очищаем все таблицы значений
    Объект.ВходныеСигналы.Очистить();
    Объект.ВыходныеСигналы.Очистить();
    //в запросе во временную таблицу записываем первый нейрон,
    //выбранной нейросети
    //а потом получаем все входы данного нейрона
	 // Запрос.УстановитьПараметр("НейроСеть",Объект.ОднослойнаяСеть);

    Запрос = Новый Запрос;
    Запрос.Текст = "
					|ВЫБРАТЬ ПЕРВЫЕ 1
					|ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон				
					|ПОМЕСТИТЬ втНейрон
					|ИЗ
                    |   Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                  	| ГДЕ
                    |   ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                    |;
                    |
  |////////////////////////////////////////////////////////////////////////////////                  
                  	| ВЫБРАТЬ
                    |   НейронВесаНейрона.ВидВхода КАК ВидВходногоСигнала,
                    |   0 КАК ВходнойСигнал
                  	| ИЗ
                    |   Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   	|ГДЕ
                    |   НейронВесаНейрона.Ссылка.Наименование В
                    |          (ВЫБРАТЬ
                    |               вт.Нейрон
                    |           ИЗ
                    |               втНейрон КАК вт)";
    Запрос.УстановитьПараметр("НейроСеть",Объект.ОднослойнаяСеть);
   Выборка = Запрос.Выполнить().Выбрать();
  
	Пока Выборка.Следующий() 
		Цикл
        НовСтр = Объект.ВходныеСигналы.Добавить();
        ЗаполнитьЗначенияСвойств(НовСтр,Выборка);
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ОднослойнаяСетьПриИзменении(Элемент)
	ОднослойнаяСетьПриИзмененииНаСервере();
КонецПроцедуры
```

----------


## developersvil

Таблица значений - не  справочник - как провериь ее  работу в конструкторе ВходныеСигналы и Выходные сигналы не считаются



```
&НаСервере
Процедура РасчетНаСервере()
	 ТЗВходныеСигналы =  Объект.ВходныеСигналы.Выгрузить(,"ВидВходногоСигнала,ВходнойСигнал");
    //передадим в запрос таблицу значений входных сигналов,
    //поместим ее в во временную таблицу
    //в другую временную таблицы поместим все нейроны указанной сети
    //в конечном запросе получим веса всех нейронов,
    //которые есть в сети и умножим их на данные входных сигналов
    //для этого свяжем таблицу весов нейронов со временной таблицей
    //входных сигналов по полю вид входного сигнала (внутреннее соединение)
    //сгруппируем все входные сигналы для нейрона,
    //чтобы получить выходной сигнал для каждого нейрона сети
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ТЗВходныеСигналы.ВходнойСигнал КАК ВходнойСигнал,
                   |    ТЗВходныеСигналы.ВидВходногоСигнала КАК ВидВходногоСигнала
                   |ПОМЕСТИТЬ втВходныхСигналов
                   |ИЗ
                   |    &ТЗВходныеСигналы КАК ТЗВходныеСигналы
                   |
                   
				   |ИНДЕКСИРОВАТЬ ПО
                   |    ВидВходногоСигнала
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ОднослойнаяНейроннаяСетьНейроны.Нейрон КАК Нейрон
                   |ПОМЕСТИТЬ втНейроны
                   |ИЗ
                   |    Справочник.ОднослойнаяНейроннаяСеть.Нейроны КАК ОднослойнаяНейроннаяСетьНейроны
                   |ГДЕ
                   |    ОднослойнаяНейроннаяСетьНейроны.Ссылка = &НейроСеть
                   |
                  |ИНДЕКСИРОВАТЬ ПО
                  |    Нейрон
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    НейронВесаНейрона.Ссылка КАК Нейрон,
                   |    СУММА(НейронВесаНейрона.ЗначениеВеса * втВходныхСигналов.ВходнойСигнал) КАК ВыходнойСигнал
                   |ИЗ
                   |    Справочник.Нейрон.ВесаНейрона КАК НейронВесаНейрона
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ втВходныхСигналов КАК втВходныхСигналов
                   |        ПО НейронВесаНейрона.ВидВхода = втВходныхСигналов.ВидВходногоСигнала
                   |ГДЕ
                   |    НейронВесаНейрона.Ссылка.Наименование В
                   |            (ВЫБРАТЬ
                   |                вт.Нейрон
                   |            ИЗ
                   |                втНейроны КАК вт)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    НейронВесаНейрона.Ссылка
				   |";
    Запрос.УстановитьПараметр("ТЗВходныеСигналы",ТЗВходныеСигналы);
    Запрос.УстановитьПараметр("НейроСеть", Объект.ОднослойнаяСеть);
    ВыходыСети = Запрос.Выполнить().Выгрузить();
     Объект.ВыходныеСигналы.Загрузить(ВыходыСети);
	КонецПроцедуры
```

----------


## avm3110

В конструкторе - никак.
можно лишь использовать для этих целей связку - "отладчик - внешняя обработка с конструктором запроса"
Если так уже интересно, скачайте и поставльте например эту фичу - http://devtool1c.ucoz.ru/

И там вызывая в отладчике консоль запросов, вы сможете уже отладить свой запрос при использовании ТаблицыЗначений

----------

