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

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

0,005021 мсек

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

0,000132 мсек

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

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

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

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

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

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

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

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

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

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

20.12.20071C + Vista

Недавно обновил свой ноутбук, как сейчас водится они все продаются уже с установленной Windows Vista, на моей модели ее вариация Home Basic. В целом впечатления от системы хорошие, правда с требовательностью к ресурсам, конечно, смириться тяжело. Для меня самым важным был вопрос стабильной работы 1С с этой системой. Подводных камней пока нашлось два и, к счастью, они успешно пройдены.

  1. Работа внешних компонент требует запуск 1С с правами администратора. Это можно делать временным способом - вызывая пункт Запуск от имени… в контекстном меню, а можно открыть свойства ярлыка и на закладке Совместимость выставить опцию Выполнять от имени администратора. Но и это еще не все, потому что при каждом запуске будет срабатывать система контроля уровня доступа пользователя и спрашивать, а на самом деле вы хотите запустить эту программу или нет, по-буржуйски эта система называется UAC. Ее можно отключить, команда Выполнить, вводим msconfig, на последней закладке ищем пункт Отключить контроль учетных записей (UAC), жмем кнопку Запуск. Ну и еще - для дополнительной свободы действий 1С можно установить не в стандартный каталог Program files, а в любой другой, т.к. стандартный особенно опекается системой от вредных воздействий.
  2. Порядок сортировки. И тут не все гладко. Если запускать базу только на компьютере с Vistа, то вариант простой - в Конфигураторе, в меню Кодовая страница таблиц ИБ выбрать Текущие настройки системы. Хуже обстоит в сетевой версии, которая работает с компьютерами под другими Windows, там скорее всего прийдется отключить проверку кодовой страницы, хотя для верности стоит попробовать сначала выставить ее в соответствии с системными региональными настройками и попытаться запустить базу. Тут тоже есть грабли - ни в коем случае не ставить украинскую страницу, появляются ошибки совсем необъяснимые. Отключается проверка кодовой страницы просто: в папке с базой нужно создать файл (пустой, содержание не важно) с именем OrdNoChk.prm, версия 1С должна быть не ниже 26 (!).

На сегодняшний день других ошибок не замечено.

surprise_boy.jpg Продолжаю шлифовать. Добавлено несколько удобств и все благодаря отзывам и пожеланиям пользователей, поэтому не забывайте пожаловаться/предложить - все вопросы будут рассмотрены.

  • новая константа Предлагать печать двух экземпляров - для включения/выключения запроса на печать двух накладных на один лист
  • вариант печати без просмотра документа в счете, накладной, акте (выбор варианта при нажатии на кнопку Печать)
  • константа Покупатель по умолчанию - для заполнения новой расходной накладной

Ну и ошибочка всплыла:

  • ошибка в расчете остатка по товару при использовании спец-формы для ввода и включеном общем складе

Остался нерешенным вопрос “тормозов” в форме списка товаров при работе в сети, исследования продолжаются. Версия 45.3 выложена и доступна для скачивания на прежних условиях.

12.12.2007Бланки

buh_boy.jpg Сегодня заполнял заявление на выдачу свидетельства о едином налоге, кстати, сроки заканчиваются 15-го числа, если кому-то нужно - спешите. Так вот в наш компьютеризированный век уже несолидно бланки пустые покупать, поэтому полез я в Google, нашел интересный сборник бланков на сайте Плательщик. Не знаю, как остальные бланки, а нужное мне заявление актуальной формы и в нормальном rtf формате. Пользуйтесь или бухгалтерам покажите, авось пригодится.

Новая версия пока без особых нововведений - работаем над ошибками. На этот раз доделывали:

  • проводки в документе Инвентаризация, неверно проводилась корректировка сумм остатков, кроме того точность числовых реквизитов документа приведена в соответствие с точностью в регистре остатков - 3 знака после запятой.
  • при смене валюты в Приходной накладной не пересчитывались цены продажи, это для тех, у кого включено отображение цен продажи в приходе.
  • после недавней модернизации в отчете для печати Ценников не работала функция отбора товаров по остаткам.

Ну и напоследок одно новшество: в напоминалке добавлена возможность задавать событие с точностью до часов и минут, также и откладывать на дни, часы или минуты.

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

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


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