Использование буфера обмена, как числовой ячейки. Использование буфера обмена, как числовой ячейки Окно калькулятора не меняет размер в 1с

Расскажу про очень любопытный приём.

Однажды ко мне пришёл бухгалтер и спросил меня: можно ли как-то быстро посчитать сумму всех документов в журнале реализаций за 1 квартал 2013 года?

Я немного подумал и сделал вот так:

1. Зашёл в журнал "Реализация (акты, накладные)" и установил нужный период:

Важно! При этом обратите внимание, что одна из цифр выделена более темным цветом, так как я перед выделением строк щёлкнул по ней левой кнопкой мыши. Это важный момент, так как далее 1С будет суммировать выделенные строки именно по столбцу с выделенным значением.

3. Наконец, я нажал букву M в заголовке окна 1С:Предприятия:

5. И сообщил удивлённому бухгалтеру результат:

Сумма всех выделенных документов в этом периоде составила 8 746 995.

И точно также можно делать в любых журналах с любыми числовыми колонками (сумма, количество и т.д.).

Кроме того, вы можете выделять не все документы а только нужные при помощи следующего приёма:

  • зажмите на клавиатуре клавишу Ctrl.
  • левой кнопкой мыши выделяйте (или развыделяйте) нужные строки, но помните: щёлкать по строкам нужно только в пределах колонки, которую вы собираетесь суммировать.

Этот же приём можно применять для любых табличных частей.

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

Если Вы не собираетесь моделировать на 1С физические явления, то математические функции Вам понадобятся достаточно редко.

На всякий случай пройдемся кратко по ним. Чтобы не было скучно – параллельно сделаем простенький калькулятор 1С.

Краткое техническое задание на калькулятор 1С

Сделаем наш калькулятор 1С во внешней обработке – чтобы им можно было пользоваться в любой конфигурации.

На форме будет цифровое поле, куда пользователь может ввести число. Чтобы совершать над числом операции – нужны кнопки управления – плюс, минус, деление и т.п.

Если для операции нужны два числа – первое запомним и предложим ввести второе.

Результат будем выводить в то же числовое поле.

Создание калькулятора 1С

Форма и кнопки
Для пользователя калькулятор 1С в первую очередь состоит из формы. Создадим наш гений дизайнерской красоты.

Итак, создаем внешнюю обработку: Конфигуратор/Файл/Новый/Внешняя обработка.

Добавляем форму калькулятора 1С. На форме нам нужно разместить

  • Поле ввода числа
  • Кнопки с цифрами
  • Кнопки управления.

Калькулятор 1С — толстый клиент
Ненужную нам кнопку «Выполнить», добавленную на форму по-умолчанию, удалим (выделить кнопку левой кнопкой мыши, кнопка DEL на клавиатуре).

Добавим поле на форму калькулятора 1С. В его свойствах установим тип данных – число.

Кнопки калькулятора 1С придется «рисовать» руками. Хорошо, что до нас придумали «копипаст». Главное – нарисовать первую кнопку. Чтобы долго не прицеливаться – в свойствах кнопки (правой кнопки мыши на кнопку) прямо укажем размер – ширину и высоту.

При нажатии пользователя на нашу кнопку в калькуляторе 1С должны выполняться действия. Назначим обработчик.

У кнопки калькулятора 1С есть имя. По-умолчанию кнопка называется «Кнопка1». Мы можем зашифровать в имени кнопки выполняемое ей действие, например «Умножить». Что нам это дает? Кнопок будет много – а обработчик события один. Это удобно.

Копировать кнопку калькулятора 1С можно

  • Привычным Ctrl+C и Ctrl+V
  • Перетаскивая ее мышью с зажатой клавишей Ctrl.

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

Калькулятор 1С — тонкий клиент
В тонком клиенте калькулятора 1С кнопки создаются по-другому: сначала создается команда, потом она перетаскивается на форму и «превращается» в кнопку. Но нам это неудобно – нам же хочется, чтобы у разных кнопок был один и тот же обработчик.

Создадим команду, назовем «НажатиеКнопкиКоманды». Добавим обработчик.

Теперь добавим кнопку на калькулятор 1С. Обратите внимание – кнопку создаем для элемента Форма, а не в подчинении «Командной панели».

