1. Настроить конфигурацию
- Включить возможность использования обычных форм (нужно для Консоли запросов):
- Сервис – Параметры – флаг «Управляемое приложение и обычное приложение»;
- свойства конфигурации – флаг «Использовать обычные формы в управляемом приложении»;
- Настройка конфигурации (свойства):
- свойства конфигурации – Режим управления блокировкой данных - Управляемый;
- добавить кнопку запуска отладки под Толстым клиентом (эта обработка Консоль запросов запускается только под ним).
[свернуть]
2. Настройка интерфейса (через Подсистемы):
- Создать Подсистемы (порядок – согласно порядку задачи: <конфигурация> – пкм – Открыть командный интерфейс):
- Оперативный учет;
- Бухгалтерский учет;
- Расчеты;
- Бизнес-процессы (или Управляемые формы) – по задаче;
- Сервис.
- Упорядочить подсистемы можно в режиме 1С Предприятие (Настройки – Настройка панели разделов).
- В созданные подсистемы (Подсистемы – пкм – Все подсистемы) добавить те объекты, которые должны в них входить (отображаться в интерфейсе):
- Создать Группы команд:
- Справочники;
- Документы;
- ПланыВидовХарактеристик;
- РегистрыСведений;
- РегистрыОУ;
- РегистрыБУ;
- РегистрыСПР.
- Например, подсистема "Оперативный учет" может включать:
- Справочник Номенклатура;
- Документ Приходная накладная;
- Документ Расходная накладная;
- Регистр накопления Остатки номенклатуры и т.д.
- Создать Группы команд:
- Распределить объекты подсистем по соответствующим группам команд.
- Настроить интерфейс клиентского приложения (<конфигурация> – пкм – Открыть интерфейс клиентского приложения):
- Сверху убрать Панель функций текущего раздела, добавить Панель открытых;
- Слева – Панель разделов.
- Включить возможность использования Консоли запросов (запускается только под Толстым клиентом):
- В модуле формы консоли изменить обработку исключения
Предупреждение(Сред(ОписаниеОшибки(),69));
наПоказатьПредупреждение(,Сред(ОписаниеОшибки(),69))
;
- В модуле формы консоли изменить обработку исключения
[свернуть]
3. Определить список документов
- Определяем список документов, используемых в решении. Все они явно описаны в задании, свои не добавлять.
- Рисуем ось времени. Отображаем на ней документы и оформляемые ими события хозяйственной жизни.
Код для подсчета сумм в стрoке и по документу
Это не обязательно.
1. Создать общий модуль РаботаСДокументами
(не забыть Экспорт
и установить флаг "Клиент (управляемое приложение)":
1 2 3 |
Процедура СуммаПоСтрокеНоменклатуры(ТекДанные) Экспорт ТекДанные.Сумма = ТекДанные.Количество*ТекДанные.Цена; КонецПроцедуры |
2. Создать форму документа, в модуле формы определить процедуры:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
&НаКлиенте Процедура СписокНоменклатурыКоличествоПриИзменении(Элемент) ТекДанные = Элементы.СписокНоменклатуры.ТекущиеДанные; РаботаСДокументами.СуммаПоСтрокеНоменклатуры(ТекДанные); Объект.СуммаПоДокументу = Объект.СписокНоменклатуры.Итог("Сумма"); КонецПроцедуры &НаКлиенте Процедура СписокНоменклатурыЦенаПриИзменении(Элемент) ТекДанные = Элементы.СписокНоменклатуры.ТекущиеДанные; РаботаСДокументами.СуммаПоСтрокеНоменклатуры(ТекДанные); Объект.СуммаПоДокументу = Объект.СписокНоменклатуры.Итог("Сумма"); КонецПроцедуры // Для подсчета суммы по документу при копировании строки &НаКлиенте Процедура СписокНоменклатурыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) Если Копирование Тогда Объект.СуммаПоДокументу = Объект.СписокНоменклатуры.Итог("Сумма"); КонецЕсли; КонецПроцедуры // Для подсчета суммы по документу при удалении строки &НаКлиенте Процедура СписокНоменклатурыПослеУдаления(Элемент) Объект.СуммаПоДокументу = Объект.СписокНоменклатуры.Итог("Сумма"); КонецПроцедуры |
[свернуть]
[свернуть]
4. Спроектировать регистры (место хранения данных)
- Определить количество ресурсов – по накапливаемым данным (количество, сумма и т.д.). Добавить в соответствующий регистр.
- Определить количество измерений – по детализации ресурсов (склад, контрагент, номенклатура и т.д.). Добавить соответствующие измерения. Проверить установку флага «Запрет незаполненных значений» (при необходимости).
- Регистр накопления:
- Прочее - флаг «Разрешить разделение итогов» - включить.
Замечание: Решение на двух регистрах более эффективно (работает быстрее, размеры таблиц меньше), но менее достоверно (необходима синхронизация регистров, на экзамене синхронизацию программно НЕ ДЕЛАТЬ!)
[свернуть]
5. Настройка документов (запись данных)
- Добавить реквизиты по заданию (например, Склад в шапке…).
- Добавить и настроить форму:
- Форму документов создавать после добавления всех реквизитов документа (ускорение разработки).
- В командном интерфейсе форм в пункт «Перейти» добавить ссылки на регистры, установив соответствующие флажки.
- На вкладке «Движения»:
- Проведение – Разрешить (при ручном вводе движений – Запрещено);
- Оперативное проведение – Разрешить;
- Удаление движений – Удалять автоматически при отмене проведения.
- Сформировать движения (через конструктор, табличная часть выбирается только тогда, когда из неё заполняются измерения!) и определить методику проведения:
- если для заполнения набора записей данные регистра не нужны – новая (если новая и приход – то контроль не нужен);
- если для заполнения набора записей данные регистра нужны - старая.
- В процедуре обработки проведения обработать дубли (например, простейший запрос с группировкой по Номенклатуре и суммированием Количества).
- Настроить автоподсчет сумм (строка и документ) в Приходной и Расходной накладных (общий модуль + модули форм документов, в свойствах общего модуля проверить флаги «Клиент», «Сервер»):
- При изменении в строке табличной части Количество и Цена;
- При удалении или добавлении копированием.
- Завести пользовательские данные в режиме 1С Предприятие, провести документ, проверить движения (добавить ссылку на соответствующий регистр в форму документа: (три верикальные точки) – Окно – Настройка панели навигации формы).
[свернуть]
6. Обработка проведения расходной накладной («старая» или «новая» методика контроля).
7. Создать oтчет в СКД:
- Добавить в отчет необходимые таблицы (реальные и виртуальные).
- Если на рисунке отчета явно не указаны параметры (не установлены флаги и нет значений в полях), то считается, что это – пользовательские настройки (параметры виртуальной таблицы можно явно не задавать, определяются системой автоматически).
- Из таблиц выбрать необходимые поля, при этом опускаться до детализации и выбирать реквизиты, входящие в состав конкретного поля, не нужно (например, для конкретной задачи из поля Номенклатура регистра Остатки не нужно выбирать реквизит Разработчик, система сделает это автоматически, предоставив дополнительные возможности и упростив дальнейшую работу).
- Добавить нужные параметры (по заданию) или в конфигураторе, или в пользовательском режиме.
[свернуть]