01.03.2008Общепит

Сегодня удалось скрестить Рарус-Общепит (для Украины, версия 1.5) с последней версией Бухучета. Таким образом получилось обновить зарплату и налоговые накладные с их реестром, а заодно и экспорт отчетности в xml. Как оказалось все не так сложно и защита не пострадала. Так что если кому интересно - могу повторить на Вашей конфигурации.

hammer.jpg Готовлю к релизу очередную версию Простого учета, вот появилось небольшое нововведение в работе с печатными формами документов. Теперь общий порядок для вывода на печать такой: у документа будет одна, встроенная в конфигурацию, печатная форма, будет справочник, где можно указать вид документа и соответсвующий этому виду префикс для внешних печатных форм. При нажатии на кнопку “Печать” в папке с внешними формами будет сделан перебор по заданному префиксу и вывод меню для выбора нужной печатной формы. Таким образом можно будет самостоятельно задавать любое количество любых форм для любого документа. Замечания и предложения принимаются. Все это для версии 45.9, хотя наверное скоро она будет уже 46, а 45 пойдет на бесплатный доступ.

При считывании данных сканером штрих-кода, драйвер возвращает в переменную “Событие” тип полученных данных, что используется в стандартной конфигурации “Торговля и склад для Украины“:

Если Событие=”BarCodeValue”    Тогда

Значение типа данных зависит от установки в свойствах драйвера. К чему все это? Если на рабочем месте нужно использовать ридер магнитных карт и сканер штрих-кодов как взаимозаменяемые аппараты, то при настройке ридера ему нужно указать тип “сканер штрих-кода”, тогда никаких манипуляций с кодом не потребуется. С другой стороны это говорит о том, что при необходимости можно настроить работу таким образом, чтобы по считыванию одинаковых данных ридером или сканером происходили разные действия.

26.02.2008Бухучет

В раздел Скачать добавил страницу, где хочу пособирать наработки для конфигурации “Бухучет для Украины“. Первую обработку, которую положил использовал как раз сегодня - Закрытие счета. Ситуация такая: вели учет не обращая внимания на первое-второе событие, предоплаты-авансы, в результате по счетам учета НДС образовались многочисленные “хвосты”, захотелось это все почистить. Ясно что вручную перелопатить остатки по всем субконто нереально, вот тут и нужна такая обработка. Указал счет который надо почистить, счет на который переносится остаток, дату - выполнить. Готово!

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

  • пометка на удаление партий, сформированных документом Перемещение при отмене проведения документа
  • ввод Расходной накладной на основании Приходной накладной
  • проверка кассы при смене фирмы документа
  • в Розничной накладной выбирается вид торговли с признаком “за наличные” при вводе нового документа
  • для справочника Контрагентов задана упрощенная форма списка для выбора значений в реквизитах документов и пр.
  • Инвентаризация, проводки по товару, добавленному вручную

Хозяйке на заметку - ридер магнитных карт работает с 1С абсолютно так-же как и сканер штрих-кода. Поддерживается тем-же драйвером и для конфигурации, настроенной на работу со сканером ШК “абсолютно прозрачен”, т.е. дополнительных манипуляций, кроме настройки работы сканера ШК, не требуется. Есть, конечно, в настройках драйвера, которые делаются в меню 1С Сервис - Параметры, пункт с названием устройства - можно выставить Сканер штрих-кода или Ридер магнитных карт, но на реакции драйвера это никак не отражается, разве что можно программно, при сработке события, узнать это имя.

Так что можно утверждать, что конфигурация Простой учет поддерживает работу с ридерами магнитных карт. О как!

Замечание: в конфигурации “Торговля и склад” ситуация с настройками иная, читайте далее.

surprise_boy.jpg В Простом учете, наконец, дописана обработка по обрезанию базы - рассчет и ввод остатков по всем регистрам и последующее удаление прошлых документов. Механизм обрезки (назвал Триммер) состоит из двух частей:

  1. Специальный документ Движение регистра остатков - основной компонент, содержит 10 реквизитов для записи значений измерений регистра и 5 реквизитов для ресурсов, может заполняться вручную, выбором даты документа и регистра, по которому нужно рассчитать и заполнить остатки, поддерживает запуск “извне” с параметрами, что используется в специальной обработке, см. далее.
  2. Обработка Очистка базы - проходит все описанные в конфигурации регистры и вызывает для каждого заполнение вышеописанного документа, после чего помечает на удаление все документы.

Разумеется, все это с выбором даты - на конец которой считаются и вводятся остатки, и по которую удаляются документы. В Простом учете внедрено с версии 45.5, а также доступно в виде отдельного боекомплекта - файла 1cv7.md для внедрения в любую подходящую конфигурацию, ищите на странице с файлами слово Триммер.

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

bar-code.jpg Начиная с 40-х версий в конфигурации Простой учет можно использовать сканер штрих-кода, расскажу как это работает. Для подключения сканера, как и любого другого внешнего устройства, понадобится драйвер. В Простом учете прописан код под драйвер, разработанный фирмой АТОЛ. Получить (скачать) драйвер можно на странице производителя, бесплатно, в разделе технической поддержки, ищите пункт “АТОЛ: Драйверы торгового оборудования“.

Читать полностью »

pro_think_100.jpg Ковырялся в коде справочника товаров и попробовал проанализировать работу формы списка в отладчике, по замеру производительности. Результат немного шокировал - самым тугим местом оказались вызовы методов Выбран() для текущего элемента справочника, немного менее тормознуто происходит обращение к реквизиту через точку, примерно также медлено - к константе через точку.

Вот как я провел эксперимент: выбрал одну функцию, вначале которой производится проверка текущего элемента методом Выбран(), включаю замер, открываю список товаров, выключаю замер, результат

0,005021 мсек

Теперь переписываю код с использованием метода ПустоеЗначение(), то-же действие, замер, результат

0,000132 мсек

Есть разница? Если сравнивать проценты времени выполнения от общего времени работы модуля, то получим в первом случае 12% а во втором только 0,41%.

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

Еще одно слабое место - периодические реквизиты. В моем случае были переписаны обращения к значениям через Получить() на простое обращение к атрибуту после применения к справочнику метода ИспользоватьДату(). Это значит, что если раньше было указано

Цена=Тов.Цена1.Получить(Дата1);

то теперь при открытии формы, а потом и при каждом изменении переменной Дата1 вызывается метод ИспользоватьДату(Дата1), а код переписан в виде:

Цена=Тов.Цена1; 

Такие пироги. Вот уж, что называется - век живи, век учись.

PS В Простом учете все указанные оптимизации проведены в версии 45.5

surprise_boy.jpg Продолжаем совершенствоваться, на этот раз наибольшие изменения коснулись учета взаиморасчетов с контрагентами. Изменения:

  • Кредиты контрагентов. В карточке контрагента можно выставить предельную сумму кредита для контрагента. С помощью новой константы Проверять кредит контрагента включить проверку кредита при отпуске товара, оказании услуг. Если долг контрагента с учетом суммы документа превысит указанный предел документ не будет проводиться.
  • Проверка списания денег “в минус”. Еще одна новая константа Разрешить отрицательный остаток денег управляет режимом проверки остатка на расчетном счете и в кассе при проведении списания денежных средств.
  • Исправлено: некорректно формировались номера документов, если фирм в базе несколько и при этом включена сплошная нумерация документов.
  • Исправлено: в Приходном кассовом ордере не изменялся вид субконто при выборе вида операции Статья затрат.

© 2007 Програмiст | iKon Wordpress Theme создана TextNData | Разработано на Wordpress | Локализация: Blogstyle.ru