Здравствуйте, учился по Вашим урокам изначально, полгода назад. И сейчас, снова возникла потребность ориентировки по модулям и контекстам. Пересматривая ролик заметил, что информация дошла совершенно под другим углом. Тогда вроде понял, а вроде и нет. А сейчас))) В общем это как условно смотреть Бригаду в 10 лет, и в 25. Обязательно как будет возможность постараюсь отблагодарить за Ваши старания. Спасибо
Спасибо за урок. Очень много полезной информации. Для меня понимание контекст - сервер быстрее пришло через сравнение магазин - склад. В магазине работа с клиентами, поэтому есть интерфейс: витрины, касса и т.д - это Форма. А на складе работа с данными, поэтому нет интерфейса, но есть погрузчики, стеллажи, формирование груза и т д. - это серверные процессы. У Вас очень полезный канал.
Олег, мне очень понятны Ваши уроки. Конструктивная подача материала. Спасибо за Ваш талант!) Хочу и дальше развиваться по Вашим урокам, когда освою базовые вещи.
Спасибо! Лайкос! В связи с примером про джина и остров, вспомнился старый анекдот из психологии: после кораблекрушения выжили мужчина и женщина, и каждого выбросило на берег острова, населенного исключительно туземцами противоположного пола. Через пару месяцев прибывшая экспедиция спасателей обнаружила на острове мужчин-туземцев женщину-королеву, восседающую на троне среди подношений и опахалов, и на предложение вернуться домой ответившую категорическим отказом. На острове же женщин-туземок, обнаружили единственного мужчину на верху самой высокой пальмы, под которой стояла толпа женщин с песочными часами и кричала мужчине, что пять минут уже прошло, так что срочно слезай! :)
Тема действительно не сразу простая. У меня есть некоторые аналогии, как работаю современные сайты, когда на хостинге работаю SQL запросами, а часть кода выполняется на стороне пользователя в браузере с помощью JavaScript. Кажется так. Получается, что все расчеты и запросы мы выполняем на Сервере, т.е. все процессы, которым нужны данные, выполняются рядом с Сервером. А те процессы, которым данные, находящиеся на сервере не нужны, то их надо выполнять на клиенте, по аналогии с сайтами, когда чтобы не нагружать хостинг, пусть часть процессов выполнит JavaScript в браузере у пользователя. Таким образом, если мы можем не обращаться к серверу, то лучше и не обращаться к нему и выполнять код на "&НаКлиенте". А "&НаСервере" лезем, когда надо из него что то взять (например, Запрос) или на него "положить" (например, Обработка проведения). Это только часть общих выводов, что я сделал для себя. Также, надо добавить следующее или сказать тоже самое, но другими словами: 1. Если мы пишем код в Модуле Объекта, то мы должны понимать, что он будет выполняться весь на Сервере по умолчанию. Т.е. это серверный Контекст. 2. Если мы пишем код в Модуле Формы, то тут Клиентский контекст. Т..е. по умолчанию, мы не трогаем Сервер, всё выполняется на стороне клиента, но тогда Запрос мы сделать не можем, также и Обработку проведения. Если нам запрос или обработка проведения понадобится, то тогда надо создавать отдельную процедуру тут же в модуле Формы в начале который ставить отметку "&НаСервере" и уже в ней писать нужный запрос или обработку и к ней отдельно обращаться. Типа того? См. сл.пункт. 3. Если мы пишем код в Модуле Формы, то тут у нас есть варианты выбора: - в одном из которых мы создаем код "На Клиенте" (Вариант выбора "Создать на клиенте", когда в видео уроке создавали команду), т.е. он будет выполняться на стороне Пользователя (Толстый и Тонкий клиент), например, просуммировать значения в столбиках какой-нибудь табличной части; - в другом варианте мы можем создавать код, который будет работать частично и на клиенте и частично на сервере (вариант выбора был "Создать на клиенте и процедуру на Сервере). Например, если нам надо в форму что то подставить, но для этого надо сделать запрос (а он выполняется только на сервере, потому что это работа "около данных"). У меня лично, вот такие мысли, пусть даже повторяющиеся разными словами, появились после просмотра. Надо посмотреть, как они будут меняться под воздействием практической работы... Олег, спасибо за видео! Надеюсь, что хотя бы ступора у меня точно не будет после увиденного/познанного в уроке, а остальное покажет практика.
Олег очень грамотно обучает. Между делом вставляет дополнительные скилы, например поиск через объект. Хотя конечно лучше запросами всегда искать, так как язык запросов во-первых универсален (не только в 1с есть), во-вторых при доработках запрос расширить проще. Ну и еще много плюшек.
У меня тут задние. Я его не понимаю Как мне вывести количество дней в таблицу Создать внешнюю обработку (форма управляемая), с динамическим формированием реквизитов формы по выбранному периоду.
А можно где-то взять живые примеры и потренироваться на них? Именно чтобы база большая была, чтобы документов много было. Потренироваться создавать разные запросы и отчеты.
сам себе придумал задачу, но никак не соображу, как начать допустим, мы хотим добавлять тархун. но хотим делать это осознанно. Для начала нужно ввести необходимое количество тархуна. Как получить цифру тархуна для передачи в запрос? И далее мы совершаем запрос в регистр накопления с последней датой, чтобы видеть актуальные остатки, правильно? Потом мы выводим в табличную часть необходимое количество тархуна и параллельно списываем его расходом в регистре. Так?
@@tp2b хотел при нажатии кнопки "добавить тархун" предложить ввести количество в отдельном окне. Это я реализовал в контексте клиента через метод ВвестиЧисло и уже через серверный контекст добавил в табличную часть. А запись происходит, насколько понимаю, уже через запись или проводку документа. Но теперь у меня есть 10 строчек кода, написанные самим ))
Начал работу над новым сезоном, так что автор канал не забросил :) Способы закидывания донатов есть в описании канала... и не только. Теперь и здесь есть: ПОДДЕРЖАТЬ Канал ДЕНЬГАМИ: Разные варианты: donate.stream/tp2b На карту: 5599 0050 8526 3320
В методе "НайтиПоИменованию("Имя")" на самом деле на плюсах формируется запрос где в отборе стоит "ПОДОБНО "Имя" " ? Или там формируется запрос который получает все наименования, а потом уже отбор делается????
Спасибо за урок. У меня вопрос. При работе в модуле формы объекта на клиенте как я понял доступны только реквизиты самого объекта и реквизиты формы. Но, при использовании функции ЗаполнитьЗначение на клиенте получается обратиться например к элементу справочника "Должности", при этом реквизита с типом СправочникСсылка.Должности ни в объекте, ни на форме нет.
@@tp2b 32:22. "В модуле формы на клиенте не доступен элемент справочника". Но у меня получается при использовании ВвестиЗначение() обратиться к элементу справочника на клиенте без обращения к серверу.
Есть процедура , которая не работает. Например: мы создали Справочники.ТипПродукта, а в Справочники.Продукт реквизит ТипЕденицыПродукта со ссылкой на Справочники.ТипПродукта. Это всё тонкий клиент . Пока всё верно? Теперь обработчик событий провёл документ на сервер и вернул результат на тонкий клиент в Отчёт. И фокус в том в этом отчёте не получится создать список с группировкой по Продукту и полями в таблице по этой схеме: Код, Продукт, Количество, ТипЕденицыПродукта, Стоимость. Хе-хе. Загляну завтра утром на то как Вам спалось с нерешённой задачкой.
Может показаться, что это проще простого, но на самом деле тут задача провести группировку по записям, которых нет в регистрах и потом вывести отчёт. Эта задача похожа на очень частую ситуацию в работе когда просят внести изменение в одном названии, а в результате потом ничего не работает. Вообще это нереальное задание. И судя по количеству дней игнорирования, Олегу или всё равно или просто невозможно.
программист 1С создает нечто, что располагается "на сервере" и форму "на клиенте". Но пользовательских ПК в сети множество. Где же хранится и откуда устанавливается форма?
Всё нормально.... только кусочки необходимые именно сейчас и именно этому пользователю передаются на клиента и отображаются пользователю.... это решает проблему того, что каждый пользователь подключаясь к какой-нибудь форме списка тянет с сервера дохреналион разные вообще не нужных ему данных :)
т.е. все необходимые формы хранятся на сервере и только при организации рабочего места, в зависимости от ролей предустанавливают на пользовательский ПК? @@tp2b
Исходно - да всё на сервере. И данные и метаданные. Подключается пользователь, на его сторону передаётся конфигурация(клиентская её часть), далее выполняются алгоритмы и запрашивают данные необходимые для форм... в этот момент часть конфигурации закеширована у пользователя на машине и нужные данные(можно сказать их копия) находятся на стороне пользователя, в оперативной памяти как привило...
Для новичков это лишнее :) Ни чего сверхсложного с этой директивой нет.... когда мы её указываем, мы отсекаем текущий контекст,как правило контекст текущей формы. Это экономит ресурсы на передачу этого контекста на сервер и обратно. На практике решительного прироста производительности обычно не даёт, т.к. оборудование +- живое у всех. На мой взгляд наиболее явный выигрыш будет давать при использовании слабых каналов связи между сервером и клиентами. В определенных случаях может сбивать фокус ввода на форме и прочую тарабарщину творить(точно случаи не назову, но сталкивался как-то давно с некоторыми проблемами использования этой директивы). Очень жаль, что Вы хотели только об этой директиве услышать :(
В моём понимании текущий контекст... Если говорить о форме... сама форма, элементы, реквизиты формы, глобальные переменные текущего модуля т.д. Т.е. делая такой вызов, мы имеем всё кроме текущего контекста вызова процедуры/функции... на том и экономия ресурсов :)
Контент годный, но для восприятия нужно снизить скорость речитатива минимум в 2 раза. Слушатель, для которого это в новинку не успеет обдумать то, что Вы говорите.
Спасибо за этот полезный урок : ) Здоровья и Удачи Вам !!!
Здравствуйте, учился по Вашим урокам изначально, полгода назад. И сейчас, снова возникла потребность ориентировки по модулям и контекстам. Пересматривая ролик заметил, что информация дошла совершенно под другим углом. Тогда вроде понял, а вроде и нет. А сейчас))) В общем это как условно смотреть Бригаду в 10 лет, и в 25. Обязательно как будет возможность постараюсь отблагодарить за Ваши старания. Спасибо
Спасибо за урок. Очень много полезной информации.
Для меня понимание контекст - сервер быстрее пришло через сравнение магазин - склад. В магазине работа с клиентами, поэтому есть интерфейс: витрины, касса и т.д - это Форма. А на складе работа с данными, поэтому нет интерфейса, но есть погрузчики, стеллажи, формирование груза и т д. - это серверные процессы.
У Вас очень полезный канал.
Замечательный материал, да ещё и изложен доступным языком!!! Спасибо
Не останавливайтесь пожалуйста, у вас лучший курс по програмированию с нуля
Осенью планирую начать снимать продолжение.
Раньше, увы, ни как не получается.
@@tp2b , главное не бросайте.
@@tp2b будет продолжение?
@@adelina4963 Будет. Но когда и в каком формате, пока не ясно...
Спасибо за урок! Это то, что было нужно. Все очень понятно. Жду еще ваших уроков.
Пожалуйста.
Новые уроки будут, но пока сроки назвать не могу, времени не хватает :(
@@tp2b Вы хорош!
Как успехи в программировании?)
Олег, мне очень понятны Ваши уроки. Конструктивная подача материала. Спасибо за Ваш талант!) Хочу и дальше развиваться по Вашим урокам, когда освою базовые вещи.
Лучшая подача материала которую только видел.
Классное видео. Спасибо большое!
Спасибо! Лайкос! В связи с примером про джина и остров, вспомнился старый анекдот из психологии: после кораблекрушения выжили мужчина и женщина, и каждого выбросило на берег острова, населенного исключительно туземцами противоположного пола. Через пару месяцев прибывшая экспедиция спасателей обнаружила на острове мужчин-туземцев женщину-королеву, восседающую на троне среди подношений и опахалов, и на предложение вернуться домой ответившую категорическим отказом. На острове же женщин-туземок, обнаружили единственного мужчину на верху самой высокой пальмы, под которой стояла толпа женщин с песочными часами и кричала мужчине, что пять минут уже прошло, так что срочно слезай! :)
Очень круто и понятно! Спасибо
Наконец то я вас догнал !!! Начал изучать курс 16.05.21. Все очень понятно. Огромное спасибо за вашу работу !
Новый видос в планах на будущей неделе.
Сейчас очень большая нагрузка, не успеваю пилить новые уроки :(
Но я исправлюсь!
Тема действительно не сразу простая.
У меня есть некоторые аналогии, как работаю современные сайты, когда на хостинге работаю SQL запросами, а часть кода выполняется на стороне пользователя в браузере с помощью JavaScript. Кажется так.
Получается, что все расчеты и запросы мы выполняем на Сервере, т.е. все процессы, которым нужны данные, выполняются рядом с Сервером.
А те процессы, которым данные, находящиеся на сервере не нужны, то их надо выполнять на клиенте, по аналогии с сайтами, когда чтобы не нагружать хостинг, пусть часть процессов выполнит JavaScript в браузере у пользователя.
Таким образом, если мы можем не обращаться к серверу, то лучше и не обращаться к нему и выполнять код на "&НаКлиенте".
А "&НаСервере" лезем, когда надо из него что то взять (например, Запрос) или на него "положить" (например, Обработка проведения).
Это только часть общих выводов, что я сделал для себя.
Также, надо добавить следующее или сказать тоже самое, но другими словами:
1. Если мы пишем код в Модуле Объекта, то мы должны понимать, что он будет выполняться весь на Сервере по умолчанию. Т.е. это серверный Контекст.
2. Если мы пишем код в Модуле Формы, то тут Клиентский контекст. Т..е. по умолчанию, мы не трогаем Сервер, всё выполняется на стороне клиента, но тогда Запрос мы сделать не можем, также и Обработку проведения. Если нам запрос или обработка проведения понадобится, то тогда надо создавать отдельную процедуру тут же в модуле Формы в начале который ставить отметку "&НаСервере" и уже в ней писать нужный запрос или обработку и к ней отдельно обращаться. Типа того? См. сл.пункт.
3. Если мы пишем код в Модуле Формы, то тут у нас есть варианты выбора:
- в одном из которых мы создаем код "На Клиенте" (Вариант выбора "Создать на клиенте", когда в видео уроке создавали команду), т.е. он будет выполняться на стороне Пользователя (Толстый и Тонкий клиент), например, просуммировать значения в столбиках какой-нибудь табличной части;
- в другом варианте мы можем создавать код, который будет работать частично и на клиенте и частично на сервере (вариант выбора был "Создать на клиенте и процедуру на Сервере). Например, если нам надо в форму что то подставить, но для этого надо сделать запрос (а он выполняется только на сервере, потому что это работа "около данных").
У меня лично, вот такие мысли, пусть даже повторяющиеся разными словами, появились после просмотра. Надо посмотреть, как они будут меняться под воздействием практической работы...
Олег, спасибо за видео! Надеюсь, что хотя бы ступора у меня точно не будет после увиденного/познанного в уроке, а остальное покажет практика.
Неплохие выводы!
Спасибо за Коммент и просмотр :)
@@tp2b уроков больше не будет?
@@black_grizzly будут, скоро новый сезон.
@@tp2b отлично. Как считайте начинать обучение написания кода уместно?
Добрый день! Очень интересно, вот после курса, много ребят стали программистами
Кто же их знает :)
Но судя по тому, что с каждым уроком просмотров всё меньше....
Уроки просто шикарные!
Спасибо :)
Ждем ваши уроки)))))
Автор топ!!! Спасибо большое за доходчивую подачу . Жаль только не было д/з
Не останавливайтесь пожалуйста, у вас лучший курс по программированию с нуля!
Весной продолжим... неотложные дела движутся к финалу!
очень полезно и информативно, спасибо!
Пожалуйста :)
Олег очень грамотно обучает. Между делом вставляет дополнительные скилы, например поиск через объект. Хотя конечно лучше запросами всегда искать, так как язык запросов во-первых универсален (не только в 1с есть), во-вторых при доработках запрос расширить проще. Ну и еще много плюшек.
Спасибо :)
Просто и доступно!))
👍👍
Хорошие уроки. Спасибо за очень понятные объяснения ))
Пожалуйста :)
Поддержать канал/Получить плюшки: boosty.to/tp2b
Поддержать рублем: donate.stream/tp2b
Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1
Спасибо!
Супер делаешь!
Спасибо
Спс
У меня тут задние. Я его не понимаю
Как мне вывести количество дней в таблицу
Создать внешнюю обработку (форма управляемая), с динамическим формированием реквизитов формы по выбранному периоду.
Если не понимаете задание, то не стоит его реализовывать....
Понимание задания - половина успеха!
класс!
Давно пора сделать сайт и доступ к материалам и объяснениям за 5 долларов в месяц
Ни что не мешает закинуть донат, если есть желание и возможность :)
А можно где-то взять живые примеры и потренироваться на них? Именно чтобы база большая была, чтобы документов много было. Потренироваться создавать разные запросы и отчеты.
Не думаю, что кто-то свои базы будет раздавать для тренировок :(
Обычно такую практику на стажировке получают.
сам себе придумал задачу, но никак не соображу, как начать
допустим, мы хотим добавлять тархун. но хотим делать это осознанно.
Для начала нужно ввести необходимое количество тархуна. Как получить цифру тархуна для передачи в запрос?
И далее мы совершаем запрос в регистр накопления с последней датой, чтобы видеть актуальные остатки, правильно?
Потом мы выводим в табличную часть необходимое количество тархуна и параллельно списываем его расходом в регистре. Так?
Не совсем понял задачу... попробуйте сформулировать иначе...
@@tp2b хотел при нажатии кнопки "добавить тархун" предложить ввести количество в отдельном окне.
Это я реализовал в контексте клиента через метод ВвестиЧисло и уже через серверный контекст добавил в табличную часть. А запись происходит, насколько понимаю, уже через запись или проводку документа.
Но теперь у меня есть 10 строчек кода, написанные самим ))
Куда донатить за такую годноту и чтобы автор не забил на канал?
Начал работу над новым сезоном, так что автор канал не забросил :)
Способы закидывания донатов есть в описании канала... и не только.
Теперь и здесь есть:
ПОДДЕРЖАТЬ Канал ДЕНЬГАМИ:
Разные варианты: donate.stream/tp2b
На карту: 5599 0050 8526 3320
В методе "НайтиПоИменованию("Имя")" на самом деле на плюсах формируется запрос где в отборе стоит "ПОДОБНО "Имя" " ? Или там формируется запрос который получает все наименования, а потом уже отбор делается????
дотошные люди проверяли, что значениезаполнено() не только универсальная для проверки, но и быстрее. в цикле к примеру проверка.
Спасибо за урок. У меня вопрос. При работе в модуле формы объекта на клиенте как я понял доступны только реквизиты самого объекта и реквизиты формы. Но, при использовании функции ЗаполнитьЗначение на клиенте получается обратиться например к элементу справочника "Должности", при этом реквизита с типом СправочникСсылка.Должности ни в объекте, ни на форме нет.
Пишите пожалуйста тайм-коды...
@@tp2b 32:22. "В модуле формы на клиенте не доступен элемент справочника". Но у меня получается при использовании ВвестиЗначение() обратиться к элементу справочника на клиенте без обращения к серверу.
Будет просто скрытый серверный вызов и все секреты :)
Последний урок вышел уже достаточно давно. Ещё будете записывать?
Да, в планах начать записывать новый сезон осенью.
Как мило, своё прошлое не забываешь
Это только для посвященных :)
тссссс......
Есть процедура , которая не работает.
Например: мы создали Справочники.ТипПродукта, а в Справочники.Продукт реквизит ТипЕденицыПродукта со ссылкой на Справочники.ТипПродукта.
Это всё тонкий клиент . Пока всё верно?
Теперь обработчик событий провёл документ на сервер и вернул результат на тонкий клиент в Отчёт. И фокус в том в этом отчёте не получится создать список с группировкой по Продукту и полями в таблице по этой схеме: Код, Продукт, Количество, ТипЕденицыПродукта, Стоимость.
Хе-хе.
Загляну завтра утром на то как Вам спалось с нерешённой задачкой.
Может показаться, что это проще простого, но на самом деле тут задача провести группировку по записям, которых нет в регистрах и потом вывести отчёт. Эта задача похожа на очень частую ситуацию в работе когда просят внести изменение в одном названии, а в результате потом ничего не работает.
Вообще это нереальное задание.
И судя по количеству дней игнорирования, Олегу или всё равно или просто невозможно.
Скорее Олегу не до этого :)
программист 1С создает нечто, что располагается "на сервере" и форму "на клиенте". Но пользовательских ПК в сети множество. Где же хранится и откуда устанавливается форма?
Всё нормально.... только кусочки необходимые именно сейчас и именно этому пользователю передаются на клиента и отображаются пользователю.... это решает проблему того, что каждый пользователь подключаясь к какой-нибудь форме списка тянет с сервера дохреналион разные вообще не нужных ему данных :)
т.е. все необходимые формы хранятся на сервере и только при организации рабочего места, в зависимости от ролей предустанавливают на пользовательский ПК? @@tp2b
Исходно - да всё на сервере. И данные и метаданные.
Подключается пользователь, на его сторону передаётся конфигурация(клиентская её часть), далее выполняются алгоритмы и запрашивают данные необходимые для форм... в этот момент часть конфигурации закеширована у пользователя на машине и нужные данные(можно сказать их копия) находятся на стороне пользователя, в оперативной памяти как привило...
@@tp2b Спасибо.
Так и не услышал то, чего я хотел услышать.... а именно про директиву &AtServerNoContext
Для новичков это лишнее :)
Ни чего сверхсложного с этой директивой нет.... когда мы её указываем, мы отсекаем текущий контекст,как правило контекст текущей формы.
Это экономит ресурсы на передачу этого контекста на сервер и обратно. На практике решительного прироста производительности обычно не даёт, т.к. оборудование +- живое у всех.
На мой взгляд наиболее явный выигрыш будет давать при использовании слабых каналов связи между сервером и клиентами.
В определенных случаях может сбивать фокус ввода на форме и прочую тарабарщину творить(точно случаи не назову, но сталкивался как-то давно с некоторыми проблемами использования этой директивы).
Очень жаль, что Вы хотели только об этой директиве услышать :(
@@tp2b Это я знаю. Только вопрос что конкретно он отсекает? Object ? Только он отсекается ? Я прав ?
В моём понимании текущий контекст...
Если говорить о форме... сама форма, элементы, реквизиты формы, глобальные переменные текущего модуля т.д.
Т.е. делая такой вызов, мы имеем всё кроме текущего контекста вызова процедуры/функции... на том и экономия ресурсов :)
Олег, будет ли продолжение?
Михаил, да обязательно будет.
УРА!!!
б оьь ь ь ь ььь ььь ььь ьь
MEAT ATNS
Вы перестали снимать?
Каникулы были... если их можно так назвать :)
Контент годный, но для восприятия нужно снизить скорость речитатива минимум в 2 раза. Слушатель, для которого это в новинку не успеет обдумать то, что Вы говорите.
В настройках воспроизведения можно понизить скорость, если это требуется.
Не согласен. Скорость идеальная. Это вы не смотрели ещё уроки Ильи Леонтьева))))) Там точно нужно замедлять. А тут ИДЕАЛЬНО!
К сожалению, уроков становится все меньше и меньше.
Очень высокая нагрузка сейчас, увы времени не хватает :(
Решения Домашнего Задания : Формат (Число(ВыборкаДетальныеЗаписи.Номер),"ЧГ =");
Вроде все понятно, но ничего не понял)))
вода.
Жалко мне тебя
Случается...
После джина и райского острова я отключился)))
Включайтесь обратно :)