Войдем в свойтва кнопки (правой кнопкой мыши). Выберем команду в свойстве «Имя команды».

Чтобы навести красоту на форме калькулятора 1С:

  • В кнопках укажем верный заголовок (*, :, =)
  • Сгруппируем кнопки
    o Добавим группу («Группа – обычная группа»)
    o Исправим свойства кнопки (Группировка – горизонтальная, Отображение – Нет, Отображать заголовок – Нет)

Программируем действия кнопок калькулятора 1С

Создадим процедуру, которая будет выполнять операции – сложение, деление и т.п. Назовем ее, например, ВыполнитьОперацию(ИмяОперации). При нажатии пользователя на кнопку нам нужно определять имя операции (зашифрованное в имени кнопки) и вызывать нашу процедуру выполнения операции.

Мы сделали форму калькулятора 1С, на форме поле (с введенным числом) и кнопки, у каждой кнопки один и тот же обработчик. Нужно определить операцию, которую желает выполнить пользователь.

В толстом клиенте параметр обработчика события – элемент управления на форме (т.е. кнопка). Ее имя и есть нужная нам операция.

Пример программного кода:

В тонком клиенте в параметре указана команда. Однако у формы есть понятие «текущий элемент» и в момент нажатия на кнопку текущим элементом будет эта кнопка.

При выполнении несложных текущих расчетов в системе «1С: Предприятие 8.0» можно воспользоваться встроенным калькулятором. Вызвать его на экран можно, выбрав пункт «Сервис» - «Калькулятор», либо воспользовавшись кнопкой
расположенные в форме калькулятора, изменяют свой размер пропорционально изменению размеров окна.
Калькулятор позволяет выполнять все арифметические действия, вычислять проценты и обратные значения, запоминать числа в буфер и выполнять сложение и вычитание с запомненными в буфере значениями. При вводе числа можно редактировать введенное значение, удаляя неверно введенные разряды.
Для работы с калькулятором можно использовать как мышь, так клавиатуру.
Если результат какой-либо операции превысит допустимую разрядность калькулятора, будет выдано сообщение: «Результат превышает допустимые пределы».
При делении на 0 на дисплей будет выдано сообщение: «Деление на 0». Для продолжения работы в этом случае нужно будет очистить дисплей калькулятора, нажав кнопку сброса «С».
В памяти калькулятора запоминаются последние 15 вычислений,
которые можно просмотреть, воспользовавшись кнопкой
-
расположенной справа от дисплея.
Калькулятор имеет 10 регистров памяти для запоминания чисел и их дальнейшего использования в вычислениях. С помощью кнопок «MS», «М + », «М-» и «МС» работают с первым регистром.
Для запоминания результата вычислений в первом регистре следует нажать кнопку «MS». В табло, справа от надписи «М = «, появится запомненное значение. Нажатием кнопки «MR» запомненное значение выводится из первого регистра на дисплей. По кнопке «М + » запомненное в первом регистре значение прибавляется к результату
вычислений, по кнопке «М-» запомненное в первом регистре значение вычитается из результата вычислений. Кнопка «МС» сбрасывает содержимое первого регистра.
Для запоминания числа в один из девяти других регистров следует набрать число на дисплее (ввести или произвести нужные расчеты) и
нажать кнопку j
Для извлечения числа из регистра нажмите кнопку
расположенную рядом с кнопкой «MS». На экран будет выведен список регистров. Укажите мышью нужный регистр. Число записывается.
расположенную рядом с кнопками «MR», «М + » или «М-», в зависимости от вида действия, и выберите регистр. Аналогично выполняется очистка регистра (кнопка «МС»).
Калькулятор может работать в нескольких режимах. Выбор режима
осуществляется кнопкой >
и выбором нужного пункта:
В режиме «Микрокалькулятор» все действия выполняются с клавиатуры. Калькулятор при этом принимает упрощенную форму: Числа при этом вводятся с клавиатуры. Для очистки дисплея используется клавиша «С».
В режиме «Формульный калькулятор» все действия записываются в табло последовательно. Для организации определенной последовательности действий и ввода сложных выражений допускается использование скобок: Калькулятор X І0Ш 25+578)"4+(547+55)"5)Л7| ? - MS т М = о MR - 7 8 9 1/х г 1 М + " 4]|5 Є І к і L 1 м- " ПІ 2 3І Lci - ЮШИШ - -
В режиме «Настройка» можно настроить точность расчетов калькулятором. В выведенном на экран диалоговом окне настройки следует указать число знаков после запятой:
Калькулятор может использоваться не только для выполнения расчетов, но и для ввода численных реквизитов в документы и справочники. Для этого справа от числового реквизита следует нажать кнопку

