Не використовуйте в межах одного запиту звернення і до реквізиту шапки документу і до реквізиту табличної частини (типу число). Тому що, напр., ф-ія запиту Сумма від цих цих реквізитів буде некоректно працювати в межах різних групувань. Не виключено і інші неточності.
2. Метод док-та НайтиПоНомеру(<Номер>,<Дата>,<ИдентВида>)
шукає документ в межах унікальності номера документа, тобто для параметра <Дата> для унікальності в межах року буде шукатись документ в межах року із переданої дати, в межах місяця - місяць і рік, якщо не унікальний - вся дата.
3. Обхід вкладених групувань в запиті
Стикнувся із такою особливістю
пока запрос.группировка(1)=1 цикл //товар
пока запрос.группировка(2,-1)=1 цикл //документи вибираємо по принципу LIFO (задом наперед)
если такоеТоУсловие тогда //потрібно було проігнорувати всі інші наступні документи по даному товару
прервать; //такий вихід із вкладеного групування не використовувати - збиває вибірку, зациклює на першому товарі у групуванні (1) і постійно вибирає по ньому документи
конецесли;
використав додаткову зміну игнор по принципу
пока запрос.группировка(2,-1)=1 цикл
если игнор = 1 тогда продолжить; конецесли;
...
4. В случае, когда обход группировки по элементам (многоуровневого) справочника позиционируется на группе - обход следующих по вложенности группировок НЕ выполняется.
Единственный способ обойти эту особенность (например, получить все-таки список документов, двигавших регистр по всем входящим в группу справочника позициям) - это "спустить" группировку по справочнику на самый нижний (самый вложенный) уровень. Неочевидность подобных "плясок с бубном", а также невозможность такими "плясками" решить проблему в некоторых случаях (например, наличие в запросе более одной группировки по многоуровневым справочникам с необходимостью получения для групп таких справочников развернутых в разрезе других группировок данных) делает такую "особенность" вполне достойной для описания в качестве именно "бага".
5. Баг DBF-SQL (запросы+бух.запросы). При использовании в фильтре (отборе) списка значений результаты могут "вдруг" случиться разными.
Причина - некорректная обработка в SQL списков значений (в фильтрах запросов и бух.запросов), содержащих группы справочников.
Обход бага - если в SQL-версии в запросах и бух.запросах необходимо использовать фильтр по списку значений субконто типа "Справочник" - список значений должен содержать только элементы (не содержать групп).
прим.: в качестве срочного "костыля" при переходе с DBF на SQL можно использовать недокументированный метод объектов типа Запрос или Регистр - <Объект>.ВключитьSQL(0). Однако следует помнить, что этот метод очень сильно замедляет работу, и его рекомендуется использовать только в качестве "временного" решения проблемы.
6. Якщо маєте змінну модуля документу - ІНІЦІАЛІЗУЙТЕ ЇЇ ЯВНО. Інакше при пакетному проведенні неініціалізована змінна МОЖЕ бути не пустою, а зовсім навіть навпаки, може мати значення, що залишилось від проведення попереднього (!!) документу.
7. Метод Активизировать(<ИмяРеквизита>,<Режим>) працює тільки напередвизначених (системних) процедурах.
В документації про таке не згадується. Треба було в роздрібній торгівлі сканити товар, його артикул записувати в деякому реквізиті, шукати його і якщо знайшовся, то автоматом в діалозі вказувати його кількість і записувати в табличну частину. Знов активізовувати поле артикулу і процедуру повторяти. Реалізував цю активізацію за допомогою закриття і відміни закриття форми - процедура ПриЗакрытии.