Запрос 1С с соединением таблиц для проведения расходного документа - Урок 10

Поділитися
Вставка
  • Опубліковано 12 чер 2024
  • В этом видео мы переделаем обработку проведения документа Потребление, таким образом, чтобы не было запроса в цикла и чтобы запрос возвращал данные в максимально простой и удобной форме.
    Мы познакомимся с механизмом временных таблиц, научимся объединять/связывать таблицы, а также разберемся с тем, как можно вписывать разные выражения прямо в поля запроса, чтобы получить не просто предварительные данные, а уже готовый набор в том виде, в котором нам будет дальше удобно с ним работать.
    #ТЕХПОДДЕРЖКА #Курсы1С #Программист1С #1С
    ТАЙМКОДЫ:
    00:00 - Приветствие
    01:17 - Краткое повторение пройденного
    02:53 - Готовим исходные запросы
    05:24 - Ставим задачу по построению нового запроса
    09:39 - Создаём новый запрос
    11:47 - Создаём временную таблицу в запросе
    12:55 - Используем данные временной таблицы в условии запроса
    15:40 - Соединение и связи таблиц в запросах
    20:26 - Настройка полей запроса, использование выражений
    29:01 - Переделываем обработку проведения документа
    33:13 - Проверяем результат изменений
    1С Программирование с нуля: • Бесплатный курс 1С Про...

