Здравствуйте Большое Спасибо за уроки !! есть маленький вопрос. .При вызове функции СотрудникПринятНаРаботу мы передаём в неё параметр Сотрудник, но как в него записались введённые ФИО если нижняя часть кода ещё не выполнялась?? код же должен построчно выполняться, так?
Борис, когда мы пишем "Сотрудник" в обработке проведения, мы обращаемся к реквизиту нашего документа. Этот реквизит должен заполнить пользователь перед тем, как проводить документ. То есть поле "Сотрудник" заполняется не в нижней части кода, а пользователем, еще до обработки проведения.
Работа с удобный инструментом - конструктором запроса 1С с обработка результата. Услуги 1С программиста в Москве: 1cproger.ru/ Читайте статьи по 1С на нашем сайте: programmist1s.ru/materialyi-po-1s/
Не проще использовать шаблон запроса? Возврат НЕ Результат.Пустой(); - сокращает функцию практически в два раза, при этом не инициализируется бесполезная в данном случае выборка.
Надо запомнить .Пустой() ! Хорошо, что мыслите дальше. Очень полезно бывает каменты читать! Синтаксис-помощник: Работа с запросами\Выполнение и работа с запросами во встроенном языке\РезультатЗапроса\Методы: Пустой()
Ну, можно ещё дальше пойти, если это, конечно, результат окончательный и выборка нам не понадобится. Удаляем всё, что после "Запрос.УстановитьПараметр("Сотрудник", Сотрудник);" и добавляем одну строчку: Возврат НЕ Запрос.Выполнить().Пустой()
А зачем писать слово КАК, и почему именно "КадровыеПеремещения" а не какой нибудь другой псевдоним ИЗ РегистрСведений.КадровыеПеремещения КАК КадровыеПеремещения Без него почему то запрос не хочет сохранятся
А зачем писать: ``` Если Выбока.Следующий() Тогда Возврат Истина; КонецЕсли; Возврат Ложь; ``` Когда можно сократить до: ``` Возврат Выборка.Следующий(); ```? Я по синтакс-помощнику функция Следующий() возвращает Булево всегда, так что не вижу смысла прописывать эту конструкцию.
Илья , спасибо ! У тебя получается передать лёгкость восприятия языка!
Все предельно легко и понятно Леонтьев хорошо преподаешь!!!
Илья Спасибо! Прошел почти все запросы начал теперь понимать их.
Отлично!
Здравствуйте Большое Спасибо за уроки !! есть маленький вопрос. .При вызове функции СотрудникПринятНаРаботу мы передаём в неё параметр Сотрудник, но как в него записались введённые ФИО если нижняя часть кода ещё не выполнялась?? код же должен построчно выполняться, так?
Борис, когда мы пишем "Сотрудник" в обработке проведения, мы обращаемся к реквизиту нашего документа. Этот реквизит должен заполнить пользователь перед тем, как проводить документ.
То есть поле "Сотрудник" заполняется не в нижней части кода, а пользователем, еще до обработки проведения.
Работа с удобный инструментом - конструктором запроса 1С с обработка результата.
Услуги 1С программиста в Москве:
1cproger.ru/
Читайте статьи по 1С на нашем сайте:
programmist1s.ru/materialyi-po-1s/
Супер!!! Спасибо Илья! Всё понятно!
Не проще использовать шаблон запроса?
Возврат НЕ Результат.Пустой(); - сокращает функцию практически в два раза, при этом не инициализируется бесполезная в данном случае выборка.
Надо запомнить .Пустой() ! Хорошо, что мыслите дальше. Очень полезно бывает каменты читать!
Синтаксис-помощник: Работа с запросами\Выполнение и работа с запросами во встроенном языке\РезультатЗапроса\Методы: Пустой()
Ну, можно ещё дальше пойти, если это, конечно, результат окончательный и выборка нам не понадобится. Удаляем всё, что после "Запрос.УстановитьПараметр("Сотрудник", Сотрудник);" и добавляем одну строчку:
Возврат НЕ Запрос.Выполнить().Пустой()
Да. Конструктор действительно сильно ускоряет написание кода. Спасибо за урок!
как открыть этот конструктор после сохранения, если не доделал к примеру???
спасибо!!!
Почему цикл Пока заменили на Если ? Вы ж так только первый элемент выборки проверите!
Этого достаточно. Если есть хоть одна запись в выборке, понятно, что сотрудник такой уже был принят на работу, дальше можно не проверять...
А метода возврата количества записей в результатах запроса нет в 1С что ли? Тогда код выглядел бы проще и понятнее.
А зачем писать слово КАК, и почему именно "КадровыеПеремещения" а не какой нибудь другой псевдоним
ИЗ
РегистрСведений.КадровыеПеремещения КАК КадровыеПеремещения
Без него почему то запрос не хочет сохранятся
Можно использовать любой другой псевдоним, это не критично.
А зачем писать:
```
Если Выбока.Следующий() Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
```
Когда можно сократить до:
```
Возврат Выборка.Следующий();
```?
Я по синтакс-помощнику функция Следующий() возвращает Булево всегда, так что не вижу смысла прописывать эту конструкцию.