Эта статья является продолжением моей публикации http://infostart.ru/public/21181/. В работе я столкнулся с тем, что данная конструкция работает, но медленно. Когда дело касается 20-100 строк, то о времени выполнения запроса не задумываешься. Но когда в тексте запроса около 2000 строк, которые обрабатывают массивы данных около 2000+ строк на 50+ столбцов, то итоговое время заставляет задуматься. Данная статья сделана не для гуру по запросам в 1С8, она рассчитана скорее на начальный и средний уровни.
Часто возникает необходимость посчитать сумму на форме типа ДокументСписок с текущими отборами... И при большом количестве документов методы с ПостроительЗапроса.ИсточникДанных начинают сильно тормозить, т.к. весь список грузится на клиента. Остается единственное решение - Запрос.
Часто в терминальных сессиях у пользователю Windows не хватает прав на регистрацию v7plus.dll. Соответственно нельзя воспользоваться, например методом СоздатьGUID() класса V7SysInfo.
Не сложная доработка практически любой типовой конфигурации 1С 8.1, 8.2, расширяющая границы доступа для отдельных типов документов. Проверено на УПП и БП. Доработка облегчает жизнь администраторам БД, вынужденных открывать/закрывать доступ к документам в закрытом периоде
Иногда надо перевести число в двоичную или шестнадцатеричную систему счисления - нет ничего проще.
Кроме этого, данной функцией можно воспользоваться для компактного представления большого числа (например результат вычисления хэш функции) в виде строкового кода, когда код документа (справочника) тип строка.
Например число 6869973762479115207 (19 разрядов) в 156-ричной системе счисления будет представлен строкой "KвULq%Лzq" (9 символов)
Иногда возникает потребность отбора в запросе по составному ключу – типа партия, серия, номенклатура – при одном значении ключа проблем нет, а вот когда значений ключа несколько возникает проблема
В каждой стране свои законы и правила, какие же подводные камни нас ждут при автоматизации учета на базе УТ 1С 8.1 . Статья, надеюсь, будет интересна, прежде всего программистам живущим где-то за пределами Республики Беларусь.
В процессе работы возникла необходимость открывать управляемую форму выбора справочника со сложным отбором по реквизитам (с видами сравнения "в списке", "не равно" и др.). Чтобы не создавать для каждого случая отдельную форму выбора, был создан универсальный механизм.
Смотрю, "полку нашего прибыло" - стали публиковаться семерочные обработки по выводу таблицы значений на экран, когда поместить таблицу значений на форму или ВыбратьСтроку() по каким-то причинам не удовлетворяет.
Это - описание глобальной процедуры, которая выводит любую таблицу значений в табличный документ, с которым уже можно работать дальше.
Автор: Денис Горбунов, осень 2001 - осень 2003
Оригинал расположен на: http://faq1c.gorbunov.ru
До настоящего времени с проверкой валидности ИИН/БИН была довольно большая проблема. Хоть алгоритм и очень простой, но его просто никто не знал. Предлагаю вашему вниманию его
Алгоритм основан на статье: http://www.gotdotnet.ru/blogs/kidinfo/7516/
За что огромное спасибо автору
Рассказывается как исправить типовой универсальный отчет: "Подбор объектов", что бы он работал с SQL.
В текущей реализации, которая лежит на ИТС без изменений много лет, в SQL базе отобрать объекты по вхождению в группу справочника невозможно, при этом в DBF варианте все работает.
Понадобилось в запросе выполнить некоторые операции с датами:
- посчитать дату оплаты в банковских днях;
- собирать строки, в которые должны были входить даты, точнее строковые представления дат в формате "ДФ=dd.MM.yyyy".
Вот что из этого получилось.
При расчете среднего заработка у сотрудников на 6ти дневном графике работы неверно вычислялся средний заработок, и в следствии этого - остальные зависимые расчеты..
И вот как это исправили мы..
Иногда у меня возникала необходимость в запросе получить значение курсов валют на разные даты, причем заранее список дат неизвестен. Естественно было желание сделать все одним запросом. Буквально вчера нашел я оптимальное решение задачи. Т.к. подобные задачи могут возникать и у других, то решил результат здесь.
Недавно открыл для себя "не совсем стандартное" использование оператора ВЫБОР в запросах, и спешу им поделиться с достопочтенной публикой.
Может для многих это и не новость, в таком случае воздержитесь от ругани, возмущений и минусов )
Надоев лицезреть большое количество написанных отчетов и обработок (далее по тексту ОиО) для 1С на своем жестком диске я решил, что надо что-то делать, так как порой трудно найти нужную ОиО. И варианты было два либо конфигурация, либо что-то иное...
Вычисление периодов в формате ГГММДД. Вычисление дат по формуле Дата + ГГММДД.
Примечание: Даты передаем в виде 'ДД.ММ.ГГГГ', периоды - "ГГ-ММ-ДД".
Пользуйтесь.
При автоматическом заполнении документа "Начисление зарплаты организаций" в него попадают работники, которые "числились" в заданном для документа периоде действия и те, чьи договора подряда в этом периоде действовали. Как же быть, если на сотрудника провели приказ об увольнении в каком-то из предшествующих месяцев и при этом дали компенсацию за неиспользованный отпуск? Или если уволенному вдогонку дали премию в (виде дополнительного начисления)? Все в голове держать и ручками вылавливать, чтоб НДФЛ начислился?
При расчете переходящего больничного (2009-2010) за 2010 год не выводятся данные при расчете среднего. Предлагаю обсудить решение проблемы для 293 релиза.
Если кадровая служба разбивает строки документа "Отпуска организаций" по рабочим периодам одного и того же сотрудника, то такие строки в регистре сведений СостояниеРаботниковОрганизаций необходимо склеивать (чтобы корректно рассчитать отпуск сотруднику). Предлагается процедура склейки таких записей.
Когда то, мне очень потребовалось ПРОГРАММНО узнать ЕСЛИ ли на конфигурации пароль....и на этом этапе я познакомился с МЕТАДАННЫМИ 1С.
Метаданные в 1С - это специальные данные, описывающие структуру базы данных. Почти все, что мы видим в графическом представлении в конфигураторе может быть получено программным путем при работе в 1С в режиме «Предприятие». Исключение составляют только наборы прав и интерфейсы. В программе получение метаданных происходит через объект «Метаданные».
Задача:
Защитить внеш. обработку или отчет с помощью КЗК 2 - передать клиенту с тем что бы он мог ее запустить, но без копирования файла precomp.dll в каталог ИБ.
Так же может применяться и для блоков конфигурации.
1С 7.7 выполняет запросы просто и бездумно - все что сказали, все и сделает. Никаких попыток оптимизации. Если в запросе есть переменная, например
"СвойствоПоставщика=Регистр.ПартииНаличие.Партия.Поставщик.ОсновноеСвойство;"
произойдет обращение к справочникам контрагентов и значений свойств, даже если переменная СвойствоПоставщика не используется ни в условиях, ни в группировках. Что оборачивается потерей быстродействия.