Собирающиеся стать программистом люди на каком либо языке программирования вынуждены осваивать специальность сначала с теории, затем с простейших примеров программирования. Одним из простейших примеров, можно сказать стартом в программировании во всех языках считается написание калькулятора. Для этого мы и решили написать обучающий урок о том как написать калькулятор на языке 1С.
Разрабатывать будем простейший калькулятор с простыми арифметическими функциями: сложение, вычитание, умножение, деление. В калькуляторе не учтены более сложные операции как: корень, проценты, мемори. При желании вы можете самостоятельно усовершенствовать наш пример.
Любое задание по программированию начинается с плана разработки. Составьте для себя такой план. Представьте, как бы вы писали калькулятор? Какой нужен алгоритм действий? Какие понадобятся инструменты для воспроизведения той или иной операции даже пока без перевода их на программный язык. Ваши чисто интуитивные замыслы.

Задание: Калькулятор для 1С 8.2, обычное приложение.

"Фишки" задания:

1. Табло калькулятора должно быть строкой, потому что именно к строке можно приписывать символы.
2. У калькулятора должен быть некий буфер (место хранения) первого числа, для того чтобы после ввода в табло калькулятора второго числа можно было извлечь из буфера первое и провести с ним арифметические операции.
3. Любой арифметической операции нужно присваивать значение переменной, затем чтобы при нажатии на "равно" программа понимала какую операцию ей следует выполнить: отнимать, делить или умножать.

Практическое выполнение:

1. В конфигураторе создаем внешнюю обработку через меню Файл - Новый - Внешняя обработка.
2. Создаем форму обработки. Просто создаем пустую форму и жмем Готово.
3. Добавляем следующие реквизиты в обработку
а) табло калькулятора - тип - строка, длила - 15
б) операция - произвольный
в) буфер - тип - число, длина -10, точность - 2.
Зачем нужны эти реквизиты станет понятно чуть позже.

4. Добавляем на форму обработки элементы: кнопки, поле ввода. Кнопки, которые можно добавить в форму расположены внизу конфигуратора на панели управления "Элементы управления". Необходимо добавить такие элементы:
- Строка названием "Табло калькулятора". Расположите ее в самом верху формы.
- Цифирные кнопки от 1 до 9 плюс кнопка 0. А также кнопки обозначающие арифметические операции: сложение, умножение, разность, деление.
Кнопки с цифрами назовите: Цифра1, Цифра2... Цифра0.
Кнопки арифметических операций: Сложение, Умножение, Разность, Деление.
Чтобы вместо названий кнопок на форме отображались цифры и символы арифметических операций в свойстве каждой кнопки пропишите в поле "Заголовок" соответствующие цифры и символы операций: "1","2","3",... "*","-".
Расположение цифирных и арифметических кнопок на форме не принципиально. Можете расположить их в каком угодно порядке и месте.
5. Создаем обработчик нажатия на цифры. Становимся на кнопку "Цифра1", открываем ее свойство и в самом конце находим список возможных событий для данной кнопки. Доступно всего одно событие "Нажатие" и оно пока пустое. Нажимаем на увеличительное стекло и модуле обработки автоматически появляется код, который сгенерировала программа. Мы только что создали заготовку для процедуру, которая будет выполнятся при нажатии на кнопку "Цифра1".


Пишем код:

Процедура Цифра1Нажатие(Элемент)

ВыводЦифры1 = 1;
ТаблоКалькулятора = ТаблоКалькулятора + Лев(ВыводЦифры1, 9);
ТаблоКалькулятора = Число(Прав(ТаблоКалькулятора,10));

КонецПроцедуры

