Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Функция НомерПиктограммы() сплошной тормоз

MashKa
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 16
Пост №1
 
19.06.2008 10:31

"Бухгалтерия 7.7<br>Заметно притормаживает функция НомерПиктограммы()на выборе подчиненных документов (передвижение по Журналу Платежные Документы)<br><br>Функция НомерПиктограммы()<br> Перем НомПикт;<br> Если ТекущийДокумент.Выбран() = 1 Тогда<br> НомПикт = 2;<br> ДатаВыписки = """";<br> ПодчДок = СоздатьОбъект("Документ");<br> Если ПодчДок.ВыбратьПодчиненныеДокументы(ТекущийДокумент.ДатаДок,ТекущийДокумент.ДатаДок+15,ТекущийДокумент) = 1 Тогда<br> Пока ПодчДок.ПолучитьДокумент() = 1 Цикл<br> Если ПодчДок.Вид() = "Выписка" Тогда<br> НомПикт = 1;<br> ДатаВыписки = ПодчДок.ДатаДок;<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br> Иначе<br> НомПикт = 0;<br> КонецЕсли;<br> Возврат НомПикт;<br>КонецФункции // НомерПиктограммы()<br><br>Что можно предпринять? Точнее на что направить усилия и где покопаться? На саму машинку и ее возможности? сервер? или все-таки 1с?"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №2
 
24.06.2008 11:41

Ну а что делать? Алгоритм в таком виде придумала 1С. Что можно сказать, глядя на него? Во первых, авторы заставили компьютер выделять память под переменную НомПикт, а так же ПодчДок при каждом вызове функции. Если бы этот кусок делал я, то сделал бы эти переменные действующими в рамках модуля формы журнала документов. С точки зрения "красивости" программирования это некорректно, так как остальным процедурам и функциям модуля они не нужны, но с точки зрения оптимизации быстродействия это нормальный прием и я выбрал бы его. Кстати, в VB есть такое понятие области видимости переменной, как Static, очень напрашивается к применению в данном случае, к сожалению, в 1С такое не реализовано (и в v8 тоже). Тут все переменные либо Private, либо Public.<br>Ну, и несомненно, основной тормоз в алгоритме - ПодчДок.ВыбратьПодчиненныеДокументы(...). Он нужен для того, чтобы по тем платежкам, на основании которых сделана выписка появлялся значок об этом свидетельствующий... Тут уж малой кровью ничего не поделаешь, наверное. Опять же... С точки зрения оптимизации быстродействия работы программы в ущерб "красивости" применяемых программных приемов я бы сделал так: в Платежном поручении сделал бы 2 скрытых реквизита шапки: ЕстьВыписки, ДатаПоследнейВыписки. Учитывая то, что платежное поручение - док, который никак не влияет на бух. итоги, легко можно реализовать при проведении выписки перезапись этих реквизитов в платежных поручениях, ссылки на которые имеет выписка. А в этой функции расчета нужной пиктограммы не мучать базу, а воспользоваться уже готовыми вычисленными значениями, которые хранятся в платежке. Соответственно, при отмене проведения выписок нужен алгоритм, который будет пересчитывать эти же значения в платежках. Но это все переделки базы! Если вы допускаете возможность этих изменений и для вас потом не составит труда обновлять конфигурацию, меняйте, делайте. Если же вы согласны пользоваться только типовой конфигурацией, ищите выход в обновлении оборудования, наверное.

MashKa
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 16
Пост №3
 
01.07.2008 16:45

Огромное СПАСИБО!!!

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация