СтандартнаяОбработка = Ложь; - (Для чего это, как я понял если книга не заполнена чтобы не выполнялась обработка выводящая список экземпляров.)
Отключение стандартной обработки события элемента формы, чтобы сработало наше описание события.
Пример для вашей конфигурации: есть элемент формы, связанный с реквизитом Название_Книги (тип СправочникСсылка.Книги). Стандартная обработка события НачалоВыбора() этого элемента приведет к открытию ФормыВыбора справочника Книги. Если мы хотим передать туда дополнительные параметры, выставить например отбор, открыть другую форму - отключаем стандартную обработку и пишем то, что хотим сделать по этому событию.
&НаСервереБезКонтекста (Чем отличаеться сервер с контекстом и без, и почему именно такой выбран)
Почитайте про директивы в 1С. Много, но полезно.
1C |
1
2
3
4
5
6
7
8
9
| Запрос = новый Запрос("ВЫБРАТЬ
| КнигиЭкземпляры.id_Экземпляр
//что такое КнигиЭкземпляры, такого справочника нет, реквизита тоже как и табличной части.
|ИЗ
| Справочник.Книги.Экземпляры КАК КнигиЭкземпляры
|ГДЕ
| КнигиЭкземпляры.Ссылка = &Ссылка
//Тот же вопрос
| И КнигиЭкземпляры.Наличие = ИСТИНА"); |
|
Почитайте
Конкретно по вашим вопросам: это текст запроса, в котором идет обращение к таблице
Справочник.Книги.Экземпляры(табличной части Экземпляры), имя таблицы в запросе можно менять, здесь оно определено как КнигиЭкземпляры. Поэтому все получаемые поля мы определяем как <ИмяТаблицы>.<ИмяПоля>, отсюда
КнигиЭкземпляры.id_Экземпляр. "КнигиЭкземпляры.Ссылка = &Ссылка" - отбор записей в запросе по конкретному элементу справочнику Книги, который мы позже выставляем как параметр - "Запрос.УстановитьПараметр("Ссылка", Книга);".
Запрос.УстановитьПараметр("Ссылка", Книга); (Для чего нужен параметр)
Чтобы в выборку запроса не попали данные по всем книгам, а только по одной заданной.
Книги_Студентаid_ЭкземплярПриИзмененииНаСервере(ТекущаяСтрока.Название_Книги, ТекущаяСтрока.id_Экземпляр); (Это типа пересылка на процедуру ниже)
Это вопрос или утверждение? Типа да)
НайдСтрока = ТекущаяКнига.Экземпляры.НайтиСтроки(Новый Структура("id_Экземпляр", id_Экземпляр)); (Тут вообще не понимаю ничего, и для чего нам нужна структура особенно)
Умеете пользоваться синтакс-помощником? Вызов ctrl+f1, если выставите в это время курсор на чем-то непонятном - он еще сразу и попытается найти информацию об этом, с описанием и примерами.
Описание метода НайтиСтроки(): осуществляет поиск строк табличной части, соответствующих заданному условию поиска.
Условия поиска заданы в скобках в виде структуры, где в начале "id_Экземпляр" - ключ структуры, имя колонки поиска, дальше - значение структуры - id_Экземпляр(без кавычек). Это значение мы передали при вызове процедуры
Книги_Студентаid_ЭкземплярПриИзмененииНаСервере(Книга, id_Экземпляр).
Если НайдСтрока.Количество() > 0 Тогда () (Если мы выбираем какую-то строку из экземпляров то делаем её ложной?)
Ложной - это как? В этой строке мы проверяем, нашлись ли строки в табличной части по заданным параметрам поиска, чтобы не было ошибок при попытке получения значения по индексу.