- Загружать/выгружать
1.1. элементы (код, наименование) с контролем уникальности и без
1.2. реквизиты произвольного не ссылочного типа
1.3. реквизиты ссылочного типа, ссылающиеся на существующие объекты: справочники с контролем уникальности и без, документы с произвольным нумератором, счета разных планов счетов, перечисления, константы и на неопределенную ссылку
1.4. реквизиты ссылочного типа, ссылающиеся на несуществующие объекты. Необходима опция - загружать или не загружать "связанные объекты". Если загружать, то до какого уровня вложенности
1.5. структуру и иерархию справочников: группы/владельцы
1.6. загружать/выгружать константы и периодические константы
1.7. периодические реквизиты с значениями установленными вручную
1.8. периодические реквизиты с значениями, установленными документами (собственно только для этого и нужен перенос документов)
1.9. загружать/выгружать документы с признаком времени
1.10. документы, загружаемые/выгружаемые в одном сеансе должны сохранять последовательность даже если время у них одинаковое (в ТЗ не определена последовательность документов с одинаковым временем, обработанных в разных сеансах)
Корректно работать с объектом "последовательность"
корректно работать с периодом действия документа (в смысле компоненты Расчет. У документа есть не только дата, время, но и период действия в котором появляются записи журнала расчета)
Загружать/выгружать объекты помеченные на удаление и устанавливать этот признак при загрузке (можно сделать опцию, чтобы помеченные на удаление объекты не выгружались, но тогда обработка должна гарантировать целостность данных)
Загружать/выгружать признак включено/выключено у проводок документа.
- Загрузка должна уметь обрабатывать
2.1. изменение контроля уникальности
2.2. изменение длины кода
2.3. изменение типа кода (строка/число)
2.4. изменение свойств нумератора в документах
2.5. отсутствие/присутствие кода и/или наименования
2.6. Загрузка должна корректно обрабатывать выход за максимальную глубину справочника
2.7. выход за максимальную глубину субсчетов в плане счетов
2.8. несоответствие загружаемых счетов маске счета
2.9. в новой версии разбираться с разделителями ":" и "." в счете
- Промежуточный носитель
3.1. данные должны переносится с помощью промежуточного файла (ОЛЕ не подходит)
3.2. формат промежуточного файла должен быть простым (для того, чтобы иметь возможность формировать и считывать промежуточный файл другими программами)
3.3. желательно, чтобы формат был текстовым либо DBF
3.4. желательно, чтобы формат файла был реляционным и легко обрабатывался в Excel'е
- Дополнительные свойства
4.1. Обработка не должна использовать обязательные реквизиты (например, мойID) и не должна обязывать программиста заводить такие реквизиты
4.2. Обработка должна работать на ЛЮБОЙ конфигурации, где разрешены переносимые объекты (например, обработка может отказаться переносить счет в компоненту "Оперативный учет", но если есть компонента "Бух.учет", то счет должен перенестись)
4.3. Обработка должна уметь переносить данные между разными конфигурациями
- Проверка загрузки
5.1. В комплекте с обработкой должна обязательно поставляться "Проверка правильности загрузки" (это необходимо в связи с не тривиальностью 1С. Например, изменить аналитику у ЛЮБОГО существующего счета можно только вручную. Либо произошел конфликт длины числа/строки и т.п.)
- Настраиваемость загрузки/выгрузки
6.1. Обработка должна быть легко настраиваемой
6.2. Настройка обработки может выполняться через пользовательский интерфейс и/или путем НЕСЛОЖНОГО допрограммирования модуля обработки (добавить строчку с именем справочника, например)
6.3. Настройки загрузки/выгрузки должны сохраняться в файл и быть переносимыми.
6.4. К формату файла сохраненных настроек должны применяться те же требования, что и к формату промежуточного файла. Т.е. формат должен быть простым. Файл настроек должен читаться и создаваться другими программами.
- Режим пользователя
7.1. Обработка должна иметь по крайней мере режим пользователя
7.2. Режим пользователя должен быть крайне простым
7.3. в режиме пользователя пользователь должен указать файл данных, файл настройки и нажать кнопку "Загрузить/Выгрузить"
7.4. остальные параметры на усмотрение автора обработки
- Режим настройщика
8.1. В режиме настройщика обработка должна предоставлять инструменты для настройки переноса
8.2. Режим настройщика может быть сложнее режима пользователя
8.3. Режим настройщика и режим пользователя могут совпадать (но это не желательно)
8.4. Режим настройщика и режим пользователя могут быть реализованы разыми обработками