Радоваться надо, что у нас в стране людям выкладывают подобные уроки. Подобное по SAP вы нигде не найдете бесплатно и все за деньги. Уроки по запросам фактически выходят даже за рамки 1С, это язык запросов, который используется практически везде.
Чтобы не быть ламинарией, напишу ка я тут комментарий! Олег, спасибо за урок. Разбор Конструктора запросов очень понравился в этом видео. Помню, что на очных курсах 1С Учебного центра №1, сколько я их не посещал, как то галопом через всё это проскакивали, видимо, потому что времени мало было. На видео уроках больше времени, потому можно поподробнее рассмотреть те или иные темы, но только тут я увидел размеренный обзор части возможностей конструктора запросов. Учитывая то, что 1С 8 версия делает большой упор на запросы, то предвкушаю разбор конструктора запросов в итоге до битов и молекул.))))
Уважаемый Автор, огромное Вам спасибо !!! Подача материала на высоте! все действия максимально комментируются, всё понятно с первого просмотра! Пишите книги, методички, рекомендации по созданию конфигураций! Лично я буду покупать Ваш материал с большим удовольствием.
Спасибо за добрые слова! Обратная связь очень помогает в работе над контентом. Продать пока не чего :( Но ... для желающих есть донаты в описании канала :) :) :)
Здравствуйте, Олег! Спасибо Вам большое за проделанную работу, материал подается очень доступно, уровень понимания по сравнению с официальными курсами от 1С на порядок выше. Пожалуйста, продолжайте в том же духе!
Знаете, мне нравится этот момент, когда ты думаешь: Блин я не понимаю, я видимо очень плохо справляюсь и в этот же момент Олег говорит: Может быть, пока это звучит сложно, не пугайтесь ничего страшного в этом нет, мы это еще разберём И сразу облегчение Спасибо за мотивацию))
@@bonjovi8610 временно перестал изучать на 4 месяца. Сейчас только устроился во франч компанию и на основе задач клиентов буду пытаться учитсья, повышать квалификацию. А так эти задачи я уже освоил, которые на видео
@@СашаБелый-к3к в бит или рарус? И чего скажешь про франч? Очень интересно услышать мнение? Правда ли то что первое время будешь сдавать на сертификат потом работать как консультант? Очень интересно..
Уважаемый учитель и автор канала, благодарю Вас за то что делитесь самым ценным, а именно опытом. Чем глубже погружаюсь в 1С, тем интереснее становится!
Очень рад, что уроки Вам нравятся. Если говорить не об уроках, а именно об опыте, то больше информации вот тут: boosty.to/tp2b/purchase/901925?ssource=DIRECT&share=subscription_link
27:10 Технически в 6-й строчке /ЕстьNULL(ПодуктыОстатки.КоличествоОстаток,0) у нас уже не может быть 0 или NULL, мы уже исключили этот вариант в первом условии. 31:40 Лишнее условие Если НЕ Отказ. Можно продолжить в предыдущем цикле Выборки, после Отказ = Истина; Иначе ...
Даааааа. на 10-ом уроке мозг заскрипел и пока всячески отказывается воспринимать информацию, повторить самостоятельно без пересмотра урока не особо получается,. как бы совсем не заблудиться)))) Олег спасибо за урок. очень интересно.... но пока не совсем всё конечно понятно)))))))
Небольшие ДЗ будут в следующих уроках... Полноценного ДЗ с проверкой в ближайших планах нет, возможно в рамках платных консультаций или высоких уровней спонсорства на канале.
Спасибо за постоянную мотивацию в виде ("Пока все может быть непонятно, не переживайте..."), Надеюсь дальше со временем станет более все понятно не все сразу дается. Пересматриваю раза по 3-10 когда совершаю ошибки.
Всё отлично!!! По запросам 1С я понял, что мне очень сильно помогают мои знания в надстройке Power Query из Excel, особенно в плане объединения запросов по таблицам, там смысл тот же, только гораздо нагляднее, проще и быстрее, также немного помогает осмыслить запросы в 1С начальная теория по запросам в SQL, там тот же синтаксис, только на английском И ещё: 1. Вместо произвольного выражения { ВЫБОР КОГДА ПродуктыОстатки.КоличествоОстаток >= втДанныеДокумента.Количество ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ } у меня сработало такое произвольное выражение { ПродуктыОстатки.КоличествоОстаток >= втДанныеДокумента.Количество } оно также возвращает ИСТИНА/ЛОЖЬ, как и выражение выше 2. В "Параметрах виртуальной таблицы" "ПродуктыОстатки" есть "Условие" (т.е. запрос в запросе) { Продукт В (ВЫБРАТЬ втДанныеДокумента.Продукт КАК Продукт ИЗ втДанныеДокумента КАК втДанныеДокумента) } Если это условие не указывать, то работает также Явно я чего-то не понимаю
Олег, большое спасибо за 10 очень полезный урок, за Ваш труд !!! Красивое и наглядное получилось решение условного проведения Потребления с применением пакета запросов и много другого интересного. Правда пришлось "попотеть" изучая данный урок : )
В целом хорошо, понятно и интересно. Но Олег с прошлого урока начал ускоряться: особенно в конце видео - не успеваю без паузы за действиями. В этом уроке особенно часто приходится пересматривать, какой кусок кода куда перемещается, из каких таблиц берутся данные, чтобы повторить у себя в конфигураторе.
В конце вы сказали "еще раз пробежимся по тому что мы сделали", по итогу вы просто сказали насколько стал компактным код, очень познавательно. Но в целом урок полезный, мне понравилось Правда были лишние проверки
тяжело в учении, легко в бою.. трудно быстро усвоить что к чему, но из-за красивой и приятной подачи автора хочу уйти с фронт на бэк-энд, а именно 1с. буду усердствовать и не сдаваться , надеюсь, у меня получится
Олег, списибище огромное за бесплатные качественные уроки! Смотрю, повторяю за вами, все понятно, НО! смогу ли сама понять что откуда взять и куда вставить? Пока точно нет ((( Но, очень интересно 😂
Прекрасный разбор полетов. Много фишек по работе со средой обитания, которые по учебнику не изучишь. Но! Ужасно не хватает полного кода для самопроверки. Я 20 минут потратила на поиски ошибки: в регистр не писался финальный результат. И 1С ничего не сообщает. И синтаксис-проверка проходит. А просто при втором переборе результатов выборки забыла вписать ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Догадалась из опыта работы в других языках. Спасибо за курс. Полное и довольно быстрое погружение в платформу и язык.
@@tp2b Спасибо за предложение повторить, прошла всё заново до этого урока, реально многое стало понятней. но надеюсь следующие уроки полегче зайдут, и не нужно будет смотреть по два раза.
Добрый день! Вопрос, зачем нужна проверка "Если Не Отказ Тогда..."? Если я правильно понимаю как все работает, Тогда выполнение кода и так не дойдет до этого момента и остановится на проверки "//Проверяем можно ли провести документ" где и случится отказ. Пробовал строку удалить ничего при выполнение не меняется... Хочу отдельно сказать спасибо за Ваш курс. Очень нравится подача со вставочками кошаков и коротких шуток. И от процесса не отвлекает и расслабляет, когда надо)
Здравствуйте! Я что-то пропустил или у всех при повторном проведении, производится новое списание остатков, то есть не происходит очищение прошлых записей?
Здравствуйте! Объясните, пожалуйста, зачем мы используем два цикла "Пока" в конце кода при записи движений? Можно же и проверку на кол-во, и запись движений расположить в одном цикле, и ничего не измениться. Т.е. если кол-ва какого-либо продукта не будет хватать, то документ не проведётся в любом случае + код будет выглядеть лаконичнее. Может я чего-то не понимаю..
Спасибо за уроки. Зачем два раза прогонять цикл ВыборкаДетальныеЗаписи? Это же в два раза больше памяти. Как сделать нумерация строк в редакторе кода 1c и сворачивания кода по если, цикл и т.п. ?
Пожалуйста. Можно, но конструктор будет их удалять. т.е. уже в самом запросе после конструктора можно... Через // это бывает очень удобно. Но если потом поправить запрос конструктором, то он их удалит.
ВыборкаДетальныеЗаписи дважды цикл, сначала проверка на наличие продукта по всем записям, потом цикл заполнение движения по регистру, мне кажется можно в одном цикле всё сделать
Я конструкторы в разумных пределах люблю и использую. В реальной практике мне это экономит время и силы. Бывает запросы правлю или дописываю руками, но это скорее локальные работы после которых конструктором всё форматирую. Может мой мозг примитивнее :) но мне так проще работать :)
@@tp2b программирование в целом про эффективность, кмк. Мозг в целом - про минимизацию затрат (попросту - лень. Это я как бывший врач говорю)). С обеих точек зрения - конструктор запросов рулит! )
Если НЕ Отказ Тогда нужно для того, чтобы в случае отказа НЕ выполнять эту часть кода, т.е. не пытаться делать движения, т.к. мы их всё равно сохранять не собираемся, ибо Отказ = Истина
Тогда программа остановится при первой же нехватке Продукта. Представим себе ситуацию... в документе сотня строк и часть из них в дефиците... Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. _ надоело_ Сколько можно?! Проводим документ. Ошибка. Правим. Проводим документ. Ошибка. Правим. _злимся_ Программист ДонГан! ----------------------------------------------------------------------- В нашем случае, получаем полный список того, что надо исправить.
Подскажите, в чем ошибка: при проведении документа пишет поле объекта не обнаружено (Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: Поле объекта не обнаружено (Следующий) {Документ.Потребление.МодульОбъекта(71)}:Пока ВыборкаДетальныеЗаписи.Следующий Цикл [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка])
Стоит ли паниковать, я до сих пор не могу понять, как работает "Движение" в коде... ? Вроде поверхностно понимаю, что ДВИЖЕНИЕ - оно заносит записи в регистры или выводит нам данные... но чет запутываться начинаю
Паниковать ни когда не стоит! Что-то поначалу нужно просто запомнить, а глубокое понимание придёт со временем. Это нормально, т.к. платформа - мощная и объёмная, какие-то её части сразу понять и принять сложно, но можно представлять их в виде "чёрного ящика", который выполняет определенную функцию и сразу не пытаться понять как именно он это делает. С практикой такие "черные ящики" начнут становиться прозрачными и понятными. Получается что в этом чёрном ящике лежат все записи в регистрах которые делает документ при проведении(независимые регистры пока не рассматриваем). А значит мы их туда можем не только добавлять, но можем их и удалять и читать при необходимости.
Спасибо за урок! Вопрос. Зачем второй раз "дёргать" базу командой ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Так не "дешевле" будет? Если НЕ Отказ Тогда ВыборкаДетальныеЗаписи.Сбросить(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Пожалуйста. Вы правы, так оптимальнее. На сколько большой выигрыш, сложно сказать, но оптимальнее. Есть несколько причин, почему написано не оптимально: 1. Пример выборки повторён для упрощения запоминания конструкций. Оптимизация кода - отличная привычка, но до неё многие новички "не доживают". Мне кажется, чем меньше нужно запомнить перед тем, как выпихнут из гнезда, тем меньше вероятность разбиться. А дальше, мясо уже нарастёт с новыми уроками/экспериментами/практикой. 2. Читать такой код чуть проще. 3. На сертификации этот подход допустим. 4. Я не профессиональный преподаватель, могу ошибаться в суждениях :) :) Разделяю суждение "Лучше сразу сделать хорошо!", но на практике, часто решения приходится строить более приземлённым способом, а оптимизировать уже после получения рабочего прототипа :) PS Особенно приятно видеть такие комментарии!
Споткнулся на 9 уроке. Где то можно найти более детальный разбор кода в обработке проведения, начиная с введения запросов ? Я реально начинающий и довольно сложно все понять.
Согласна.И мне теперь жалко,что в Нетологии купила. Ничего там не понимаю(. А здесь все очень доступно. Уметь объяснить понятным языком - это дар! СПАСИБО!
Есть один нюанс, который я бы отметил. Консоль запросов выдаст ошибку при попытке создать запрос в произвольном выражении (сделать пробел и выделить) и работает это только через конструктор в конфигураторе. Так же насчет связей - конструктор связей в консоле принципиально другой в виде иерархии и абсолютно не похож на строки в конструкторе конфигурации. И автор незаметно перепрыгивает с консоли на конструктор конфигуратора и обратно не акцентируя на этом внимание, а ведь инструменты отличаются.
Подскажите пожалуйста. На счет цикла ПОКА . После запроса вы делаете два цикла ПОКА. Первый цикл для проверки остатков. Второй цикл для записи движений в регистр. Я сделал все в один цикл и тоже работает. Два цикла вы делаете для увеличения скорости обработки?
Да, в одном тоже всё будет прекрасно работать... Но: 1. В реальной работе это будет жрать лишние ресурсы, особенно если регистров несколько 2. На экзамене можно лишиться балов за не оптимальный алгоритм Тема оптимизации вообще мутная и неоднозначная, об этом тоже на канале будет видео и не одно :)
Добрый вечер. У вас на 15.23 в консоли приведен пакетный запрос т.е. два запроса, а результат показан только по остаткам "РегистрНакопленияПродуктыОстатки. А где выборка по документу?
Представление об SQL конечно пригодится, но косвенно. SQL может потребоваться при работе с внешними данными или на этапе оптимизации запросов в 1С. Реально с необходимостью уметь писать сложные запросы на SQL практически не сталкиваюсь в своей работе.
По мне, так 100% одно и тоже. Только первый вариант более универсальный/энциклопедичный что ли. А второй более компактный, но чуть более скрытный для людей делающий первые шаги. Сам обычно пользуюсь первым, просто по привычке...
Спасибо за урок. Что если у нас расходный документ ( потребление) будет 1000 штук , бред же параметр писать в запросе ГДЕ. Какие методы в данном случаи помогут. Ответьте также по вопросу группировки Продукты по товарам . Как можно сделать так , чтобы в 1000 разных документах повторяющихся строках ( товары (( к примеру булочка с корицей) мы бы могли одним кодом сгруппировать их). Спасибо за ответ
Если нужны строки документа, то тут или ГДЕ или Соединение с условием, других вариантов в голову не приходит. Если нужно что-то другое, то и условие будет другое.
Извините, за, наверное, глупый вопрос. Почему на 13 минуте мы продукты из виртуальной таблицы ищем в списке значений временной? В виртуальной же хранятся все остатки и логичнее меньшее количество из временной искать во всех остатках виртуальной? Это потому что всегда первые условия ставим в параметрах виртуальной? И зачем вообще это условие, если потом все равно будем создавать связи, и лишние товары отсеются?
Не совсем так... мы ограничиваем выборку в виртуальной таблице только нужными продуктами. т.е. вирутальная таблица без такого ограничения вернёт нам всё что есть на остатках регистра, а дальше мы уже можем это ограничить либо условиями, либо связями, но это ограничение уже будет наложено на полную выборку. С точки зрения теории, чем раньше мы ограничим выборку, тем лучше т.к. платформе нужно будет меньше ресурсов для хранения и дальнейшей обработки данных выборки. А на практике надо реально смотреть, что работает быстрее и сколько пожирает ресурсов, т.к. подзапрос в условиях виртуальных таблиц, тоже не очень оптимально и любые практические решения это почти всегда компромиссы между сложностью/скоростью/прожорливостью ресурсов :)
@@tp2b 32:19. Зачем дополнительное ветвление с уловием "Если НЕ Отказ"? Нельзя было запись полей регистра прописать в цикле обхода итератора .Следующий() расположенном выше, применив условие ИНАЧЕ ЕСЛИ при проверке "достаточного количества остатков"? Сразу извиняюсь, если не прав)))
Логика простая.... в первом цикле, мы еще не знаем, сможем ли провести документ. Но этом этапе тратить ресурсы на создание записей в регистр не логично... в документе может быть несколько тысяч строк и только в последней будет не хватать остатков. Получится, что мы сделаем множество новых записей(а все они будут занимать память) и потом выяснится, что всё делали зря. А так у нас код длиннее, но ресурсы используются экономнее.
Здравствуйте. Сдается мне , что подзапрос чтобы избавиться от Спичек и Булочки свердловской не нужен. В дальнейшем при левом соединении эти товары в любом случае исчезли.
Это вопрос оптимизации. Если не установить отбор в параметрах виртуальной таблицы, то из базы данных будут считаные все (!) остатки, а потом уже при соединении останутся только нужные. Если же установить отбор, то из базы данных будут получены только нужные остатки и платформе только останется их соединить с левой таблицей. И на экзамене за не установленный отбор в параметрах виртуальной таблицы будет снижен бал.
Всё просто :) Первый раз мы обходим выборку для того, чтобы убедиться что документ можно провести, но пока мы в этом не убедились, мы не тратим ресурсы на создание движений. Если документ будет нельзя провести, получится что мы зря эти ресурсы тратили. Второй раз мы уже уверены в том, что документ сможем провести и уже, обходя туже выборку второй раз, формируем движения. Как-то так :)
Мне кажется, что вопрос был, зачем мы два раза осуществляем ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать(). Тут дело в том, что запрос это таблица, в которой есть строки и курсор выбора, который расположен в начале этой таблицы, и использование метода ВыборкаДетальныеЗаписи. Следущий(), заставляет нас эти строки прочитать и перевести курсор выбора в самый конец таблицы. Говоря проще, всё данные которые мы уже считали из запроса, из него удаляются. А так как в первом цикле мы считываем данные, по выходу из этого цикла мы получаем пустую переменную ВыборкаДетальныеЗаписи. Потом мы её заполняем данными заново, и снова считываем всё данные. И если бы нам нужен был третий цикл по этим данным, мы бы снова заполнили бы переменную ВыборкаДетальныеЗаписи данными.
Странное дело. Создал второй документ с именем Потребление1, идентичный Потреблению (он работает). С целью потренироваться. Хотел проверить свою теорию, что второе Если НЕ Отказ Тогда, можно было разместить в первое ЕСЛИ, добавив ИНАЧЕ. Обойтись одним циклом. Но идентичный документ Потребление1 (тексты модулей идентичны) не делает записи в регистр... Сломал голову почему... За труды однозначно спасибо!
Если сначала будет теория по тому материалу, который будет применяться, то интерес к видеороликам должен возрасти, а так для новичка это сплошной непролазный лез и набор букафффф.... Вспомните как на Алгебре/Геометрии преподавали - сначала теория, а потом уже наработка практики на примерах!!!! а учиться по принципу "смотри и нажимай что я нажимаю" + "позже посмотрим..." это результата и эффекта не дает! Человек должен понимать что он делает и должен ДУМАТЬ, а не просто запоминать потому что ему так показали + может и через 5-10 минут забыть, так как память у всех разная, а запоминать то что не понято что, то кому это надо??? Материал будет интересен и понятен если будет излагаться последовательно (одно за другим, без забегания вперед без подготовленной теоретической базы), именно так и строилось образование в Советской школе и были отличные результаты (аналогично и в ВУЗах) 🙂. В видео показали Соединение Таблиц - при этом тема и в ней и Правое и Левое соединение, и Внутреннее и Полное.... а что как и зачем БАЗЫ ТЕОРЕТИЧЕСКОЙ то нет в видео....
@@tp2b Ок 🙂 и еще бы если будет возможно, то схемы бы для визуального восприятия 😉 (с рисунками лучше воспринимается и понятнее что где искать и как оно должно быть)
@@tp2b в Цикле по проведению Документа указываются в частности Номер, Дата и др реквизиты чтобы появилась запись в Регистре, а где можно посмотреть какие данные нужны для написания этого кода (программа сама может автоматически этот код написать, НО где-то же в неё заложено какие реквизиты ей нужно записать по принципу ВЗЯТЬ в одном Документе и передать во ВТОРОЙ/ДРУГОЙ ДОКУМЕНТ) - чтобы понять новичку где что посмотреть и какие данные необходимы для написания кода....может немного сумбурно описал
Чёт сложноватый урок получился. Так и не понял зачем мы создавали какой-то главный запрос с полями нашего документа. Если нужно было отфильтровать определённым образом записи, которые будем выбирать, можно же просто это в колонке Условия сделать? А во втором запросе вместо данных из временной таблицы, которые у нас Продукт и Количество, использовали бы данные напрямую из документа. Ну и связали бы тоже с документом, а не с этой временной таблицей. И да, почему на 31 минуте нельзя просто написать через Иначе условие, которое у нас проверяет истинность того, что хватает остатков, а не завершать цикл полностью и потом писать другой цикл? Типо после Отказ = Истина пишем не КонецЦикла, а Иначе, и наш код с движениями.
Поддержать канал/Получить плюшки: boosty.to/tp2b
Поддержать рублем: donate.stream/tp2b
Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1
Все отлично. Пожалуй лучшее, что сейчас можно найти по 1С. УЦ разные курят в сторонке и завидуют. 👍
Радоваться надо, что у нас в стране людям выкладывают подобные уроки. Подобное по SAP вы нигде не найдете бесплатно и все за деньги. Уроки по запросам фактически выходят даже за рамки 1С, это язык запросов, который используется практически везде.
Ухххх.... сложный урок был. Пришлось два раза пересмотреть! ))) Очень нравится, как Вы обучаете! ))) Всем бы таких замечательных учителей)))
Вы единственный блогер которого не хотелось бы потерять если заблокируют ютуб )
Чтобы не быть ламинарией, напишу ка я тут комментарий!
Олег, спасибо за урок. Разбор Конструктора запросов очень понравился в этом видео.
Помню, что на очных курсах 1С Учебного центра №1, сколько я их не посещал, как то галопом через всё это проскакивали, видимо, потому что времени мало было.
На видео уроках больше времени, потому можно поподробнее рассмотреть те или иные темы, но только тут я увидел размеренный обзор части возможностей конструктора запросов. Учитывая то, что 1С 8 версия делает большой упор на запросы, то предвкушаю разбор конструктора запросов в итоге до битов и молекул.))))
Уважаемый Автор, огромное Вам спасибо !!! Подача материала на высоте! все действия максимально комментируются, всё понятно с первого просмотра! Пишите книги, методички, рекомендации по созданию конфигураций! Лично я буду покупать Ваш материал с большим удовольствием.
Спасибо за добрые слова!
Обратная связь очень помогает в работе над контентом.
Продать пока не чего :(
Но ... для желающих есть донаты в описании канала :) :) :)
Спасибо за уроки! Я только начинаю изучать 1С, и ваш материал дается легко. Канал поддержал ))
Пожалуйста. Очень стараюсь делать уроки понятными.
Благодарю и за добрые слова, и за донат. Очень приятно!
Уважаемый Автор, огромное Вам спасибо
Пожалуйста :)
Здравствуйте, Олег! Спасибо Вам большое за проделанную работу, материал подается очень доступно, уровень понимания по сравнению с официальными курсами от 1С на порядок выше. Пожалуйста, продолжайте в том же духе!
Стараюсь.
В середине весны продолжу :) Есть все шансы.
Знаете, мне нравится этот момент, когда ты думаешь: Блин я не понимаю, я видимо очень плохо справляюсь
и в этот же момент Олег говорит: Может быть, пока это звучит сложно, не пугайтесь ничего страшного в этом нет, мы это еще разберём
И сразу облегчение
Спасибо за мотивацию))
Согласен, мне тоже становится страшно из-за того что не понимаю, но когда говорят "ничего страшного" сразу облегчение
А сейчас уже понимаете?
@@bonjovi8610 временно перестал изучать на 4 месяца. Сейчас только устроился во франч компанию и на основе задач клиентов буду пытаться учитсья, повышать квалификацию. А так эти задачи я уже освоил, которые на видео
@@СашаБелый-к3к Взяли стажером прям так без курсов, "с улицы"?)
@@СашаБелый-к3к в бит или рарус? И чего скажешь про франч? Очень интересно услышать мнение? Правда ли то что первое время будешь сдавать на сертификат потом работать как консультант? Очень интересно..
Большущий лайк!!! В целом все понятно, но завтра буду пересматривать ))
Огромное спасибо и с надеждой ждем новых серий...
Пожалуйста :)
Новая серия вышла.
Спасибо, Олег! До чего же шикарная подача материала!
Пожалуйста!
Это лучшее видео по запросам для новичков. У вас талант. Большое вам спасибо.
Пожалуйста :)
Уважаемый учитель и автор канала, благодарю Вас за то что делитесь самым ценным, а именно опытом. Чем глубже погружаюсь в 1С, тем интереснее становится!
Очень рад, что уроки Вам нравятся.
Если говорить не об уроках, а именно об опыте, то больше информации вот тут: boosty.to/tp2b/purchase/901925?ssource=DIRECT&share=subscription_link
@@tp2b Уже частенько поглядываю на этот канал. Надеюсь что в ближайшем будущем оформлю подписку. Уверен что там много полезной информации.
Лучшая подача материала. Ну и отдельное спасибо за поддержку в конце каждого ролика!)
Стараюсь :)
Разгребу дела и вернусь к съемкам продолжения... соскучился, просто жуть :)
учусь в колледже на программиста, щас на 2 курсе, у нас в программе есть 1с, ничего не объясняют толком, спасибо за ваши курсы в бесплатном доступе!
Отличная подача. Все понятно. Спасибо.
Каждое видео - бриллиант!
Большая Вам благодарность!) Все просмотренные видео обязательно лайкаю)
27:10 Технически в 6-й строчке /ЕстьNULL(ПодуктыОстатки.КоличествоОстаток,0) у нас уже не может быть 0 или NULL, мы уже исключили этот вариант в первом условии.
31:40 Лишнее условие Если НЕ Отказ. Можно продолжить в предыдущем цикле Выборки, после Отказ = Истина; Иначе ...
Даааааа. на 10-ом уроке мозг заскрипел и пока всячески отказывается воспринимать информацию, повторить самостоятельно без пересмотра урока не особо получается,. как бы совсем не заблудиться)))) Олег спасибо за урок. очень интересно.... но пока не совсем всё конечно понятно)))))))
Не всё сразу... со временем и с практикой придет понимание и спокойствие :)
Очень хочу изучить данное направление, а с вашими уроками одно удовольствие, от души 👍
Посмотрел 3 раза, но я уверен что за один урок могли это объяснить только вы!
Очень понравился урок по запросам. С нетерпением перехожу к следующему)
Олэжек вы просто умничка, суперские уроки, давайте нам ДЗ что бы еще и поработать самим и проверить свои знания...
Небольшие ДЗ будут в следующих уроках...
Полноценного ДЗ с проверкой в ближайших планах нет, возможно в рамках платных консультаций или высоких уровней спонсорства на канале.
Спасибо за Ваш труд! Все очень доступно, все по полочкам!
Самые понятные курсы! спасибо огромное за труд.
Пожалуйста :)
Спасибо за постоянную мотивацию в виде ("Пока все может быть непонятно, не переживайте..."), Надеюсь дальше со временем станет более все понятно не все сразу дается. Пересматриваю раза по 3-10 когда совершаю ошибки.
Если регулярно заниматься и не бояться экспериментировать, то всё обязательно станет просто и понятно.
Всё отлично!!! По запросам 1С я понял, что мне очень сильно помогают мои знания в надстройке Power Query из Excel, особенно в плане объединения запросов по таблицам, там смысл тот же, только гораздо нагляднее, проще и быстрее, также немного помогает осмыслить запросы в 1С начальная теория по запросам в SQL, там тот же синтаксис, только на английском
И ещё:
1. Вместо произвольного выражения
{
ВЫБОР
КОГДА ПродуктыОстатки.КоличествоОстаток >= втДанныеДокумента.Количество
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
}
у меня сработало такое произвольное выражение
{
ПродуктыОстатки.КоличествоОстаток >= втДанныеДокумента.Количество
}
оно также возвращает ИСТИНА/ЛОЖЬ, как и выражение выше
2. В "Параметрах виртуальной таблицы" "ПродуктыОстатки" есть "Условие" (т.е. запрос в запросе)
{
Продукт В
(ВЫБРАТЬ
втДанныеДокумента.Продукт КАК Продукт
ИЗ
втДанныеДокумента КАК втДанныеДокумента)
}
Если это условие не указывать, то работает также
Явно я чего-то не понимаю
Олег, большое спасибо за 10 очень полезный урок, за Ваш труд !!! Красивое и наглядное получилось решение условного проведения Потребления с применением пакета запросов и много другого интересного. Правда пришлось "попотеть" изучая данный урок : )
В целом хорошо, понятно и интересно. Но Олег с прошлого урока начал ускоряться: особенно в конце видео - не успеваю без паузы за действиями. В этом уроке особенно часто приходится пересматривать, какой кусок кода куда перемещается, из каких таблиц берутся данные, чтобы повторить у себя в конфигураторе.
Спасибо за уроки. Сама, конечно, еще повторить не смогу, но появилась надежда, что рано или поздно, получится))
Не всё сразу :)
Смотрите уроки, тренируйтесь самостоятельно и всё получится!
Спасибо за урок! Лайк однозначно.
Спасибо! У Вас - лучшие уроки.
Супер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Спасибо. Отличные уроки.
В конце вы сказали "еще раз пробежимся по тому что мы сделали", по итогу вы просто сказали насколько стал компактным код, очень познавательно.
Но в целом урок полезный, мне понравилось
Правда были лишние проверки
Сложно, но интересно) 9 и 10 урок пересмотрел по несколько раз) спасибо, тезка
Лучший дядька! 🙏❤
Спасибо! Отличный урок!!!
супер! талант
СПАСИБО! ВСЕ СУПЕР!
Пожалуйста
тяжело в учении, легко в бою.. трудно быстро усвоить что к чему, но из-за красивой и приятной подачи автора хочу уйти с фронт на бэк-энд, а именно 1с. буду усердствовать и не сдаваться , надеюсь, у меня получится
Отличный урок!
Спасибо :)
Спасибо!
Олег, списибище огромное за бесплатные качественные уроки! Смотрю, повторяю за вами, все понятно, НО! смогу ли сама понять что откуда взять и куда вставить? Пока точно нет ((( Но, очень интересно 😂
Спасибо, вроде все понятно, но нужно пересмотреть еще раз)
Очень крутой урок! Действительно небольшой код.
Интересный получился урок. (не знал, что большую часть можно сделать через запросы)
было не просто но победил)) спасибо
Благодарю за ролик! Задонатил ещё немного.
Спасибо за поддержку! Очень приятно :)
Прекрасный разбор полетов. Много фишек по работе со средой обитания, которые по учебнику не изучишь. Но! Ужасно не хватает полного кода для самопроверки. Я 20 минут потратила на поиски ошибки: в регистр не писался финальный результат. И 1С ничего не сообщает. И синтаксис-проверка проходит. А просто при втором переборе результатов выборки забыла вписать ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Догадалась из опыта работы в других языках. Спасибо за курс. Полное и довольно быстрое погружение в платформу и язык.
Про это будет урок...
Если у Вас осталась база с косяком, пришлите пожалуйста выгрузку на почту tp2b@ya.ru .
Спасибо за уроки , вроде всё понятно, Но я уверена что сам , без помощи я не смогу всё это повторить.
Повторение - мать учения :)
@@tp2b Спасибо за предложение повторить, прошла всё заново до этого урока, реально многое стало понятней. но надеюсь следующие уроки полегче зайдут, и не нужно будет смотреть по два раза.
Добрый день!
Вопрос, зачем нужна проверка "Если Не Отказ Тогда..."?
Если я правильно понимаю как все работает, Тогда выполнение кода и так не дойдет до этого момента и остановится на проверки "//Проверяем можно ли провести документ" где и случится отказ. Пробовал строку удалить ничего при выполнение не меняется...
Хочу отдельно сказать спасибо за Ваш курс. Очень нравится подача со вставочками кошаков и коротких шуток. И от процесса не отвлекает и расслабляет, когда надо)
Збс!
хосподи, как вы этим встроенным редактором пользуетесь? после Visual Studio Code это как в 2000 попал...
Здравствуйте! Я что-то пропустил или у всех при повторном проведении, производится новое списание остатков, то есть не происходит очищение прошлых записей?
Здравствуйте!
Объясните, пожалуйста, зачем мы используем два цикла "Пока" в конце кода при записи движений?
Можно же и проверку на кол-во, и запись движений расположить в одном цикле, и ничего не измениться. Т.е. если кол-ва какого-либо продукта не будет хватать, то документ не проведётся в любом случае + код будет выглядеть лаконичнее.
Может я чего-то не понимаю..
Спасибо Олег, прекрасно продумана цепочка "от простого к сложному"
Вопрос: отрицательное количество тоже проводим, или лучше поставить условие "
Рад что уроки нравятся.
В вопросах указывайте таймкоды, пожалуйста.
Спасибо за уроки. Зачем два раза прогонять цикл ВыборкаДетальныеЗаписи? Это же в два раза больше памяти. Как сделать нумерация строк в редакторе кода 1c и сворачивания кода по если, цикл и т.п. ?
Со второго просмотра стало понятнее)
Олег, спасибо вам большое за ваш огромный труд. По ходу видео возник вопрос, можно писать комментарии в теле запроса?
Пожалуйста.
Можно, но конструктор будет их удалять. т.е. уже в самом запросе после конструктора можно... Через // это бывает очень удобно. Но если потом поправить запрос конструктором, то он их удалит.
Помните слова Реввы из одной из его лучших песен: "Это пожалуй лучшее что я слышал за последние 30 лет..." 😀
ВыборкаДетальныеЗаписи дважды цикл, сначала проверка на наличие продукта по всем записям, потом цикл заполнение движения по регистру, мне кажется можно в одном цикле всё сделать
Сделать можно... но надо слушать...
А почему в 10 уроке на 5 минуте остаток булочек с корицей 7. Их же съели в 9 уроке?
Программный код уже как родной)
👍👍
А если сразу соединить запрос 1 и запрос 2 в одном запросе, не используя временную таблицу. Это менее производительно получится?
Гораздо лучше чем у Чистова, спасибо огромное)
Чистов - профессиональный преподаватель, а я любитель :)
Честно, очень приятно такое слышать!
@@tp2b Чистов постоянно всё пишет руками, Конструкторы запросов он не любит, а без них я с трудом понимаю, что он пишет вообще и начинаю засыпать)
Я конструкторы в разумных пределах люблю и использую.
В реальной практике мне это экономит время и силы.
Бывает запросы правлю или дописываю руками, но это скорее локальные работы после которых конструктором всё форматирую. Может мой мозг примитивнее :) но мне так проще работать :)
@@tp2b программирование в целом про эффективность, кмк. Мозг в целом - про минимизацию затрат (попросту - лень. Это я как бывший врач говорю)). С обеих точек зрения - конструктор запросов рулит! )
Не могу найти ВАШ коментарий с ссылкой на скачивание файла базы
Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1
Вы забыли, это:
//Проверим, документ не пустой?
Если Продукты.Количество() = 0 Тогда
Сообщить("Внимание, братанжан! Документ пустой!");
Отказ = Истина;
Возврат;
КонецЕсли;
почему именно с "ВЫБОР" делается проверка остатков? не проще просто сравнение 2 чисел (Документ и остатки). результатом так же будет да\нет
31:45 Зачем нужно условие: «Если НЕ Отказ Тогда»? Не является ли оно лишним? И без этого условия код будет прочитан дальше по порядку.
Если НЕ Отказ Тогда
нужно для того, чтобы в случае отказа НЕ выполнять эту часть кода, т.е. не пытаться делать движения, т.к. мы их всё равно сохранять не собираемся, ибо Отказ = Истина
@@tp2b Вы хотели сказать "...в случае отказа НЕ выполнять эту часть кода,..."? Нет опечатки?
Вы правы :)
Ответ поправил.
@@tp2b А почему просто Возврат; после Отказ = Истина; в этом же теле цикла нельзя сделать???
Тогда программа остановится при первой же нехватке Продукта.
Представим себе ситуацию... в документе сотня строк и часть из них в дефиците...
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
_ надоело_
Сколько можно?!
Проводим документ. Ошибка. Правим.
Проводим документ. Ошибка. Правим.
_злимся_
Программист ДонГан!
-----------------------------------------------------------------------
В нашем случае, получаем полный список того, что надо исправить.
Подскажите, в чем ошибка: при проведении документа пишет поле объекта не обнаружено (Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Поле объекта не обнаружено (Следующий)
{Документ.Потребление.МодульОбъекта(71)}:Пока ВыборкаДетальныеЗаписи.Следующий Цикл
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка])
В невнимательности....Следующий это метод, а не свойство...
Стоит ли паниковать, я до сих пор не могу понять, как работает "Движение" в коде... ? Вроде поверхностно понимаю, что ДВИЖЕНИЕ - оно заносит записи в регистры или выводит нам данные... но чет запутываться начинаю
Паниковать ни когда не стоит! Что-то поначалу нужно просто запомнить, а глубокое понимание придёт со временем. Это нормально, т.к. платформа - мощная и объёмная, какие-то её части сразу понять и принять сложно, но можно представлять их в виде "чёрного ящика", который выполняет определенную функцию и сразу не пытаться понять как именно он это делает.
С практикой такие "черные ящики" начнут становиться прозрачными и понятными.
Получается что в этом чёрном ящике лежат все записи в регистрах которые делает документ при проведении(независимые регистры пока не рассматриваем). А значит мы их туда можем не только добавлять, но можем их и удалять и читать при необходимости.
Спасибо за урок! Вопрос.
Зачем второй раз "дёргать" базу командой ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Так не "дешевле" будет?
Если НЕ Отказ Тогда
ВыборкаДетальныеЗаписи.Сбросить();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Пожалуйста.
Вы правы, так оптимальнее. На сколько большой выигрыш, сложно сказать, но оптимальнее.
Есть несколько причин, почему написано не оптимально:
1. Пример выборки повторён для упрощения запоминания конструкций.
Оптимизация кода - отличная привычка, но до неё многие новички "не доживают".
Мне кажется, чем меньше нужно запомнить перед тем, как выпихнут из гнезда, тем меньше вероятность разбиться. А дальше, мясо уже нарастёт с новыми уроками/экспериментами/практикой.
2. Читать такой код чуть проще.
3. На сертификации этот подход допустим.
4. Я не профессиональный преподаватель, могу ошибаться в суждениях :) :)
Разделяю суждение "Лучше сразу сделать хорошо!", но на практике, часто решения приходится строить более приземлённым способом, а оптимизировать уже после получения рабочего прототипа :)
PS Особенно приятно видеть такие комментарии!
@@tp2b Зачем Если Не Отказ, когда можно продолжить цикл Иначе в предыдущем цикле Выборки?
Сложновато, конечно. Не понято, как это придумывали..
Споткнулся на 9 уроке. Где то можно найти более детальный разбор кода в обработке проведения, начиная с введения запросов ?
Я реально начинающий и довольно сложно все понять.
А что именно не понятно ?
Есть урок 16 про Контекст и еще по общему написанию кода 19, 20.
Возможно они закроют часть пробелов.
прекрасный учитель. пожалел что купил курс от skill box.вы намного интереснее и лучше рассказывайте!
Спасибо :)
Но у них полный курс, а мой еще только снимается...
Согласна.И мне теперь жалко,что в Нетологии купила. Ничего там не понимаю(. А здесь все очень доступно. Уметь объяснить понятным языком - это дар! СПАСИБО!
Есть один нюанс, который я бы отметил. Консоль запросов выдаст ошибку при попытке создать запрос в произвольном выражении (сделать пробел и выделить) и работает это только через конструктор в конфигураторе. Так же насчет связей - конструктор связей в консоле принципиально другой в виде иерархии и абсолютно не похож на строки в конструкторе конфигурации. И автор незаметно перепрыгивает с консоли на конструктор конфигуратора и обратно не акцентируя на этом внимание, а ведь инструменты отличаются.
Нигде он не перепрыгивает, просто проверяет в консоле код, написанный в конфигураторе. А пишет в этом уроке код весь в конфигураторе.
Подскажите пожалуйста. На счет цикла ПОКА . После запроса вы делаете два цикла ПОКА. Первый цикл для проверки остатков. Второй цикл для записи движений в регистр. Я сделал все в один цикл и тоже работает. Два цикла вы делаете для увеличения скорости обработки?
Да, в одном тоже всё будет прекрасно работать...
Но:
1. В реальной работе это будет жрать лишние ресурсы, особенно если регистров несколько
2. На экзамене можно лишиться балов за не оптимальный алгоритм
Тема оптимизации вообще мутная и неоднозначная, об этом тоже на канале будет видео и не одно :)
А вы сами учились в ВУЗе этому или с другой профессии попали в 1С?
Близко к этому учился... Но именно 1С у нас не преподавали :(
Добрый вечер. У вас на 15.23 в консоли приведен пакетный запрос т.е. два запроса, а результат показан только по остаткам "РегистрНакопленияПродуктыОстатки. А где выборка по документу?
Добрый вечер.
Она(первая выборка) была помещена во временную таблицу, а после выполнения всего запроса она была уничтожена.
у меня теперь документ потребление отказывается проводится ссылаясь на то, что не достаточно продукта, хотя продуктов хватает
Спасибо вам!! Стоит ли изучать язык СКЛ для 1с?
Представление об SQL конечно пригодится, но косвенно.
SQL может потребоваться при работе с внешними данными или на этапе оптимизации запросов в 1С.
Реально с необходимостью уметь писать сложные запросы на SQL практически не сталкиваюсь в своей работе.
@@tp2b хорошо! Можно сделать уроки загрузка из разных файлы Экзел, ПДФ, тхт, хмл и т.д?
Такие уроки будут, но не в ближайшее время. Всё сразу успеть нельзя :(
PDF - это вообще отдельная тема с библиотеками распознавания :)
Добрый Вечер, делал всё как вы, но у меня почему то проводится документ, ошибку не выдаёт, из за чего это может быть??
Значит не всё так как я :)
Олег, скажите на сколько равнозначны записи:
"Движение = Движения.Продукты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;"
и
"Движение = Движения.Продукты.ДобавитьРасход();"
По мне, так 100% одно и тоже.
Только первый вариант более универсальный/энциклопедичный что ли.
А второй более компактный, но чуть более скрытный для людей делающий первые шаги.
Сам обычно пользуюсь первым, просто по привычке...
@@tp2b Спасибо!
Спасибо за урок. Что если у нас расходный документ ( потребление) будет 1000 штук , бред же параметр писать в запросе ГДЕ. Какие методы в данном случаи помогут. Ответьте также по вопросу группировки Продукты по товарам . Как можно сделать так , чтобы в 1000 разных документах повторяющихся строках ( товары (( к примеру булочка с корицей) мы бы могли одним кодом сгруппировать их).
Спасибо за ответ
Если нужны строки документа, то тут или ГДЕ или Соединение с условием, других вариантов в голову не приходит.
Если нужно что-то другое, то и условие будет другое.
Извините, за, наверное, глупый вопрос. Почему на 13 минуте мы продукты из виртуальной таблицы ищем в списке значений временной? В виртуальной же хранятся все остатки и логичнее меньшее количество из временной искать во всех остатках виртуальной? Это потому что всегда первые условия ставим в параметрах виртуальной? И зачем вообще это условие, если потом все равно будем создавать связи, и лишние товары отсеются?
Не совсем так... мы ограничиваем выборку в виртуальной таблице только нужными продуктами.
т.е. вирутальная таблица без такого ограничения вернёт нам всё что есть на остатках регистра, а дальше мы уже можем это ограничить либо условиями, либо связями, но это ограничение уже будет наложено на полную выборку. С точки зрения теории, чем раньше мы ограничим выборку, тем лучше т.к. платформе нужно будет меньше ресурсов для хранения и дальнейшей обработки данных выборки.
А на практике надо реально смотреть, что работает быстрее и сколько пожирает ресурсов, т.к. подзапрос в условиях виртуальных таблиц, тоже не очень оптимально и любые практические решения это почти всегда компромиссы между сложностью/скоростью/прожорливостью ресурсов :)
@@tp2b спасибо за ответ!)
Пожалуйста
Добрый вечер. Я правильно понимаю, что таблица втДанныеДокумента - это запрос, скопированный ранее из модуля документа "Потребление".
Добрый вечер.
Правильно.
Извиняюсь, но зачем два условия? Можно ж было записать движения в первом итерраторе "Следующий()"?
Кажется я объяснял зачем...
PS пишите тайм-коды, если вопрос не риторический ...
@@tp2b 32:19. Зачем дополнительное ветвление с уловием "Если НЕ Отказ"? Нельзя было запись полей регистра прописать в цикле обхода итератора .Следующий() расположенном выше, применив условие ИНАЧЕ ЕСЛИ при проверке "достаточного количества остатков"? Сразу извиняюсь, если не прав)))
Логика простая.... в первом цикле, мы еще не знаем, сможем ли провести документ.
Но этом этапе тратить ресурсы на создание записей в регистр не логично... в документе может быть несколько тысяч строк и только в последней будет не хватать остатков.
Получится, что мы сделаем множество новых записей(а все они будут занимать память) и потом выяснится, что всё делали зря.
А так у нас код длиннее, но ресурсы используются экономнее.
@@tp2b понял, согласен, спасибо)
Здравствуйте. Сдается мне , что подзапрос чтобы избавиться от Спичек и Булочки свердловской не нужен. В дальнейшем при левом соединении эти товары в любом случае исчезли.
Это вопрос оптимизации. Если не установить отбор в параметрах виртуальной таблицы, то из базы данных будут считаные все (!) остатки, а потом уже при соединении останутся только нужные. Если же установить отбор, то из базы данных будут получены только нужные остатки и платформе только останется их соединить с левой таблицей. И на экзамене за не установленный отбор в параметрах виртуальной таблицы будет снижен бал.
/ ЕСТЬNULL() ошибочка немножко?
ВыборкаДетальныеЗаписи=РезультатЗапроса. Зачем 2 раза? Запрос же один и тот же остался. 35:22 вот тут видно
Пожалуйста, пишите таймкоды, если хотите получить ответ...
@@tp2b 35:22 тут видно (извиняюсь что не указал)
Всё просто :)
Первый раз мы обходим выборку для того, чтобы убедиться что документ можно провести, но пока мы в этом не убедились, мы не тратим ресурсы на создание движений. Если документ будет нельзя провести, получится что мы зря эти ресурсы тратили.
Второй раз мы уже уверены в том, что документ сможем провести и уже, обходя туже выборку второй раз, формируем движения.
Как-то так :)
Мне кажется, что вопрос был, зачем мы два раза осуществляем ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать().
Тут дело в том, что запрос это таблица, в которой есть строки и курсор выбора, который расположен в начале этой таблицы, и использование метода ВыборкаДетальныеЗаписи. Следущий(), заставляет нас эти строки прочитать и перевести курсор выбора в самый конец таблицы.
Говоря проще, всё данные которые мы уже считали из запроса, из него удаляются. А так как в первом цикле мы считываем данные, по выходу из этого цикла мы получаем пустую переменную ВыборкаДетальныеЗаписи.
Потом мы её заполняем данными заново, и снова считываем всё данные. И если бы нам нужен был третий цикл по этим данным, мы бы снова заполнили бы переменную ВыборкаДетальныеЗаписи данными.
Странное дело.
Создал второй документ с именем Потребление1, идентичный Потреблению (он работает). С целью потренироваться. Хотел проверить свою теорию, что второе Если НЕ Отказ Тогда, можно было разместить в первое ЕСЛИ, добавив ИНАЧЕ. Обойтись одним циклом.
Но идентичный документ Потребление1 (тексты модулей идентичны) не делает записи в регистр... Сломал голову почему...
За труды однозначно спасибо!
Может как регистратор не назначен для регистра...
31:11 - "ПродуктПредставление" так и не появился в коде, дописывал руками
Возможно имя поля задавалось ранее, тогда оно не поменяется автоматически...
Если сначала будет теория по тому материалу, который будет применяться, то интерес к видеороликам должен возрасти, а так для новичка это сплошной непролазный лез и набор букафффф.... Вспомните как на Алгебре/Геометрии преподавали - сначала теория, а потом уже наработка практики на примерах!!!! а учиться по принципу "смотри и нажимай что я нажимаю" + "позже посмотрим..." это результата и эффекта не дает! Человек должен понимать что он делает и должен ДУМАТЬ, а не просто запоминать потому что ему так показали + может и через 5-10 минут забыть, так как память у всех разная, а запоминать то что не понято что, то кому это надо???
Материал будет интересен и понятен если будет излагаться последовательно (одно за другим, без забегания вперед без подготовленной теоретической базы), именно так и строилось образование в Советской школе и были отличные результаты (аналогично и в ВУЗах) 🙂.
В видео показали Соединение Таблиц - при этом тема и в ней и Правое и Левое соединение, и Внутреннее и Полное.... а что как и зачем БАЗЫ ТЕОРЕТИЧЕСКОЙ то нет в видео....
Ваше мнение услышано...
Оно имеет право на жизнь...
Но не более того :)
Успехов на других каналах/курсах.
@@tp2b Ок 🙂
и еще бы если будет возможно, то схемы бы для визуального восприятия 😉 (с рисунками лучше воспринимается и понятнее что где искать и как оно должно быть)
Вот схем в уроках хватает :) Мне кажется, местами, даже с избытком...
@@tp2b в Цикле по проведению Документа указываются в частности Номер, Дата и др реквизиты чтобы появилась запись в Регистре, а где можно посмотреть какие данные нужны для написания этого кода (программа сама может автоматически этот код написать, НО где-то же в неё заложено какие реквизиты ей нужно записать по принципу ВЗЯТЬ в одном Документе и передать во ВТОРОЙ/ДРУГОЙ ДОКУМЕНТ) - чтобы понять новичку где что посмотреть и какие данные необходимы для написания кода....может немного сумбурно описал
Чёт сложноватый урок получился. Так и не понял зачем мы создавали какой-то главный запрос с полями нашего документа. Если нужно было отфильтровать определённым образом записи, которые будем выбирать, можно же просто это в колонке Условия сделать? А во втором запросе вместо данных из временной таблицы, которые у нас Продукт и Количество, использовали бы данные напрямую из документа. Ну и связали бы тоже с документом, а не с этой временной таблицей.
И да, почему на 31 минуте нельзя просто написать через Иначе условие, которое у нас проверяет истинность того, что хватает остатков, а не завершать цикл полностью и потом писать другой цикл? Типо после Отказ = Истина пишем не КонецЦикла, а Иначе, и наш код с движениями.
Скажу честно урок хороший но не для начинающих програмистов