Илья, классное видео. В запросе условие отбора номенклатуры и партии из временной таблицы по виду номенклатуры = товар, не будет лишним? Состав таблицы значений не меняется с этим условием и без него (в результате запроса).
Тоже обратила на это внимание. В книге "Пособие разработчика" не делают отбор номенклатуры-товара во временной таблице при формировании параметра Виртуальных таблиц. Это условие там ставится при формировании движений. В нашем случае нужно при проверке остатков.
Илья, здравствуй. Огромная человеческая благодарность за твой труд. Смотрю уроки позже, извиняюсь за вопрос "в догонку", наверное сейчас тебе не очень удобно вспоминать о чём была речь, но если ответишь, думаю, это многим поможет, заранее благодарю. На 23:00 минуте ты делаешь расчёт себестоимости, что уже было и на предыдущих уроках, и, как и на предыдущих уроках, я никак не могу понять, почему "не будет никаких лишних округлений". Объясню подробно: Мы рассчитываем ситуацию, когда нет "последнего списания". То есть, Количество точно меньше КоличествоОстаток. Количество может быть 5, а КоличествоОстаток может быть 7. Далее, 5 делим на 7, получается иррациональное число, которое после умножения на СтоимостьОстаток хош не хош придётся округлять. Видимо, я чего-то не понимаю в логике функционирования математической системы 1С.
Это будет не лишнее округление. Логика функционирования математической системы 1С в том, что показатели в стоимостном выражении учитываются с точностью 2 знака до запятой.
@@АлександрМ-я7ь Спасибо, с такими рассуждениями согласен. Просто мне показалось, что Илья всю дорогу хочет сказать, что при таком порядке математических операций результат всегда целочисленный. Хотя на одном из последующих занятий делает замечание, что здесь будут копейки. Получается, "проблема копеек" здесь может появиться? Вот в чём основные сомнения.
@@АлександрМ-я7ь Интересно, что Илья поставил лайк на комментарии, но не ответил. Видимо, вопрос сочтён детским. Хотя я очень внимательно смотрю с самого начала и не помню, где бы это обсуждалось. Был момент, когда решалась проблема копеек, и там порядок был построен именно таким образом, чтобы не было дробных чисел, то есть другой случай.
@@it7550 Привет! Какая разница какое округление у тебя в случае когда у тебя списывается не весь товар? Как я понял, проблема копеек это когда списываешь последнюю единицу товара, у тебя кол-во списано в ноль, а из-за округлений останется ноль целых хрен десятых не списанной себестоимости. Вот она проблема копеек! И данная формула кол-воДок / кол-воОст * суммуОст решает проблему копеек, списывает себестоимость в ноль.
если при продаже одного товара в одной ТЧ указать по разным партиям, то себестоимость не суммируется. Надо еще просуммировать себестоимость по регистру продажи
А во как этот момент обрабатывается. Например, сегодня, 02.04, какую-то номенклатуру реализовали полностью. А 25 марта она еще была, причем в достаточном количестве. Проводим реализацию от 25 марта, теперь у нас уже в регистре получился минус, так?
@@ДедушкаПовидло-к1я с этим ничего не надо делать ) Для спеца по платформе это нормальная ситуация. Чтобы ее избежать, нужно просто получать текущие остатки, а не остатки на момент времени документа. И дополнительно контролировать остатки в момент отмены проведения документов поступления.
А будет ошибкой если я не распишу вид товара? Имеется ввиду что что-то есть товар, а что услуга указано не везде, вид номенклатуры у некоторых позиций пустой, это ошибка на экзамене?
Ну ты красавчик! Отличный вопрос. Советую почитать Главу 4 книги "Язык запросов" Хрусталевой - там про индексы довольно много. Проблема индекса в том, что он будет применяться только в том случае, если мы в отборе будем указывать все поля индекса (либо часть этих полей, но начиная с самых первых). Предположим, что в данном случае мы проиндексируем Номенклатуру и ВидНоменклатуры. Это ускорит отбор по полю "Номенклатура" и по полям ("Номенклатура", "ВидНоменклатуры"). Но отбор по полю "ВидНоменклатуры" это не ускорит никак. Из-за того, что мы пропустили поле "Номенклатура", индекс применяться не будет. Следовательно, если мы проиндексируем это поле, мы только время зря потратим.
@@IlyaLeontyev т.е если установим индекс и по Номенклатуре, и по ВидуНоменклатуры -- будет зачитано как ошибка? Если индекс установлен по Номенклатуре, а ВидНоменклатуры -- ее реквизит, то уже автоматически проиндексирован и ВидНоменклатуры?
@@ДедушкаПовидло-к1я может быть зачитано, как ошибка. Насколько мне известно, на индексы на экзамене вообще не смотрят. По крайней мере если их вообще нет, оценку за это не снижают. А вот если будет лишнее поле в индексе, это может стать причиной снижения балла, наверное. Проиндексировав Номенклатуру, ты не индексируешь ВидНоменклатуры автоматически.
@@IlyaLeontyev вот всё же не совсем ясно, почему этот индекс лишний: во временную таблицу входит, дальше используется в условии. Или где-то прописано правило, что если на сам объект установлен индекс, то на его реквизиты уже и не нужно?
@@ДедушкаПовидло-к1я индекс будет использован только в том случае, если будет устанавливаться отбор и по номенклатуре, и по виду номенклатуры. Если делать отбор только по виду номенклатуры, индекс использоваться не будет (потому что мы пропускаем номенклатуру). Это все равно, что указать номер дома, но не указать улицу.
Не будет ли эффективнее прорешать 1 задачу с подробными объяснениями из оперативного учета, 1 из бухгалтерского, расчетов и бизнес-процессов, а потом уже на скорость все билеты отрабатывать.
То есть чтобы списать какое-то количество товара, надо сначала лезть в приходные накладные и смотреть сколько там этого товара пришло? И уже затем делать расход или расходы?!
При проведении расходной, если в первой итерации мы наткнулись на ошибку по кол-ву (Отказ = Истина), вторая итерация будет содержать так же Отказ = Истина и проведение по корректной номенклатуре на взлетит, я в начале цикла поставил Отказ = Ложь, помогло вроде, может как то иначе извернуться для корректности решения?
Дмитрий, нам и не надо проводить корректную номенклатуру. В случае, если при проведении данной расходной накладной появились отрицательные остатки, мы не проводим всю накладную целиком . А итерации цикла при Отказ = Истина мы совершаем для вывода всех позиций по "Некорректной номенклатуре", чтобы выяснить, по какой из них появились отрицательные остатки.
Подскажите, если написать "Выборка.Количествоостаток" а не Выборка.КоличествоОстаток(т.е. вместо заглавной написать строчную) это будет ошибкой на экзамене?)
Вопрос. Почему для отчета мы не можем для столбца "СуммаПродажи" высчитывать как количество*стоимость из регистра остатки номенклатуры? Это противоречит каким то канонам, или с целью оптимальной производительности?
Потому что в регистре "Остатки" в стоимость учтена себестоимость. А продаем-то мы еще и с наценкой. Вот и выйдет разница СуммаПродажи - Стоимость = Прибыль
@@IlyaLeontyev В этом конкретном примере да. А если бы был, то это было бы ошибкой или нет? Я не до конца еще посмотрел эту серию видео, может дальше были такие примеры, просто решил уточнить как на такую конструкцию смотрят на экзамене.
@@МихаилДроботун на экзамене на это глаза обычно закрывают, и сам Белоусов в своем курсе через точку к полю составного типа обращается. Но лучше так не делать на случай, если политика партии экзаменаторов изменится.
а вообще, пустые и не пустые строки в билетах печатает наверное девушка-секретарь... и ей вообще по-барабану... а тут программистам сиди и думай!!! ))) включается копипаст...
Если не будет явно указано соединение, то будет декартово соединение. Т. к. Номенклатура из регистра не "свяжется" с номенклатурой из документа. Это грубейшая ошибка. А в "в выбрать" мы делаем отбор в виртуальной таблице остатков только той номенклатуры, которая нам нужна.
Проверка деления на 0: в документе нет контроля нулевого количества, поэтому условие (Количество > КоличествоОстаток) или (0 > 0) не сработает (даст Ложь) и плавненько перейдешь к делению на 0
Спасибо за занятие!
Просто кайф! Благодарность автору за то что уделяет внимание, казалось бы, мелочам.
Илья, спасибо!
Спасибо!
Спасибо большое!
супер про то, как убрать пустую строку... между заголовком и таблицей!!!
Спасибо Илья, отлично!
Люблю, когда Илья всякие сложности разруливает простыми решениями :-)
Спасибо за разбор задачи.
Мое Уважение
Комент+Лайк за видосы)
3 видео за день. Илья ты крут. Я все еще учусь и изучаю 1С.
Сдал экзамен?
спасибо
в этом видео на 40-ой минуте супер-объяснение про "почему не на ноль делим..." ))
Спасибо
Ручной партионный учёт. В некоторых случаях самое адекватное решение.
В запросе надо добавить итоги по номенклатуре и просуммировать количество и сумму (тот же самый партионный учет)
Это не партионный учет, но я мысль твою понял.
Первый коммент в поддержку!!!
Привет, когда будет стрим от вас?
@@user-ps4jn3 как с техникой вопрос решу - проведу. На сл. неделе или через неделю
@@programming_1C ок, мы каждый день ждем!
очень хороший урок
Ресурс себестоимости в регистре продаж - это необходимость в последовательности и ее восстановления.
thanks
Прикольное погоняло у одного из участников чата: "Амперсанд" & 🤣 Был бы еще "Циркумфлекс" ^ то я бы точно упал со стула😀
Спасибо! Не думал что такую легкотню надо делать на экзамене)
Привет. А можешь запелить видосик. Какие книги изучить чтоб стат консультантом 1С.
Илья, классное видео. В запросе условие отбора номенклатуры и партии из временной таблицы по виду номенклатуры = товар, не будет лишним? Состав таблицы значений не меняется с этим условием и без него (в результате запроса).
Тоже обратила на это внимание. В книге "Пособие разработчика" не делают отбор номенклатуры-товара во временной таблице при формировании параметра Виртуальных таблиц. Это условие там ставится при формировании движений. В нашем случае нужно при проверке остатков.
Добрый день Илья. Большое спасибо за уроки. Можем ли мы в этом случае при проведении документа использовать новую методику?
Илья, здравствуй. Огромная человеческая благодарность за твой труд.
Смотрю уроки позже, извиняюсь за вопрос "в догонку", наверное сейчас тебе не очень удобно вспоминать о чём была речь, но если ответишь, думаю, это многим поможет, заранее благодарю.
На 23:00 минуте ты делаешь расчёт себестоимости, что уже было и на предыдущих уроках, и, как и на предыдущих уроках, я никак не могу понять, почему "не будет никаких лишних округлений". Объясню подробно:
Мы рассчитываем ситуацию, когда нет "последнего списания". То есть, Количество точно меньше КоличествоОстаток. Количество может быть 5, а КоличествоОстаток может быть 7. Далее, 5 делим на 7, получается иррациональное число, которое после умножения на СтоимостьОстаток хош не хош придётся округлять.
Видимо, я чего-то не понимаю в логике функционирования математической системы 1С.
Это будет не лишнее округление. Логика функционирования математической системы 1С в том, что показатели в стоимостном выражении учитываются с точностью 2 знака до запятой.
@@АлександрМ-я7ь Спасибо, с такими рассуждениями согласен. Просто мне показалось, что Илья всю дорогу хочет сказать, что при таком порядке математических операций результат всегда целочисленный. Хотя на одном из последующих занятий делает замечание, что здесь будут копейки.
Получается, "проблема копеек" здесь может появиться? Вот в чём основные сомнения.
@@АлександрМ-я7ь Интересно, что Илья поставил лайк на комментарии, но не ответил. Видимо, вопрос сочтён детским. Хотя я очень внимательно смотрю с самого начала и не помню, где бы это обсуждалось. Был момент, когда решалась проблема копеек, и там порядок был построен именно таким образом, чтобы не было дробных чисел, то есть другой случай.
@@it7550 Привет! Какая разница какое округление у тебя в случае когда у тебя списывается не весь товар? Как я понял, проблема копеек это когда списываешь последнюю единицу товара, у тебя кол-во списано в ноль, а из-за округлений останется ноль целых хрен десятых не списанной себестоимости. Вот она проблема копеек! И данная формула кол-воДок / кол-воОст * суммуОст решает проблему копеек, списывает себестоимость в ноль.
опознавательный знак! &
на 19.09 мы уже сформировали остаток по регистру на дату документа, зачем еще МоментВремени?
если при продаже одного товара в одной ТЧ указать по разным партиям, то себестоимость не суммируется. Надо еще просуммировать себестоимость по регистру продажи
В следующем занятии исправим, спасибо )
Вот и 10 осилил))
А во как этот момент обрабатывается. Например, сегодня, 02.04, какую-то номенклатуру реализовали полностью. А 25 марта она еще была, причем в достаточном количестве. Проводим реализацию от 25 марта, теперь у нас уже в регистре получился минус, так?
Да )
@@IlyaLeontyev И что будем с этим делать?:)
@@ДедушкаПовидло-к1я с этим ничего не надо делать ) Для спеца по платформе это нормальная ситуация.
Чтобы ее избежать, нужно просто получать текущие остатки, а не остатки на момент времени документа.
И дополнительно контролировать остатки в момент отмены проведения документов поступления.
7:02 начало
А будет ошибкой если я не распишу вид товара? Имеется ввиду что что-то есть товар, а что услуга указано не везде, вид номенклатуры у некоторых позиций пустой, это ошибка на экзамене?
Если такая номенклатура участвует в алгоритмах, то это ошибка
@@IlyaLeontyev Илья спасибо за ответ) То есть если я где то проморгаю заполнения вида номенклатуры, бал занизят, еще раз спасибо.
@@asgard3260 конечно - ведь у тебя проведение будет отрабатывать неправильно. У тебя же для товаров одна логика, для услуг другая
Разве не надо индекс добавлять по виду номенклатуры? Он же входит во временную таблицу и дальше по нему строится условие.
Ну ты красавчик! Отличный вопрос.
Советую почитать Главу 4 книги "Язык запросов" Хрусталевой - там про индексы довольно много.
Проблема индекса в том, что он будет применяться только в том случае, если мы в отборе будем указывать все поля индекса (либо часть этих полей, но начиная с самых первых).
Предположим, что в данном случае мы проиндексируем Номенклатуру и ВидНоменклатуры.
Это ускорит отбор по полю "Номенклатура" и по полям ("Номенклатура", "ВидНоменклатуры"). Но отбор по полю "ВидНоменклатуры" это не ускорит никак. Из-за того, что мы пропустили поле "Номенклатура", индекс применяться не будет.
Следовательно, если мы проиндексируем это поле, мы только время зря потратим.
@@IlyaLeontyev т.е если установим индекс и по Номенклатуре, и по ВидуНоменклатуры -- будет зачитано как ошибка? Если индекс установлен по Номенклатуре, а ВидНоменклатуры -- ее реквизит, то уже автоматически проиндексирован и ВидНоменклатуры?
@@ДедушкаПовидло-к1я может быть зачитано, как ошибка.
Насколько мне известно, на индексы на экзамене вообще не смотрят. По крайней мере если их вообще нет, оценку за это не снижают. А вот если будет лишнее поле в индексе, это может стать причиной снижения балла, наверное.
Проиндексировав Номенклатуру, ты не индексируешь ВидНоменклатуры автоматически.
@@IlyaLeontyev вот всё же не совсем ясно, почему этот индекс лишний: во временную таблицу входит, дальше используется в условии. Или где-то прописано правило, что если на сам объект установлен индекс, то на его реквизиты уже и не нужно?
@@ДедушкаПовидло-к1я индекс будет использован только в том случае, если будет устанавливаться отбор и по номенклатуре, и по виду номенклатуры.
Если делать отбор только по виду номенклатуры, индекс использоваться не будет (потому что мы пропускаем номенклатуру). Это все равно, что указать номер дома, но не указать улицу.
Не будет ли эффективнее прорешать 1 задачу с подробными объяснениями из оперативного учета, 1 из бухгалтерского, расчетов и бизнес-процессов, а потом уже на скорость все билеты отрабатывать.
Мне кажется, что нет. Лучше идти от простого к сложному.
То есть чтобы списать какое-то количество товара, надо сначала лезть в приходные накладные и смотреть сколько там этого товара пришло? И уже затем делать расход или расходы?!
зачем в документы? в регистрах смотрится остаток
При проведении расходной, если в первой итерации мы наткнулись на ошибку по кол-ву (Отказ = Истина), вторая итерация будет содержать так же Отказ = Истина и проведение по корректной номенклатуре на взлетит, я в начале цикла поставил Отказ = Ложь, помогло вроде, может как то иначе извернуться для корректности решения?
Дмитрий, нам и не надо проводить корректную номенклатуру. В случае, если при проведении данной расходной накладной появились отрицательные остатки, мы не проводим всю накладную целиком . А итерации цикла при Отказ = Истина мы совершаем для вывода всех позиций по "Некорректной номенклатуре", чтобы выяснить, по какой из них появились отрицательные остатки.
@@ИринаСлабоспицкая-э4д ага дошло уж )
кто нибудь сдавал на спеца так как Илья показывает? точно неправильно цену с документа вытаскивать?
Илья - «давайте вообще все данные в один регистр запихнём»
Опять Илья - *запихивает «Себестоимость» в рег. «Продажи»
Подскажите, если написать "Выборка.Количествоостаток" а не Выборка.КоличествоОстаток(т.е. вместо заглавной написать строчную) это будет ошибкой на экзамене?)
Скорее всего, нет. Но лучше правильно писать. И на экзамене, и на работе.
Вопрос. Почему для отчета мы не можем для столбца "СуммаПродажи" высчитывать как количество*стоимость из регистра остатки номенклатуры? Это противоречит каким то канонам, или с целью оптимальной производительности?
Потому что в регистре "Остатки" в стоимость учтена себестоимость. А продаем-то мы еще и с наценкой. Вот и выйдет разница СуммаПродажи - Стоимость = Прибыль
Партия может быть измерением с составным типом, разве не является ошибкой обращение к реквизитам партии через точку в запросе?
В нашем случае она же не составного типа?
@@IlyaLeontyev В этом конкретном примере да. А если бы был, то это было бы ошибкой или нет? Я не до конца еще посмотрел эту серию видео, может дальше были такие примеры, просто решил уточнить как на такую конструкцию смотрят на экзамене.
@@МихаилДроботун на экзамене на это глаза обычно закрывают, и сам Белоусов в своем курсе через точку к полю составного типа обращается.
Но лучше так не делать на случай, если политика партии экзаменаторов изменится.
@@IlyaLeontyev Ясно, спасибо.
Круто)) Илья, вам вопрос. Возможно ли изучать как написано методы или событие конкретного обекьта? Например на С++
Сиду в дикрете читаю книгу проктическое пособие разработчика. Мечтаю быть програмистом или консультантом на удаленке😇
а вообще, пустые и не пустые строки в билетах печатает наверное девушка-секретарь... и ей вообще по-барабану... а тут программистам сиди и думай!!! ))) включается копипаст...
А почему партию берем не из регистра , а из расходной накладной ?
Таймкод напиши, а то непонятно, о чем ты )
Если мы делаем в выбрать зачем тогда левое соединение
Если не будет явно указано соединение, то будет декартово соединение. Т. к. Номенклатура из регистра не "свяжется" с номенклатурой из документа. Это грубейшая ошибка. А в "в выбрать" мы делаем отбор в виртуальной таблице остатков только той номенклатуры, которая нам нужна.
Проверка деления на 0:
в документе нет контроля нулевого количества, поэтому условие (Количество > КоличествоОстаток) или (0 > 0) не сработает (даст Ложь) и плавненько перейдешь к делению на 0
У нас для поля "Количество" свойство "Проверка заполнения" установлено в значение "Выдавать ошибку". Так что 0 в документе ты не сможешь ввести.
Спасибо!
Спасибо!
Спасибо 😉