Комментарии к коду: а) Говорим что кнопка "Цифра1" - это цифра 1. б) Говорим, что табло калькулятора работает по принципу добавления символа к предыдущему символу (слева) в) Преобразуем вводимые в строку символы в число. Для остальных девяти цифр создаем точно такие же процедуры с аналогичным кодом. Последней кнопкой на форме калькулятора будет кнопка "Очистить" [C]. Принцип у нее простой - пишет ноль в табло калькулятора. Т.е. обнуляет табло.

6. Арифметические операции. Создаем для каждой кнопки обозначающей арифметическую операцию процедуры нажатия. Точно так же как мы уже создавали для кнопок обозначающих цифры. В коде каждой кнопки пишем код:

Процедура СложениеНажатие(Элемент)
Буфер = Число(ТаблоКалькулятора);
ТаблоКалькулятора = "";
Операция = "Сложение";
КонецПроцедуры

1С: Предприятие 8.0. Универсальный самоучитель Бойко Эльвира Викторовна

11.1. Калькулятор

11.1. Калькулятор

При выполнении несложных текущих расчетов в системе «1С:Предприятие 8.0» можно воспользоваться встроенным калькулятором. Вызвать его на экран можно, выбрав пункт «Сервис – Калькулятор» , либо воспользовавшись кнопкой

панели инструментов программы.

Калькулятор можно перетащить мышью в любое место экрана, а также изменить размер окна. При этом все элементы управления, расположенные в форме калькулятора, изменяют свой размер пропорционально изменению размеров окна.

Калькулятор позволяет выполнять все арифметические действия, вычислять проценты и обратные значения, запоминать числа в буфер и выполнять сложение и вычитание с запомненными в буфере значениями. При вводе числа можно редактировать введенное значение, удаляя неверно введенные разряды.

Для работы с калькулятором можно использовать как мышь, так клавиатуру.

Если результат какой-либо операции превысит допустимую разрядность калькулятора, будет выдано сообщение: «Результат превышает допустимые пределы».

При делении на 0 на дисплей будет выдано сообщение: «Деление на 0». Для продолжения работы в этом случае нужно будет очистить дисплей калькулятора, нажав кнопку сброса «С» .

В памяти калькулятора запоминаются последние 15 вычислений, которые можно просмотреть, воспользовавшись кнопкой

расположенной справа от дисплея.

Калькулятор имеет 10 регистров памяти для запоминания чисел и их дальнейшего использования в вычислениях. С помощью кнопок «MS» , «М+» , «М-» и «МС» работают с первым регистром.

Для запоминания результата вычислений в первом регистре следует нажать кнопку «MS» . В табло, справа от надписи «М=« , появится запомненное значение. Нажатием кнопки «MR» запомненное значение выводится из первого регистра на дисплей. По кнопке «М+» запомненное в первом регистре значение прибавляется к результату вычислений, по кнопке «М-» запомненное в первом регистре значение вычитается из результата вычислений. Кнопка «МС» сбрасывает содержимое первого регистра.

Для запоминания числа в один из девяти других регистров следует набрать число на дисплее (ввести или произвести нужные расчеты) и нажать кнопку

расположенную рядом с кнопкой «MS» . На экран будет выведен список регистров. Укажите мышью нужный регистр. Число записывается.

Для извлечения числа из регистра нажмите кнопку

расположенную рядом с кнопками «MR», «М+» или «М-», в зависимости от вида действия, и выберите регистр. Аналогично выполняется очистка регистра (кнопка «МС» ).

Калькулятор может работать в нескольких режимах. Выбор режима осуществляется кнопкой

и выбором нужного пункта:

В режиме «Микрокалькулятор» все действия выполняются с клавиатуры. Калькулятор при этом принимает упрощенную форму:

Числа при этом вводятся с клавиатуры. Для очистки дисплея используется клавиша «С» .

В режиме «Формульный калькулятор» все действия записываются в табло последовательно. Для организации определенной последовательности действий и ввода сложных выражений допускается использование скобок:

В режиме «Настройка» можно настроить точность расчетов калькулятором. В выведенном на экран диалоговом окне настройки следует указать число знаков после запятой:

Калькулятор может использоваться не только для выполнения расчетов, но и для ввода численных реквизитов в документы и справочники. Для этого справа от числового реквизита следует нажать кнопку

или использовать клавишу F4 .