Настройка Универсального отчета
Сегодня подвернулась интересная задачка – нужно было разобраться с отчетом, построенным на базе универсального. Загвоздка вот в чем (смотреть картинку): В отчете присутствует поле “К-во продаж”, которое отражает количество раз, которое товар встречался в группировке, т.е. количество раз, которое он был продан. Это видно особенно хорошо, когда отчет сформирован по документам. Проблема – нет общего [...]
Меню со спецэффектами
Пользователи уже давно привыкли к тому, что многие программы умеют отображать меню в сокращенном виде, которое при необходимости может раскрыться до полного размера. Подобный эффект можно реализовать и в 1С седьмой версии. Вот живой пример: в конфигурации “Простой учет” в полном журнале есть кнопка для установки быстрого отбора по виду документа, при нажатии на кнопку [...]
Условия в запросах
Пришлось немного поломать голову над составлением условий в запросах, на платформе 7.7. Проблема была в том, что текст запроса строился динамически и необходимо было иметь возможность гибко настраивать сложные условия, т.е. когда на одну переменную запроса нужно наложить несколько условий. К примеру, в запросе есть переменная “Субконто”, в ней элементы справочника, есть несколько групп справочника: [...]
Использование регистра сведений
Обнаружил одну, не совсем очевидную, особенность при работе с регистром сведений. Если, к примеру, есть регистр с тремя измерениями и я хочу установить новые значения ресурсов для набора измерений, создаю набор записей, устанавливаю отбор по измерениям, добавляю записи. Если при этом установить отбор, указав не три измерения, а только одно, то создаваемый набор записей заменит [...]
Математика в коде 1С
Конечно, не часто, но попадаются задачи, где необходимо использовать математические функции, например корень числа или тригонометрические синусы с косинусами. Встроенный язык 1С:Предприятия на такие вещи обделен, однако, можно воспользоваться доступным в среде Windows языком VBScript. Для вычисления выражений с функциями на VBScript необходимо в коде 1С создать объект “MSScriptControl.ScriptControl”, свойство “Language” установить в “VBScript” и [...]
Оставляем только числа
С последними нововведениями в учете в стандартных конфигурациях оказалась востребованной возможность программы автоматически очищать строку символов от знаков, не являющихся цифрами: в новой налоговой накладной, в печатной форме, выводятся номера телефонов, для этих номеров предусмотрены 10 клеток, в которые вносятся цифры, по одной в каждую клетку. Как правило, в справочнике, номера телефонов записаны так, как [...]
Отладка кода: НДС в УТП
Необычная проблема недавно попалась в УТП (конфигурация “Управление торговым предприятием” для Украины, платформа 8.2) – при формировании проводок в приходном документе проводка взаиморасчетов с контрагентом выполнялась с зачетом аванса, т.е. как второе событие, а проводка НДС как первое событие. В результате задваивалась сумма на дебете счета 6442, вместо того, чтобы появиться в кредите. Я рассматривал [...]
Как отредактировать документ если этого нельзя делать
Часто в учетных программах требуется разграничение прав пользователей и при этом обычно есть пользователи, которым, например, разрешено вводить новые документы, но запрещено редактировать уже введенные. К примеру, продавцы в отделе продаж оформляют расходные накладные на клиентов в течении рабочего дня, но не могут изменить накладную, которая введена вчера. Такие ограничения в 1С:Предприятии версии 7.7 накладываются [...]
Null <> Неопределено
С непривычки, может показаться, что понятия “Неопределено” и “Null” – синонимы в языке 1С, как, например, “Пока” и “While”. На самом деле это два разных типа. Значения типа Null в основном встречаются в результатах запроса, при объединении таблиц или в значениях группировок, когда запрос строится с итогами по группировкам, а значения некоторых реквизитов запроса попадают [...]
Проверка документа перед проведением
Еще одна привычка из седьмой версии, которую нужно менять с переходом на восьмерку: проверять все условия проведения документа в процедуре проведения. Дело в том, что в восьмой версии в модуле документа доступно больше событий и их можно гибче использовать. Если, например, нужно наложить ограничение, связанное с признаком проведенности документа, сделать это в процедуре ОбработкаПроведения() не [...]
keep looking »