КОМЕНТАРІ • 187

  • @tp2b
    @tp2b  3 роки тому +1

    Поддержать канал/Получить плюшки: boosty.to/tp2b
    Поддержать рублем: donate.stream/tp2b
    Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1

  • @user-xt4rk1vq6i
    @user-xt4rk1vq6i 6 місяців тому +4

    Знаете, мне нравится этот момент, когда ты думаешь: Блин я не понимаю, я видимо очень плохо справляюсь
    и в этот же момент Олег говорит: Может быть, пока это звучит сложно, не пугайтесь ничего страшного в этом нет, мы это еще разберём
    И сразу облегчение
    Спасибо за мотивацию))

  • @user-ez4ni5ce5d
    @user-ez4ni5ce5d 2 роки тому +23

    Все отлично. Пожалуй лучшее, что сейчас можно найти по 1С. УЦ разные курят в сторонке и завидуют. 👍

    • @user-su5zk9vw3g
      @user-su5zk9vw3g 3 місяці тому +1

      Радоваться надо, что у нас в стране людям выкладывают подобные уроки. Подобное по SAP вы нигде не найдете бесплатно и все за деньги. Уроки по запросам фактически выходят даже за рамки 1С, это язык запросов, который используется практически везде.

  • @irinaleukhina132
    @irinaleukhina132 Рік тому +8

    Ухххх.... сложный урок был. Пришлось два раза пересмотреть! ))) Очень нравится, как Вы обучаете! ))) Всем бы таких замечательных учителей)))

  • @syava2747
    @syava2747 Рік тому +1

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

  • @pavelabramov5446
    @pavelabramov5446 3 роки тому +11

    Чтобы не быть ламинарией, напишу ка я тут комментарий!
    Олег, спасибо за урок. Разбор Конструктора запросов очень понравился в этом видео.
    Помню, что на очных курсах 1С Учебного центра №1, сколько я их не посещал, как то галопом через всё это проскакивали, видимо, потому что времени мало было.
    На видео уроках больше времени, потому можно поподробнее рассмотреть те или иные темы, но только тут я увидел размеренный обзор части возможностей конструктора запросов. Учитывая то, что 1С 8 версия делает большой упор на запросы, то предвкушаю разбор конструктора запросов в итоге до битов и молекул.))))

  • @user-iu9mq4te2n
    @user-iu9mq4te2n 3 місяці тому

    Олег, большое спасибо за 10 очень полезный урок, за Ваш труд !!! Красивое и наглядное получилось решение условного проведения Потребления с применением пакета запросов и много другого интересного. Правда пришлось "попотеть" изучая данный урок : )

  • @user-iz2xy7gi3q
    @user-iz2xy7gi3q 3 роки тому +11

    Уважаемый Автор, огромное Вам спасибо !!! Подача материала на высоте! все действия максимально комментируются, всё понятно с первого просмотра! Пишите книги, методички, рекомендации по созданию конфигураций! Лично я буду покупать Ваш материал с большим удовольствием.

    • @tp2b
      @tp2b  3 роки тому +1

      Спасибо за добрые слова!
      Обратная связь очень помогает в работе над контентом.
      Продать пока не чего :(
      Но ... для желающих есть донаты в описании канала :) :) :)

  • @jlktkrftgjhuoij
    @jlktkrftgjhuoij 2 роки тому +9

    27:10 Технически в 6-й строчке /ЕстьNULL(ПодуктыОстатки.КоличествоОстаток,0) у нас уже не может быть 0 или NULL, мы уже исключили этот вариант в первом условии.
    31:40 Лишнее условие Если НЕ Отказ. Можно продолжить в предыдущем цикле Выборки, после Отказ = Истина; Иначе ...

  • @trilsvet
    @trilsvet 3 роки тому +11

    Спасибо за уроки! Я только начинаю изучать 1С, и ваш материал дается легко. Канал поддержал ))

    • @tp2b
      @tp2b  3 роки тому +1

      Пожалуйста. Очень стараюсь делать уроки понятными.
      Благодарю и за добрые слова, и за донат. Очень приятно!

  • @Amigo_GO
    @Amigo_GO 11 місяців тому +1

    Посмотрел 3 раза, но я уверен что за один урок могли это объяснить только вы!

  • @Dmitriy_Andreev
    @Dmitriy_Andreev Рік тому +2

    Даааааа. на 10-ом уроке мозг заскрипел и пока всячески отказывается воспринимать информацию, повторить самостоятельно без пересмотра урока не особо получается,. как бы совсем не заблудиться)))) Олег спасибо за урок. очень интересно.... но пока не совсем всё конечно понятно)))))))

    • @tp2b
      @tp2b  Рік тому +1

      Не всё сразу... со временем и с практикой придет понимание и спокойствие :)

  • @user-jn9jy9tn7w
    @user-jn9jy9tn7w 5 місяців тому +1

    учусь в колледже на программиста, щас на 2 курсе, у нас в программе есть 1с, ничего не объясняют толком, спасибо за ваши курсы в бесплатном доступе!

  • @nazarkerimov8744
    @nazarkerimov8744 2 роки тому +4

    Здравствуйте, Олег! Спасибо Вам большое за проделанную работу, материал подается очень доступно, уровень понимания по сравнению с официальными курсами от 1С на порядок выше. Пожалуйста, продолжайте в том же духе!

    • @tp2b
      @tp2b  2 роки тому

      Стараюсь.
      В середине весны продолжу :) Есть все шансы.

  • @ilqarsadiqov2993
    @ilqarsadiqov2993 2 роки тому +3

    Уважаемый Автор, огромное Вам спасибо

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста :)

  • @user-rc6tj4te7u
    @user-rc6tj4te7u 11 місяців тому

    Спасибо. Отличные уроки.

  • @EugeneProkhnov
    @EugeneProkhnov Рік тому

    Каждое видео - бриллиант!

  • @user-eo7gh3lb6p
    @user-eo7gh3lb6p 2 роки тому +3

    Большущий лайк!!! В целом все понятно, но завтра буду пересматривать ))
    Огромное спасибо и с надеждой ждем новых серий...

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста :)
      Новая серия вышла.

  • @pvs2489
    @pvs2489 2 роки тому +3

    Спасибо за урок! Лайк однозначно.

  • @user-kx2kw7uc2v
    @user-kx2kw7uc2v Рік тому

    Спасибо! У Вас - лучшие уроки.

  • @user-um6xl6hm6q
    @user-um6xl6hm6q Рік тому

    Спасибо за Ваш труд! Все очень доступно, все по полочкам!

  • @user-jc5cf6ue5o
    @user-jc5cf6ue5o Місяць тому

    тяжело в учении, легко в бою.. трудно быстро усвоить что к чему, но из-за красивой и приятной подачи автора хочу уйти с фронт на бэк-энд, а именно 1с. буду усердствовать и не сдаваться , надеюсь, у меня получится

  • @vallak1981
    @vallak1981 2 роки тому +3

    Отличная подача. Все понятно. Спасибо.

  • @user-pw6df6wh1l
    @user-pw6df6wh1l 2 роки тому +1

    Очень понравился урок по запросам. С нетерпением перехожу к следующему)

  • @andreewa.ekaterina
    @andreewa.ekaterina 10 місяців тому

    Большая Вам благодарность!) Все просмотренные видео обязательно лайкаю)

  • @user-fu5hm5nh6t
    @user-fu5hm5nh6t 3 роки тому +1

    Это лучшее видео по запросам для новичков. У вас талант. Большое вам спасибо.

    • @tp2b
      @tp2b  3 роки тому +1

      Пожалуйста :)

  • @VadimSokolov-hz2ol
    @VadimSokolov-hz2ol Рік тому

    Очень хочу изучить данное направление, а с вашими уроками одно удовольствие, от души 👍

  • @jeremi1838
    @jeremi1838 Рік тому

    Лучший дядька! 🙏❤

  • @vadimt.9695
    @vadimt.9695 Рік тому +2

    Спасибо, Олег! До чего же шикарная подача материала!

    • @tp2b
      @tp2b  Рік тому

      Пожалуйста!

  • @user-dp3tu7nk3x
    @user-dp3tu7nk3x 3 роки тому +4

    супер! талант

  • @user-rg9tw3fn9y
    @user-rg9tw3fn9y 2 роки тому

    Сложно, но интересно) 9 и 10 урок пересмотрел по несколько раз) спасибо, тезка

  • @romanbasin8493
    @romanbasin8493 Рік тому

    Самые понятные курсы! спасибо огромное за труд.

    • @tp2b
      @tp2b  Рік тому +1

      Пожалуйста :)

  • @user-tb9xi9pf9o
    @user-tb9xi9pf9o 2 роки тому +1

    Лучшая подача материала. Ну и отдельное спасибо за поддержку в конце каждого ролика!)

    • @tp2b
      @tp2b  2 роки тому

      Стараюсь :)
      Разгребу дела и вернусь к съемкам продолжения... соскучился, просто жуть :)

  • @user-bl7oq2tv3g
    @user-bl7oq2tv3g 2 роки тому +1

    Олэжек вы просто умничка, суперские уроки, давайте нам ДЗ что бы еще и поработать самим и проверить свои знания...

    • @tp2b
      @tp2b  2 роки тому +1

      Небольшие ДЗ будут в следующих уроках...
      Полноценного ДЗ с проверкой в ближайших планах нет, возможно в рамках платных консультаций или высоких уровней спонсорства на канале.

  • @MrVBendik
    @MrVBendik 3 роки тому +2

    Отличный урок!

    • @tp2b
      @tp2b  3 роки тому

      Спасибо :)

  • @CRAZY_CAT205
    @CRAZY_CAT205 Рік тому

    Очень крутой урок! Действительно небольшой код.

  • @ivan_2810
    @ivan_2810 2 роки тому +2

    Супер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @user-bh6jj1jy2k
    @user-bh6jj1jy2k Рік тому

    Уважаемый учитель и автор канала, благодарю Вас за то что делитесь самым ценным, а именно опытом. Чем глубже погружаюсь в 1С, тем интереснее становится!

    • @tp2b
      @tp2b  Рік тому

      Очень рад, что уроки Вам нравятся.
      Если говорить не об уроках, а именно об опыте, то больше информации вот тут: boosty.to/tp2b/purchase/901925?ssource=DIRECT&share=subscription_link

    • @user-bh6jj1jy2k
      @user-bh6jj1jy2k Рік тому +1

      @@tp2b Уже частенько поглядываю на этот канал. Надеюсь что в ближайшем будущем оформлю подписку. Уверен что там много полезной информации.

  • @mikhails.9086
    @mikhails.9086 2 роки тому +4

    В целом хорошо, понятно и интересно. Но Олег с прошлого урока начал ускоряться: особенно в конце видео - не успеваю без паузы за действиями. В этом уроке особенно часто приходится пересматривать, какой кусок кода куда перемещается, из каких таблиц берутся данные, чтобы повторить у себя в конфигураторе.

  • @kazakvdele
    @kazakvdele 3 роки тому

    Благодарю за ролик! Задонатил ещё немного.

    • @tp2b
      @tp2b  3 роки тому

      Спасибо за поддержку! Очень приятно :)

  • @user-ew6ie6ic1b
    @user-ew6ie6ic1b 2 роки тому +2

    СПАСИБО! ВСЕ СУПЕР!

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста

  • @1978alter
    @1978alter 2 роки тому +1

    Спасибо, вроде все понятно, но нужно пересмотреть еще раз)

  • @user-mj4sy8qn7f
    @user-mj4sy8qn7f Рік тому

    Спасибо за постоянную мотивацию в виде ("Пока все может быть непонятно, не переживайте..."), Надеюсь дальше со временем станет более все понятно не все сразу дается. Пересматриваю раза по 3-10 когда совершаю ошибки.

    • @tp2b
      @tp2b  Рік тому

      Если регулярно заниматься и не бояться экспериментировать, то всё обязательно станет просто и понятно.

  • @user-md7oj6fu9k
    @user-md7oj6fu9k 2 роки тому +2

    Спасибо за уроки. Сама, конечно, еще повторить не смогу, но появилась надежда, что рано или поздно, получится))

    • @tp2b
      @tp2b  2 роки тому

      Не всё сразу :)
      Смотрите уроки, тренируйтесь самостоятельно и всё получится!

  • @user-ow2wi3sj4g
    @user-ow2wi3sj4g 2 роки тому +1

    было не просто но победил)) спасибо

  • @SvetlanaBova
    @SvetlanaBova 2 місяці тому

    Олег, списибище огромное за бесплатные качественные уроки! Смотрю, повторяю за вами, все понятно, НО! смогу ли сама понять что откуда взять и куда вставить? Пока точно нет ((( Но, очень интересно 😂

  • @vadimgazzaev577
    @vadimgazzaev577 Рік тому

    Интересный получился урок. (не знал, что большую часть можно сделать через запросы)

  • @impulseivc219
    @impulseivc219 3 роки тому +2

    Збс!

  • @1978alter
    @1978alter 2 роки тому

    Со второго просмотра стало понятнее)

  • @user-tq1yy7tk8y
    @user-tq1yy7tk8y Рік тому

  • @fflakonoff1
    @fflakonoff1 2 роки тому

    👍👍

  • @aleksandryushka9571
    @aleksandryushka9571 2 роки тому

    Олег, спасибо вам большое за ваш огромный труд. По ходу видео возник вопрос, можно писать комментарии в теле запроса?

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста.
      Можно, но конструктор будет их удалять. т.е. уже в самом запросе после конструктора можно... Через // это бывает очень удобно. Но если потом поправить запрос конструктором, то он их удалит.

  • @shkedin
    @shkedin 3 роки тому

    Программный код уже как родной)

  • @user-yg8nh2ek6w
    @user-yg8nh2ek6w 4 місяці тому

    Помните слова Реввы из одной из его лучших песен: "Это пожалуй лучшее что я слышал за последние 30 лет..." 😀

  • @KostyuchenkoIV
    @KostyuchenkoIV Рік тому

    Спасибо Олег, прекрасно продумана цепочка "от простого к сложному"
    Вопрос: отрицательное количество тоже проводим, или лучше поставить условие "

    • @tp2b
      @tp2b  Рік тому

      Рад что уроки нравятся.
      В вопросах указывайте таймкоды, пожалуйста.

  • @matchball8702
    @matchball8702 7 місяців тому

    Здравствуйте! Я что-то пропустил или у всех при повторном проведении, производится новое списание остатков, то есть не происходит очищение прошлых записей?

  • @user-cl4fl6xv1d
    @user-cl4fl6xv1d Рік тому

    Добрый день!
    Вопрос, зачем нужна проверка "Если Не Отказ Тогда..."?
    Если я правильно понимаю как все работает, Тогда выполнение кода и так не дойдет до этого момента и остановится на проверки "//Проверяем можно ли провести документ" где и случится отказ. Пробовал строку удалить ничего при выполнение не меняется...
    Хочу отдельно сказать спасибо за Ваш курс. Очень нравится подача со вставочками кошаков и коротких шуток. И от процесса не отвлекает и расслабляет, когда надо)

  • @Vintos3
    @Vintos3 2 роки тому +1

    Спасибо за уроки , вроде всё понятно, Но я уверена что сам , без помощи я не смогу всё это повторить.

    • @tp2b
      @tp2b  2 роки тому

      Повторение - мать учения :)

    • @Vintos3
      @Vintos3 2 роки тому

      @@tp2b Спасибо за предложение повторить, прошла всё заново до этого урока, реально многое стало понятней. но надеюсь следующие уроки полегче зайдут, и не нужно будет смотреть по два раза.

  • @melkiy1735
    @melkiy1735 2 роки тому

    А если сразу соединить запрос 1 и запрос 2 в одном запросе, не используя временную таблицу. Это менее производительно получится?

  • @Gusev07
    @Gusev07 6 днів тому

    Здравствуйте!
    Объясните, пожалуйста, зачем мы используем два цикла "Пока" в конце кода при записи движений?
    Можно же и проверку на кол-во, и запись движений расположить в одном цикле, и ничего не измениться. Т.е. если кол-ва какого-либо продукта не будет хватать, то документ не проведётся в любом случае + код будет выглядеть лаконичнее.
    Может я чего-то не понимаю..

  • @-.4159
    @-.4159 2 роки тому

    Прекрасный разбор полетов. Много фишек по работе со средой обитания, которые по учебнику не изучишь. Но! Ужасно не хватает полного кода для самопроверки. Я 20 минут потратила на поиски ошибки: в регистр не писался финальный результат. И 1С ничего не сообщает. И синтаксис-проверка проходит. А просто при втором переборе результатов выборки забыла вписать ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Догадалась из опыта работы в других языках. Спасибо за курс. Полное и довольно быстрое погружение в платформу и язык.

    • @tp2b
      @tp2b  Рік тому

      Про это будет урок...

    • @tp2b
      @tp2b  Рік тому

      Если у Вас осталась база с косяком, пришлите пожалуйста выгрузку на почту tp2b@ya.ru .

  • @vladimirmakeev9651
    @vladimirmakeev9651 7 місяців тому

    Спасибо за уроки. Зачем два раза прогонять цикл ВыборкаДетальныеЗаписи? Это же в два раза больше памяти. Как сделать нумерация строк в редакторе кода 1c и сворачивания кода по если, цикл и т.п. ?

  • @user-qf3qh8hw5b
    @user-qf3qh8hw5b Рік тому

    А почему в 10 уроке на 5 минуте остаток булочек с корицей 7. Их же съели в 9 уроке?

  • @vrnKrasKi
    @vrnKrasKi 2 роки тому

    почему именно с "ВЫБОР" делается проверка остатков? не проще просто сравнение 2 чисел (Документ и остатки). результатом так же будет да\нет

  • @user-mv3mj1kj9z
    @user-mv3mj1kj9z 3 роки тому

    Добрый вечер. У вас на 15.23 в консоли приведен пакетный запрос т.е. два запроса, а результат показан только по остаткам "РегистрНакопленияПродуктыОстатки. А где выборка по документу?

    • @tp2b
      @tp2b  3 роки тому

      Добрый вечер.
      Она(первая выборка) была помещена во временную таблицу, а после выполнения всего запроса она была уничтожена.

  • @ichich-gw5ct
    @ichich-gw5ct 3 роки тому

    Подскажите пожалуйста. На счет цикла ПОКА . После запроса вы делаете два цикла ПОКА. Первый цикл для проверки остатков. Второй цикл для записи движений в регистр. Я сделал все в один цикл и тоже работает. Два цикла вы делаете для увеличения скорости обработки?

    • @tp2b
      @tp2b  3 роки тому

      Да, в одном тоже всё будет прекрасно работать...
      Но:
      1. В реальной работе это будет жрать лишние ресурсы, особенно если регистров несколько
      2. На экзамене можно лишиться балов за не оптимальный алгоритм
      Тема оптимизации вообще мутная и неоднозначная, об этом тоже на канале будет видео и не одно :)

  • @user-mv3mj1kj9z
    @user-mv3mj1kj9z 3 роки тому

    Добрый вечер. Я правильно понимаю, что таблица втДанныеДокумента - это запрос, скопированный ранее из модуля документа "Потребление".

    • @tp2b
      @tp2b  3 роки тому

      Добрый вечер.
      Правильно.

  • @user-su5zk9vw3g
    @user-su5zk9vw3g 3 місяці тому

    Есть один нюанс, который я бы отметил. Консоль запросов выдаст ошибку при попытке создать запрос в произвольном выражении (сделать пробел и выделить) и работает это только через конструктор в конфигураторе. Так же насчет связей - конструктор связей в консоле принципиально другой в виде иерархии и абсолютно не похож на строки в конструкторе конфигурации. И автор незаметно перепрыгивает с консоли на конструктор конфигуратора и обратно не акцентируя на этом внимание, а ведь инструменты отличаются.

  • @user-ps4jn3
    @user-ps4jn3 3 роки тому +1

    Спасибо вам!! Стоит ли изучать язык СКЛ для 1с?

    • @tp2b
      @tp2b  3 роки тому +2

      Представление об SQL конечно пригодится, но косвенно.
      SQL может потребоваться при работе с внешними данными или на этапе оптимизации запросов в 1С.
      Реально с необходимостью уметь писать сложные запросы на SQL практически не сталкиваюсь в своей работе.

    • @user-ps4jn3
      @user-ps4jn3 3 роки тому +2

      @@tp2b хорошо! Можно сделать уроки загрузка из разных файлы Экзел, ПДФ, тхт, хмл и т.д?

    • @tp2b
      @tp2b  3 роки тому

      Такие уроки будут, но не в ближайшее время. Всё сразу успеть нельзя :(
      PDF - это вообще отдельная тема с библиотеками распознавания :)

  • @sabiradil
    @sabiradil 3 роки тому +1

    А вы сами учились в ВУЗе этому или с другой профессии попали в 1С?

    • @tp2b
      @tp2b  3 роки тому +2

      Близко к этому учился... Но именно 1С у нас не преподавали :(

  • @ocean1487
    @ocean1487 2 роки тому

    Спасибо за урок. Что если у нас расходный документ ( потребление) будет 1000 штук , бред же параметр писать в запросе ГДЕ. Какие методы в данном случаи помогут. Ответьте также по вопросу группировки Продукты по товарам . Как можно сделать так , чтобы в 1000 разных документах повторяющихся строках ( товары (( к примеру булочка с корицей) мы бы могли одним кодом сгруппировать их).
    Спасибо за ответ

    • @tp2b
      @tp2b  2 роки тому

      Если нужны строки документа, то тут или ГДЕ или Соединение с условием, других вариантов в голову не приходит.
      Если нужно что-то другое, то и условие будет другое.

  • @ichich-gw5ct
    @ichich-gw5ct 3 роки тому

    Гораздо лучше чем у Чистова, спасибо огромное)

    • @tp2b
      @tp2b  3 роки тому +1

      Чистов - профессиональный преподаватель, а я любитель :)
      Честно, очень приятно такое слышать!

    • @ichich-gw5ct
      @ichich-gw5ct 3 роки тому +1

      @@tp2b Чистов постоянно всё пишет руками, Конструкторы запросов он не любит, а без них я с трудом понимаю, что он пишет вообще и начинаю засыпать)

    • @tp2b
      @tp2b  3 роки тому

      Я конструкторы в разумных пределах люблю и использую.
      В реальной практике мне это экономит время и силы.
      Бывает запросы правлю или дописываю руками, но это скорее локальные работы после которых конструктором всё форматирую. Может мой мозг примитивнее :) но мне так проще работать :)

    • @nimbabul8384
      @nimbabul8384 6 місяців тому +1

      @@tp2b программирование в целом про эффективность, кмк. Мозг в целом - про минимизацию затрат (попросту - лень. Это я как бывший врач говорю)). С обеих точек зрения - конструктор запросов рулит! )

  • @user-mv3mj1kj9z
    @user-mv3mj1kj9z 3 роки тому

    Здравствуйте. Сдается мне , что подзапрос чтобы избавиться от Спичек и Булочки свердловской не нужен. В дальнейшем при левом соединении эти товары в любом случае исчезли.

    • @PTolkachev
      @PTolkachev 2 роки тому

      Это вопрос оптимизации. Если не установить отбор в параметрах виртуальной таблицы, то из базы данных будут считаные все (!) остатки, а потом уже при соединении останутся только нужные. Если же установить отбор, то из базы данных будут получены только нужные остатки и платформе только останется их соединить с левой таблицей. И на экзамене за не установленный отбор в параметрах виртуальной таблицы будет снижен бал.

  • @user-vd3ze1hw6m
    @user-vd3ze1hw6m Рік тому

    Не могу найти ВАШ коментарий с ссылкой на скачивание файла базы

    • @tp2b
      @tp2b  Рік тому

      Файлы по урокам: yadi.sk/d/fbayAds8H5K67A?w=1

  • @AlexMiron1990
    @AlexMiron1990 Рік тому

    Стоит ли паниковать, я до сих пор не могу понять, как работает "Движение" в коде... ? Вроде поверхностно понимаю, что ДВИЖЕНИЕ - оно заносит записи в регистры или выводит нам данные... но чет запутываться начинаю

    • @tp2b
      @tp2b  Рік тому

      Паниковать ни когда не стоит! Что-то поначалу нужно просто запомнить, а глубокое понимание придёт со временем. Это нормально, т.к. платформа - мощная и объёмная, какие-то её части сразу понять и принять сложно, но можно представлять их в виде "чёрного ящика", который выполняет определенную функцию и сразу не пытаться понять как именно он это делает.
      С практикой такие "черные ящики" начнут становиться прозрачными и понятными.
      Получается что в этом чёрном ящике лежат все записи в регистрах которые делает документ при проведении(независимые регистры пока не рассматриваем). А значит мы их туда можем не только добавлять, но можем их и удалять и читать при необходимости.

  • @user-hy2yn6xq5c
    @user-hy2yn6xq5c Рік тому

    ВыборкаДетальныеЗаписи дважды цикл, сначала проверка на наличие продукта по всем записям, потом цикл заполнение движения по регистру, мне кажется можно в одном цикле всё сделать

    • @tp2b
      @tp2b  Рік тому +1

      Сделать можно... но надо слушать...

  • @nortvest7775
    @nortvest7775 2 роки тому

    Добрый Вечер, делал всё как вы, но у меня почему то проводится документ, ошибку не выдаёт, из за чего это может быть??

    • @tp2b
      @tp2b  2 роки тому

      Значит не всё так как я :)

  • @user-ji2cg4mo4k
    @user-ji2cg4mo4k Рік тому

    Подскажите, в чем ошибка: при проведении документа пишет поле объекта не обнаружено (Ошибка при выполнении обработчика - 'ОбработкаПроведения'
    по причине:
    Поле объекта не обнаружено (Следующий)
    {Документ.Потребление.МодульОбъекта(71)}:Пока ВыборкаДетальныеЗаписи.Следующий Цикл
    [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка])

    • @tp2b
      @tp2b  Рік тому

      В невнимательности....Следующий это метод, а не свойство...

  • @sz7785
    @sz7785 6 місяців тому

    у меня теперь документ потребление отказывается проводится ссылаясь на то, что не достаточно продукта, хотя продуктов хватает

  • @pvs2489
    @pvs2489 2 роки тому

    Олег, скажите на сколько равнозначны записи:
    "Движение = Движения.Продукты.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;"
    и
    "Движение = Движения.Продукты.ДобавитьРасход();"

    • @tp2b
      @tp2b  2 роки тому

      По мне, так 100% одно и тоже.
      Только первый вариант более универсальный/энциклопедичный что ли.
      А второй более компактный, но чуть более скрытный для людей делающий первые шаги.
      Сам обычно пользуюсь первым, просто по привычке...

    • @pvs2489
      @pvs2489 2 роки тому +1

      @@tp2b Спасибо!

  • @EvgenySy
    @EvgenySy 3 роки тому +1

    Спасибо за урок! Вопрос.
    Зачем второй раз "дёргать" базу командой ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    Так не "дешевле" будет?
    Если НЕ Отказ Тогда
    ВыборкаДетальныеЗаписи.Сбросить();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    • @tp2b
      @tp2b  3 роки тому +3

      Пожалуйста.
      Вы правы, так оптимальнее. На сколько большой выигрыш, сложно сказать, но оптимальнее.
      Есть несколько причин, почему написано не оптимально:
      1. Пример выборки повторён для упрощения запоминания конструкций.
      Оптимизация кода - отличная привычка, но до неё многие новички "не доживают".
      Мне кажется, чем меньше нужно запомнить перед тем, как выпихнут из гнезда, тем меньше вероятность разбиться. А дальше, мясо уже нарастёт с новыми уроками/экспериментами/практикой.
      2. Читать такой код чуть проще.
      3. На сертификации этот подход допустим.
      4. Я не профессиональный преподаватель, могу ошибаться в суждениях :) :)
      Разделяю суждение "Лучше сразу сделать хорошо!", но на практике, часто решения приходится строить более приземлённым способом, а оптимизировать уже после получения рабочего прототипа :)
      PS Особенно приятно видеть такие комментарии!

    • @jlktkrftgjhuoij
      @jlktkrftgjhuoij 2 роки тому

      @@tp2b Зачем Если Не Отказ, когда можно продолжить цикл Иначе в предыдущем цикле Выборки?

  • @alexazarevich4337
    @alexazarevich4337 2 роки тому +1

    +

  • @shkedin
    @shkedin 3 роки тому

    31:45 Зачем нужно условие: «Если НЕ Отказ Тогда»? Не является ли оно лишним? И без этого условия код будет прочитан дальше по порядку.

    • @tp2b
      @tp2b  3 роки тому

      Если НЕ Отказ Тогда
      нужно для того, чтобы в случае отказа НЕ выполнять эту часть кода, т.е. не пытаться делать движения, т.к. мы их всё равно сохранять не собираемся, ибо Отказ = Истина

    • @shkedin
      @shkedin 3 роки тому +1

      @@tp2b Вы хотели сказать "...в случае отказа НЕ выполнять эту часть кода,..."? Нет опечатки?

    • @tp2b
      @tp2b  3 роки тому +1

      Вы правы :)
      Ответ поправил.

    • @user-pv5of8jb2p
      @user-pv5of8jb2p 3 роки тому

      @@tp2b А почему просто Возврат; после Отказ = Истина; в этом же теле цикла нельзя сделать???

    • @tp2b
      @tp2b  3 роки тому +2

      Тогда программа остановится при первой же нехватке Продукта.
      Представим себе ситуацию... в документе сотня строк и часть из них в дефиците...
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      _ надоело_
      Сколько можно?!
      Проводим документ. Ошибка. Правим.
      Проводим документ. Ошибка. Правим.
      _злимся_
      Программист ДонГан!
      -----------------------------------------------------------------------
      В нашем случае, получаем полный список того, что надо исправить.

  • @user-px2vp8mm2b
    @user-px2vp8mm2b 3 роки тому

    Извините, за, наверное, глупый вопрос. Почему на 13 минуте мы продукты из виртуальной таблицы ищем в списке значений временной? В виртуальной же хранятся все остатки и логичнее меньшее количество из временной искать во всех остатках виртуальной? Это потому что всегда первые условия ставим в параметрах виртуальной? И зачем вообще это условие, если потом все равно будем создавать связи, и лишние товары отсеются?

    • @tp2b
      @tp2b  3 роки тому

      Не совсем так... мы ограничиваем выборку в виртуальной таблице только нужными продуктами.
      т.е. вирутальная таблица без такого ограничения вернёт нам всё что есть на остатках регистра, а дальше мы уже можем это ограничить либо условиями, либо связями, но это ограничение уже будет наложено на полную выборку. С точки зрения теории, чем раньше мы ограничим выборку, тем лучше т.к. платформе нужно будет меньше ресурсов для хранения и дальнейшей обработки данных выборки.
      А на практике надо реально смотреть, что работает быстрее и сколько пожирает ресурсов, т.к. подзапрос в условиях виртуальных таблиц, тоже не очень оптимально и любые практические решения это почти всегда компромиссы между сложностью/скоростью/прожорливостью ресурсов :)

    • @user-px2vp8mm2b
      @user-px2vp8mm2b 3 роки тому

      @@tp2b спасибо за ответ!)

    • @tp2b
      @tp2b  3 роки тому

      Пожалуйста

  • @user-qf3qh8hw5b
    @user-qf3qh8hw5b 2 роки тому

    Споткнулся на 9 уроке. Где то можно найти более детальный разбор кода в обработке проведения, начиная с введения запросов ?
    Я реально начинающий и довольно сложно все понять.

    • @tp2b
      @tp2b  2 роки тому

      А что именно не понятно ?
      Есть урок 16 про Контекст и еще по общему написанию кода 19, 20.
      Возможно они закроют часть пробелов.

  • @gorikhamroev842
    @gorikhamroev842 2 роки тому +1

    Вы забыли, это:
    //Проверим, документ не пустой?
    Если Продукты.Количество() = 0 Тогда
    Сообщить("Внимание, братанжан! Документ пустой!");
    Отказ = Истина;
    Возврат;
    КонецЕсли;

  • @maxlmeos
    @maxlmeos 2 роки тому

    Странное дело.
    Создал второй документ с именем Потребление1, идентичный Потреблению (он работает). С целью потренироваться. Хотел проверить свою теорию, что второе Если НЕ Отказ Тогда, можно было разместить в первое ЕСЛИ, добавив ИНАЧЕ. Обойтись одним циклом.
    Но идентичный документ Потребление1 (тексты модулей идентичны) не делает записи в регистр... Сломал голову почему...
    За труды однозначно спасибо!

    • @tp2b
      @tp2b  2 роки тому

      Может как регистратор не назначен для регистра...

  • @Dava_nenado
    @Dava_nenado 2 роки тому +2

    прекрасный учитель. пожалел что купил курс от skill box.вы намного интереснее и лучше рассказывайте!

    • @tp2b
      @tp2b  2 роки тому +1

      Спасибо :)
      Но у них полный курс, а мой еще только снимается...

    • @user-ni3yt6og4z
      @user-ni3yt6og4z Рік тому

      Согласна.И мне теперь жалко,что в Нетологии купила. Ничего там не понимаю(. А здесь все очень доступно. Уметь объяснить понятным языком - это дар! СПАСИБО!

  • @timofeyn5122
    @timofeyn5122 Рік тому

    Извиняюсь, но зачем два условия? Можно ж было записать движения в первом итерраторе "Следующий()"?

    • @tp2b
      @tp2b  Рік тому

      Кажется я объяснял зачем...
      PS пишите тайм-коды, если вопрос не риторический ...

    • @timofeyn5122
      @timofeyn5122 Рік тому

      @@tp2b 32:19. Зачем дополнительное ветвление с уловием "Если НЕ Отказ"? Нельзя было запись полей регистра прописать в цикле обхода итератора .Следующий() расположенном выше, применив условие ИНАЧЕ ЕСЛИ при проверке "достаточного количества остатков"? Сразу извиняюсь, если не прав)))

    • @tp2b
      @tp2b  Рік тому

      Логика простая.... в первом цикле, мы еще не знаем, сможем ли провести документ.
      Но этом этапе тратить ресурсы на создание записей в регистр не логично... в документе может быть несколько тысяч строк и только в последней будет не хватать остатков.
      Получится, что мы сделаем множество новых записей(а все они будут занимать память) и потом выяснится, что всё делали зря.
      А так у нас код длиннее, но ресурсы используются экономнее.

    • @timofeyn5122
      @timofeyn5122 Рік тому

      @@tp2b понял, согласен, спасибо)

  • @AlexMiron1990
    @AlexMiron1990 Рік тому

    31:11 - "ПродуктПредставление" так и не появился в коде, дописывал руками

    • @tp2b
      @tp2b  Рік тому

      Возможно имя поля задавалось ранее, тогда оно не поменяется автоматически...

  • @user-ry7lk5cp5i
    @user-ry7lk5cp5i Рік тому

    ВыборкаДетальныеЗаписи=РезультатЗапроса. Зачем 2 раза? Запрос же один и тот же остался. 35:22 вот тут видно

    • @tp2b
      @tp2b  Рік тому

      Пожалуйста, пишите таймкоды, если хотите получить ответ...

    • @user-ry7lk5cp5i
      @user-ry7lk5cp5i Рік тому

      @@tp2b 35:22 тут видно (извиняюсь что не указал)

    • @tp2b
      @tp2b  Рік тому

      Всё просто :)
      Первый раз мы обходим выборку для того, чтобы убедиться что документ можно провести, но пока мы в этом не убедились, мы не тратим ресурсы на создание движений. Если документ будет нельзя провести, получится что мы зря эти ресурсы тратили.
      Второй раз мы уже уверены в том, что документ сможем провести и уже, обходя туже выборку второй раз, формируем движения.
      Как-то так :)

  • @n1ckoon
    @n1ckoon 3 місяці тому

    Где закреплённый коммент?

    • @tp2b
      @tp2b  3 місяці тому

      Вернул... ютюб их открепляет зачем-то...

    • @n1ckoon
      @n1ckoon 3 місяці тому +1

      @@tp2b Большое спасибо, а то проблемы с 10 уроком возникли)

  • @Sunny_Djo
    @Sunny_Djo 2 місяці тому

    Сложновато, конечно. Не понято, как это придумывали..

  • @NikitaHeart_tg
    @NikitaHeart_tg Рік тому

    Так и не нашёл в инете байку про доктора и пациента😅

  • @ivanteamen2126
    @ivanteamen2126 3 роки тому

    Сложновато пока на восприятие.

    • @tp2b
      @tp2b  3 роки тому

      В следующем видео попробую по разнообразнее показать работу с запросами, возможно станет легче.
      А что именно было самым сложным для восприятия?

    • @ivanteamen2126
      @ivanteamen2126 3 роки тому

      @@tp2b Написание произвольных выражений

    • @tp2b
      @tp2b  3 роки тому

      Спасибо

  • @user-px4wd7bq5h
    @user-px4wd7bq5h Рік тому +1

    Мозги трещат)))

    • @tp2b
      @tp2b  Рік тому

      Наполняются знаниями :) ?

  • @libo3741
    @libo3741 2 роки тому

    Чёт сложноватый урок получился. Так и не понял зачем мы создавали какой-то главный запрос с полями нашего документа. Если нужно было отфильтровать определённым образом записи, которые будем выбирать, можно же просто это в колонке Условия сделать? А во втором запросе вместо данных из временной таблицы, которые у нас Продукт и Количество, использовали бы данные напрямую из документа. Ну и связали бы тоже с документом, а не с этой временной таблицей.
    И да, почему на 31 минуте нельзя просто написать через Иначе условие, которое у нас проверяет истинность того, что хватает остатков, а не завершать цикл полностью и потом писать другой цикл? Типо после Отказ = Истина пишем не КонецЦикла, а Иначе, и наш код с движениями.

  • @user-qg6zg6nd2x
    @user-qg6zg6nd2x Рік тому

    Если сначала будет теория по тому материалу, который будет применяться, то интерес к видеороликам должен возрасти, а так для новичка это сплошной непролазный лез и набор букафффф.... Вспомните как на Алгебре/Геометрии преподавали - сначала теория, а потом уже наработка практики на примерах!!!! а учиться по принципу "смотри и нажимай что я нажимаю" + "позже посмотрим..." это результата и эффекта не дает! Человек должен понимать что он делает и должен ДУМАТЬ, а не просто запоминать потому что ему так показали + может и через 5-10 минут забыть, так как память у всех разная, а запоминать то что не понято что, то кому это надо???
    Материал будет интересен и понятен если будет излагаться последовательно (одно за другим, без забегания вперед без подготовленной теоретической базы), именно так и строилось образование в Советской школе и были отличные результаты (аналогично и в ВУЗах) 🙂.
    В видео показали Соединение Таблиц - при этом тема и в ней и Правое и Левое соединение, и Внутреннее и Полное.... а что как и зачем БАЗЫ ТЕОРЕТИЧЕСКОЙ то нет в видео....

    • @tp2b
      @tp2b  Рік тому

      Ваше мнение услышано...
      Оно имеет право на жизнь...
      Но не более того :)
      Успехов на других каналах/курсах.

    • @user-qg6zg6nd2x
      @user-qg6zg6nd2x Рік тому

      @@tp2b Ок 🙂
      и еще бы если будет возможно, то схемы бы для визуального восприятия 😉 (с рисунками лучше воспринимается и понятнее что где искать и как оно должно быть)

    • @tp2b
      @tp2b  Рік тому

      Вот схем в уроках хватает :) Мне кажется, местами, даже с избытком...

    • @user-qg6zg6nd2x
      @user-qg6zg6nd2x Рік тому

      @@tp2b в Цикле по проведению Документа указываются в частности Номер, Дата и др реквизиты чтобы появилась запись в Регистре, а где можно посмотреть какие данные нужны для написания этого кода (программа сама может автоматически этот код написать, НО где-то же в неё заложено какие реквизиты ей нужно записать по принципу ВЗЯТЬ в одном Документе и передать во ВТОРОЙ/ДРУГОЙ ДОКУМЕНТ) - чтобы понять новичку где что посмотреть и какие данные необходимы для написания кода....может немного сумбурно описал

  • @user-tp3yo5re6h
    @user-tp3yo5re6h 5 днів тому

    Нихуя не понимаю

    • @tp2b
      @tp2b  5 днів тому

      Попробуйте найти другой формат роликов, может быть это Вам не очень подходит.
      Все люди разные и у каждого своё восприятие!
      Главное, если хотите стать программистом, не бросайте.
      Обязательно найдете свой путь, главное упорно заниматься!

    • @user-tp3yo5re6h
      @user-tp3yo5re6h 5 днів тому

      @@tp2b да, я извиняюсь за грубое выражение, полностью согласен с вами. Вы молодец, видно, что вкладывались в видео, только вот я не понимаю пока и высказал в некорректной форме, не берите на себя, извиняюсь

    • @tp2b
      @tp2b  4 дні тому

      Всё нормально :)
      Когда мне приходится делать что-то из незнакомой области, частенько, я говорю точно те же слова :)
      Но потом разбираюсь.... дорогу осилит идущий!

  • @AlexMiron1990
    @AlexMiron1990 Рік тому

    Всю голову изломал, может кто поможет
    {(6,9)}: Неверные параметры "ВЫБОР"
    КОГДА

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      ВЫБОР
      КОГДА втДанныеДокумента.Количество = ЕСТЬNULL(ПродуктыОстатки.КоличествоОстаток, 0) ТОГДА ЕСТЬNULL(ПродуктыОстатки.СуммаОстаток, 0)
      ИНАЧЕ

      ВЫБОР
      КОГДА ЕСТЬNULL(ПродуктыОстатки.КоличествоОстаток, 0) ТОГДА 0
      ИНАЧЕ ЕСТЬNULL(ПродуктыОстатки.СуммаОстаток, 0) / ЕСТЬNULL(ПродуктыОстатки.КоличествоОстаток, 0) * втДанныеДокумента.Количество
      КОНЕЦ

      КОНЕЦ

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      Глаза замылились... 3 раза переделывал, все проверил... В паре мест забыл "=" поставить... И смешно и грустно