Общие требования:
- Состав объектов конфигурации и их структуру необходимо самостоятельно определить и реализовать для каждого задания. По умолчанию, если другое не следует из условия задачи, каждая микрозадача, характеризующая отдельный вид учета, считается никак не связанной с другими микрозадачами.
- Обязательная отладка процедур обработки проведения (программных модулей объектов). В том случае, когда в задании приведен пример с заполненными в режиме «1С:Предприятия» данными, желательно производить отладку решения именно на данных из этого примера.
- Решение должно одинаково работать как в тонком, так и в веб-клиенте, если иное не оговорено условием конкретной задачи.
- В решении должен использоваться управляемый режим работы с транзакционными блокировками.
- При решении задач, относящихся к бухгалтерскому учету, следует учитывать, что пользователь может ввести проводку с любой корреспонденцией счетов с помощью специального документа «Ручная операция». Сам документ «Ручная операция» должен быть создан в конфигурации для любой задачи по бухгалтерскому учету.
- При решении задач рекомендуется использовать документацию, входящую в комплект стандартной поставки:
- 1С:Предприятие 8.3. Руководство пользователя;
- 1С:Предприятие 8.3. Руководство администратора;
- 1С:Предприятие 8.3. Руководство разработчика;
- 1С:Предприятие 8.3. Описание встроенного языка;
- 1С:Предприятие 8.3. Клиент-серверный вариант. Руководство администратора
Объектная модель:
- Избегать получения избыточной информации:
- например, при программном выводе строк передавать (вызывать) не ссылки на объекты, а их представления или наименования);
- при обращении к реквизиту через вторую точку учитывать, что это – запрос к базе (например,
ТекСтрокаТЧ.Номенклатура.ВидНоменклатуры
: первая точка – запрос к табличной части, вторая – к базе) (нужно избегать обращения через две точки в цикле).
- Дополнительная информация объектов ссылочного типа реализуется:
- через реквизиты - одно значение;
- через табличные части - несколько значений, список.
Регистры:
- У всех регистров накопления и регистров бухгалтерии флаг «Разрешить разделение итогов» должен быть установлен (вкладка «Прочее» регистра).
- При работе с несколькими регистрами:
- если только чтение – то можно обрабатывать сразу все;
- если чтение и запись:
- работать последовательно с каждым регистром;
- блокировку на регистры ставить тоже последовательно.
- Если работа с регистром остатков, то код должен предусматривать корректный вывод регистра в 0 (вывод всех ресурсов регистра в 0, например, количество 0, сумма 0), для чего обязательно:
- в таблице движений должны быть операции Приход и Расход;
- Приход и Расход должны быть по одним и тем же измерениям;
- правильное заполнение ресурсов (по умолчанию контроль остатков делается всегда!), если несколько регистров остатков (а них – несколько ресурсов) – то по каждому реализовать контроль остатков.
- При расчете сумм учитывать «проблему копеек».
Запросы и отчеты:
- При отборе информации из табличной части документа обязательно ставить отбор на ссылку (т.е. условие отбора – ссылка на конкретный документ).
- Для ресурсов регистров накопления прописываем функцию ЕСТЬNULL(<ресурс>, 0), например, ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0).
- У виртуальных таблиц обязательно проверять параметры виртуальной таблицы.
- Формы отчетов должны выглядеть так, как это указано в задании.
Работа с документами:
- Документы, используемые в решении, могут быть неоперативно перепроведены задним числом.
- Данные в табличных частях документов могут содержать строки с одинаковыми значениями (так называемые «дубли строк»).
- Если поле документа содержит числовые данные – при делении проверять на 0 или установить проверку заполнения.
Ошибки:
- нельзя без необходимости выгружать результат запроса в таблицу значений;
- указание в настройках документов типа «Бухгалтерская операция» разрешения на проведение;
- получение актуальных остатков , а не на момент времени документа (хотя и оптимально, выше производительность, но есть риск получения некорректных данных);
- если проведение неоперативное – получение остатков на дату документа, а не на момент времени документа.
Полезное https://infostart.ru/1c/articles/126813/