- Остаток от деления в 1С 8.3 и 8.2
- Программирование в 1С для всех
- 1с остаток от деления не работает
- Число
- Математика в языке 1С 8.3, 8.2 (в примерах)
- 1с запрос остаток от деления
- Страницы
- среда, 28 октября 2015 г.
- Как найти целое число от числа в запросе
- Функции для работы с числами в 1С 8.2 и 8.3
- 1с остаток от деления в запросе
- Страницы
- среда, 28 октября 2015 г.
- Как найти целое число от числа в запросе
Остаток от деления в 1С 8.3 и 8.2
Недавно в чужом программном столкнулся с тем, что не все программисты 1С знают, как в 1С 8.2 или 8.3 получить остаток от деления.
Периодически встречаются вот такие конструкции:
ОстатокОтДеления = Делимое — Цел(Делимое / Делитель) * Делитель;
Это конечно забавный и остроумный способ. Но есть более простой метод, встроенный в платформу:
ОстатокОтДеления = Делимое % Делитель;
Вот, собственно, и всё!
P.S. Кстати, результат 1%2 = 1, некоторые почему-то думают, что ноль 🙂
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
- 5
- 4
- 3
- 2
- 1
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
Добрый вечер.А вы уже пробовали заполнять матрицу змейкой числами от 1 до 100 на 1с?
Змейкой уже не актуально. Правильнее Бустадефон (ходом быка).
Если надо получить остаток от деления в запросе, то к сожалению это «ОстатокОтДеления = Делимое — Цел(Делимое / Делитель) * Делитель» похоже единственный способ. Самому пришлось так делать.
В каком смысле «1%2 = 1». Это по каким таким логикам, каких миров. Что за великий программист подобное в голове своей провернул? Я не понимаю, как можно сию мысль осознать.
По обычной такой математической логике. Остаток от деления единицы на два равен единице.
тут надо смотреть на процесс деления с стороны только целых чисел. 1 на 2 целочисленно не делится. результат деления тут будет 0, а вот остаток и будет 1.
если всЁ равно не понятно пока, тогда предлагаю рассмотреть деление 3 на 2 (или 5 на 2) в качестве примера.
3 / 2 = 1, остаток 1 (так как 3 — 2 * 1 = 1).
5 / 2 = 2, остаток 1 (так как 5 — 2 * 2 = 1).
а теперь наш случай:
1 / 2 = 0, остаток 1 (так как 1 — 2 * 0 = 1).
ps: а вообще процессор компьютера, выполняя целочисленное деление командой div или idiv, получает целочисленный результат от деления и остаток одним действием.
целочисленный результат помещается в регистр RAX (если рассматриваем 64-битный вариант), а остаток помещается в регистр RDX.
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.
Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.
Источник
Программирование в 1С для всех
Оператор %
В этой статье я подробно разберу оператор %, который возвращает остаток от деления. Рассмотрим особенности его работы, и задачи, когда он может быть применим.
Работа оператора % описана в моей книге «Программировать в 1С за 9 шагов», но не приведены случаи, когда он может понадобиться, в этой статье я восполню пробел, и, возможно, она войдет в уже новую редакцию книги.
И так начнем. Оператор % получает остаток от деления одного числа на другое.
Е = A % B;
E – остаток от деления А на В.
Когда он может быть применим?
Рассмотрим самые . С его помощью можно определить четное число или нет. Если выражение А%2 равно 0, то число четное (остатка от деления нет), а если А%2 не равно 0, то число нечетное.
Так же с его помощью можно вычислять число определенной кратности. Например, есть цикл от 1 до 100, нам нужно вывести на экран числа кратные, к примеру, 7. В этом случае будет такой код:
И такой результат работы этого кода
Рассмотрим, еще один способ применения оператора %. Очень часто время получается в секундах, например при вычитании одной даты из другой. И бывает необходимость привести все это в какой-то нормальный вид. Поясню, какой будет в этом случае алгоритм
Пусть мы имеем число секунд: 56321.
Нам сейчас нужно получить точное количество минут в этом числе секунд, минута состоит из 60 секунд. Поэтому получив остаток 56321 % 60, мы получим «лишние» секунды (например. 142 = 60 + 60+ 22, 22 – и будет остаток от деления 142 %60). А после того, как вычтем из исходного числа остаток от деления, и поделим все это на 60, то узнаем ровное количество минут в этом числе. Точно так же узнаем ровное количество часов, дней, месяцев и т.д.
Сейчас я создам небольшую обработку, которая будет раскладывать число в секундах на минуты, часы и дни (на месяцы и года дальше будет раскладывать не совсем корректно).
Данная форма обработки будет иметь следующий вид:
Код, который раскладывает число секунд на составляющие:
&НаКлиенте
Процедура Разложить ( Команда )
Секунды = СекундыОбщие % 60 ;
МинутыОбщие = ( СекундыОбщие — Секунды ) / 60 ;
Минуты = МинутыОбщие % 60 ;
ЧасыОбщие = ( МинутыОбщие — Минуты ) / 60 ;
Часы = ЧасыОбщие % 24 ;
Дни = ( ЧасыОбщие — Часы ) / 24 ;
КонецПроцедуры
Посмотрим результат работы этого кода, на некоторых примерах.
Эти два пример должны Вам дать хорошее представление о работе данного оператора, и, надеюсь, в процессе работы его использование не вызовет у Вас затруднений. А код, где он написан, будет понятен и прост.
Если Вам пригодилась информация из моего блога, или Вы узнали что-то полезное для себя, то Вы можете поддержать мой проект, перечислив любую сумму:
Можно оплатить напрямую
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
- Без сложных технических терминов.
- Более 500 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 16%: vCph8bW3rE
Источник
1с остаток от деления не работает
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Число
Описание:
Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.
Литералы:
Набор цифр, написанных непосредственно в тексте модуля вида: [+|-]<0|1|2|3|4|5|6|7|8|9>[.<0|1|2|3|4|5|6|7|8|9>] В качестве разделителя целой и дробной части используется «.» (точка).
Математика в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Источник
1с запрос остаток от деления
Недавно в чужом программном столкнулся с тем, что не все программисты 1С знают, как в 1С 8.2 или 8.3 получить остаток от деления.
Периодически встречаются вот такие конструкции:
ОстатокОтДеления = Делимое — Цел(Делимое / Делитель) * Делитель;
Это конечно забавный и остроумный способ. Но есть более простой метод, встроенный в платформу:
ОстатокОтДеления = Делимое % Делитель;
Вот, собственно, и всё!
P.S. Кстати, результат 1%2 = 1, некоторые почему-то думают, что ноль
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Собственные наработки и набитые шишки в моей практике по программированию в 1С.
Страницы
среда, 28 октября 2015 г.
Как найти целое число от числа в запросе
Иногда необходимо получить целое число в запросе. Аналог Цел() языка. Необходимо прибегнуть к мелким хитростям, поскольку такого метода в запросе не существет. Но не стоит огорчаться.
Вот собственно необходимо задействовать конструкцию ВЫРАЗИТЬ(). Для положительных чисел необходимо вычесть 0.5, а для отрицательных чисел прибавить 0.5. Вот пример:
ВЫБОР КОГДА ВашеЧисло > 0 ТОГДА
ВЫРАЗИТЬ(ВашеЧисло — 0.5 КАК Число(15, 0))
ИНАЧЕ
ВЫРАЗИТЬ(ВашеЧисло + 0.5 КАК Число(15, 0))
Число — это один из примитивных типов данных существующих в 1С. Числа в 1С:Предприятии встречаются абсолютно везде и всюду. Следовательно важность знания функций для работы с числами трудно переоценить. К рассмотрению этих функций и приступим.
В начале скажем, что максимальная разрядность для числа равняется 38-ми знакам, при этом для целой части выделено 32 символа.
При этом в конфигураторе можно указать длину числа в 64 символа (при точности в 32 символа), но это вероятно какая-то ошибка, так как при попытке обновить конфигурацию Вы увидите нечто подобное:
Ошибка конфигуратора
С числами в 1С можно выполнять все стандартные арифметические операции:
Функции для работы с числами в 1С 8.2 и 8.3
Функция Окр(x, y, z) позволяет округлить число “x” в зависимости от заданной разрядности “y” и режима округления “z”.
Источник
1с остаток от деления в запросе
Недавно в чужом программном столкнулся с тем, что не все программисты 1С знают, как в 1С 8.2 или 8.3 получить остаток от деления.
Периодически встречаются вот такие конструкции:
ОстатокОтДеления = Делимое — Цел(Делимое / Делитель) * Делитель;
Это конечно забавный и остроумный способ. Но есть более простой метод, встроенный в платформу:
ОстатокОтДеления = Делимое % Делитель;
Вот, собственно, и всё!
P.S. Кстати, результат 1%2 = 1, некоторые почему-то думают, что ноль
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Оператор %
В этой статье я подробно разберу оператор %, который возвращает остаток от деления. Рассмотрим особенности его работы, и задачи, когда он может быть применим.
Работа оператора % описана в моей книге «Программировать в 1С за 9 шагов», но не приведены случаи, когда он может понадобиться, в этой статье я восполню пробел, и, возможно, она войдет в уже новую редакцию книги.
И так начнем. Оператор % получает остаток от деления одного числа на другое.
Е = A % B;
E – остаток от деления А на В.
Когда он может быть применим?
Рассмотрим самые . С его помощью можно определить четное число или нет. Если выражение А%2 равно 0, то число четное (остатка от деления нет), а если А%2 не равно 0, то число нечетное.
Так же с его помощью можно вычислять число определенной кратности. Например, есть цикл от 1 до 100, нам нужно вывести на экран числа кратные, к примеру, 7. В этом случае будет такой код:
И такой результат работы этого кода
Рассмотрим, еще один способ применения оператора %. Очень часто время получается в секундах, например при вычитании одной даты из другой. И бывает необходимость привести все это в какой-то нормальный вид. Поясню, какой будет в этом случае алгоритм
Пусть мы имеем число секунд: 56321.
Нам сейчас нужно получить точное количество минут в этом числе секунд, минута состоит из 60 секунд. Поэтому получив остаток 56321 % 60, мы получим «лишние» секунды (например. 142 = 60 + 60+ 22, 22 – и будет остаток от деления 142 %60). А после того, как вычтем из исходного числа остаток от деления, и поделим все это на 60, то узнаем ровное количество минут в этом числе. Точно так же узнаем ровное количество часов, дней, месяцев и т.д.
Сейчас я создам небольшую обработку, которая будет раскладывать число в секундах на минуты, часы и дни (на месяцы и года дальше будет раскладывать не совсем корректно).
Данная форма обработки будет иметь следующий вид:
Код, который раскладывает число секунд на составляющие:
&НаКлиенте
Процедура Разложить ( Команда )
Секунды = СекундыОбщие % 60 ;
МинутыОбщие = ( СекундыОбщие — Секунды ) / 60 ;
Минуты = МинутыОбщие % 60 ;
ЧасыОбщие = ( МинутыОбщие — Минуты ) / 60 ;
Часы = ЧасыОбщие % 24 ;
Дни = ( ЧасыОбщие — Часы ) / 24 ;
КонецПроцедуры
Посмотрим результат работы этого кода, на некоторых примерах.
Эти два пример должны Вам дать хорошее представление о работе данного оператора, и, надеюсь, в процессе работы его использование не вызовет у Вас затруднений. А код, где он написан, будет понятен и прост.
Если Вам пригодилась информация из моего блога, или Вы узнали что-то полезное для себя, то Вы можете поддержать мой проект, перечислив любую сумму:
Можно оплатить напрямую
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
- Без сложных технических терминов.
- Более 500 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 16%: vCph8bW3rE
Собственные наработки и набитые шишки в моей практике по программированию в 1С.
Страницы
среда, 28 октября 2015 г.
Как найти целое число от числа в запросе
Иногда необходимо получить целое число в запросе. Аналог Цел() языка. Необходимо прибегнуть к мелким хитростям, поскольку такого метода в запросе не существет. Но не стоит огорчаться.
Вот собственно необходимо задействовать конструкцию ВЫРАЗИТЬ(). Для положительных чисел необходимо вычесть 0.5, а для отрицательных чисел прибавить 0.5. Вот пример:
ВЫБОР КОГДА ВашеЧисло > 0 ТОГДА
ВЫРАЗИТЬ(ВашеЧисло — 0.5 КАК Число(15, 0))
ИНАЧЕ
ВЫРАЗИТЬ(ВашеЧисло + 0.5 КАК Число(15, 0))
Источник