Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1C-DevGuide83

.pdf
Скачиваний:
455
Добавлен:
14.05.2015
Размер:
47 Мб
Скачать
☆

Занятие 15 511

| ЕСТЬNULL(СтоимостьМатериаловОстатки.СтоимостьОстаток, 0) КАК Стоимость, | ЕСТЬNULL(ОстаткиМатериаловОстатки.КоличествоОстаток, 0) КАК Количество |ИЗ

|НоменклатураДокумента КАК НоменклатураДокумента

…

Кроме этого, понадобится изменить последний запрос, который при оперативном проведении проверяет, не появились ли отрицательные остатки. Теперь мы будем получать остатки не «вообще» для номенклатуры из табличной части документа, а для номенклатуры именно с тем набором свойств, который указан в строках документа

(листинг 15.6).

Листинг 15.6. Контроль отрицательных остатков при оперативном проведении

…

Запрос3.Текст = "ВЫБРАТЬ

|ОстаткиМатериаловОстатки.Материал,

|ОстаткиМатериаловОстатки.НаборСвойств,

|

ОстаткиМатериаловОстатки.КоличествоОстаток

|ИЗ

 

|РегистрНакопления.ОстаткиМатериалов.Остатки( , (Материал, НаборСвойств) В

|(ВЫБРАТЬ

|НоменклатураДокумента.Номенклатура,

|НоменклатураДокумента.НаборСвойств

|ИЗ

|

НоменклатураДокумента) И Склад = &Склад)

|

КАК ОстаткиМатериаловОстатки

|ГДЕ

 

|ОстаткиМатериаловОстатки.КоличествоОстаток < 0";

Запрос3.УстановитьПараметр("Склад", Склад);

РезультатЗапроса = Запрос3.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщение = Новый СообщениеПользователю();

Сообщение.Текст = "Не хватает " + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) +

"единиц материала """ + ВыборкаДетальныеЗаписи.Материал + """" +

"из набора свойств """ + ВыборкаДетальныеЗаписи.НаборСвойств + """";

Сообщение.Сообщить();

Отказ = Истина; КонецЦикла;

…

512 1С:Предприятие 8.3. Практическое пособие разработчика

Приход/расход номенклатуры с учетом характеристик

В режиме «1С:Предприятие»

Теперь запустим «1С:Предприятие» в режиме отладки и укажем наборы свойств при приходовании материалов.

Откроем документ Приходная накладная № 2 и укажем, что был закуплен белый электрический кабель в количестве 2 шт. и польский резиновый шланг.

Затем скопируем первую строку документа и укажем, что был закуплен еще и черный электрический кабель в количестве 3 шт. (в  процессе ввода нам придется создать еще один набор свойств для электрического кабеля – Черные кабели, у которого Цвет – Черный

и  Сечение – 2,5), рис. 15.43.

Рис. 15.43. Документ «Приходная накладная № 2»

Нажмем Провести и, выполнив команду Остатки материалов в панели навигации формы документа, проверим движения документа по  регистру ОстаткиМатериалов (рис. 15.44).

Занятие 15 513

Рис. 15.44. Движения документа «Приходная накладная № 2» по регистру «Остатки материалов»

Теперь откроем документ Оказание услуги № 1 и укажем, что был израсходован польский резиновый шланг (рис. 15.45).

Рис. 15.45. Документ «Оказание услуги № 1»

Нажмем Провести и, выполнив команду Остатки материалов в панели навигации формы документа, проверим движения документа по  регистру ОстаткиМатериалов (рис. 15.46).

Рис. 15.46. Движения документа «Оказание услуги № 1» по регистру «Остатки материалов»

514 1С:Предприятие 8.3. Практическое пособие разработчика

Отчет, использующий характеристики

Для полного завершения картины мы создадим отчет, который будет показывать нам наличие материалов с теми или иными свойствами. При создании этого отчета мы используем те возможности, которые предоставляет нам система компоновки данных для работы с характеристиками (рис. 15.47).

Рис. 15.47. Результат отчета

Коротко говоря, набором данных для системы компоновки данных будет довольно простой запрос к регистру ОстаткиМатериалов. А  свойства вариантов номенклатуры платформа задействует в этом отчете автоматически на основании того описания, которое мы создали у справочника ВариантыНоменклатуры (см. раздел «Описание характеристик вариантов номенклатуры» на стр. 481).

Система компоновки данных сама сформирует достаточно понятный и удобный интерфейс для работы с характеристиками и в зависимости от значений, выбранных пользователем, будет формировать необходимые запросы к базе данных.

В режиме «Конфигуратор»

Добавим новый объект конфигурации Отчет. Назовем его ОстаткиМатериаловПоСвойствам и запустим конструктор схемы компоновки данных. Добавим новый Набор данных – запрос и вызовем конструктор запроса.

Занятие 15 515

Запрос для набора данных

В качестве источника данных для запроса выберем виртуальную таблицу регистра накопления ОстаткиМатериалов.ОстаткиИОбороты.

Из этой таблицы выберем следующие поля (рис. 15.48):

Материал,НаборСвойств,

КоличествоНачальныйОстаток,КоличествоПриход,КоличествоРасход,

КоличествоКонечныйОстаток.

Рис. 15.48. Выбранные поля

После этого на закладке Объединения/Псевдонимы зададим псевдонимы числовых полей без слова Количество (рис. 15.49).

Рис. 15.49. Объединения/Псевдонимы

На этом создание запроса закончено. Нажмем ОK.

516 1С:Предприятие 8.3. Практическое пособие разработчика

Ресурсы

Приступим к редактированию схемы компоновки данных.

Прежде всего, на закладке Ресурсы выберем все доступные ресурсы

(рис. 15.50).

Рис. 15.50. Описание ресурсов

Настройки

Перейдем на закладку Настройки. Создадим структуру отчета – добавим группировку Детальные записи.

Затем на закладке Выбранные поля выберем те поля, которые будут выводиться в отчет: Материал, НаборСвойств, НачальныйОстаток,

Приход, Расход и КонечныйОстаток (рис. 15.51).

Рис. 15.51. Группировки и поля отчета

Занятие 15 517

Затем перейдем на закладку Другие настройки и зададим заголовок отчета – Остатки материалов по свойствам.

Чтобы иметь возможность протестировать наш отчет, включим настройку Отбор в состав быстрых пользовательских настроек.

Для этого нажмем кнопку Свойства элемента пользовательских настроек, расположенную вверху в командной панели окна настроек.

В появившемся окне мы можем редактировать состав пользовательских настроек отчета. Установим признак использования для настройки Отбор и оставим предложенное для нее по умолчанию свойство Режим редактирования в значении Быстрый (рис. 15.52).

Рис. 15.52. Состав пользовательских настроек

В заключение определим, в каких подсистемах будет отображаться наш отчет.

Закроем конструктор схемы компоновки данных и в окне редактиро-

вания объекта конфигурации Отчет ОстаткиМатериаловПоСвойствам

перейдем на закладку Подсистемы.

Отметим в списке подсистем конфигурации подсистемы Учет мате-

риалов и Бухгалтерия.

На этом создание отчета завершено.

518 1С:Предприятие 8.3. Практическое пособие разработчика

В режиме «1С:Предприятие»

Запустим «1С:Предприятие» в режиме отладки и посмотрим, какие результаты можно получить с помощью нашего отчета.

В разделе Учет материалов выполним команду открытия отчета

Остатки материалов по свойствам (рис. 15.53).

Рис. 15.53. Форма отчета

Мы видим настройку Отбор, расположенную в отчетной форме, с  помощью которой мы можем получать остатки материалов в  разрезе их характеристик.

Сначала посмотрим, какие у нас есть материалы с сечением 2,5 мм².

Для этого в поле настройки Отбор нажмем кнопку выбора (см. рис. 15.53). В появившемся окне Редактирование отбора слева мы видим список доступных полей отчета.

Раскроем поле Набор свойств (рис. 15.54).

Обратите внимание, что к стандартным реквизитам справочника ВариантыНоменклатуры система компоновки данных добавила все характеристики, которые определены нами для различных наборов свойств в базе данных: Производитель, Сечение и Цвет. Таким образом, отбор в отчете по значениям каких-либо характеристик является достаточно простым и интуитивно понятным.

Чтобы узнать, какие у нас есть материалы с сечением 2,5 мм², достаточно выбрать поле Сечение, мм2 и задать для него условие равенства 2,5.

Нажмем ОК. В окне отчета нажмем Сформировать и получим следующий результат (рис. 15.55).

Занятие 15 519

Рис. 15.54. Создание отбора

Рис. 15.55. Результат отчета

Затем посмотрим, какие у нас есть материалы черного цвета. Для этого в поле настройки Отбор еще раз нажмем кнопку выбора и удалим прежний отбор кнопкой Удалить над списком условий отбора.

Затем двойным щелчком мыши выберем из списка доступных полей поле Цвет. Затем в поле Значение нажмем кнопку выбора и выберем из списка дополнительных свойств номенклатуры значение Черный

(рис. 15.56).

520 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 15.56. Создание отбора

Нажмем ОК. В окне отчета нажмем Сформировать и получим следующий результат (рис. 15.57).

Рис. 15.57. Результат отчета

И в заключение, чтобы убедиться в правильности работы отчета, посмотрим, сколько у нас резиновых шлангов черного цвета.

В поле настройки Отбор еще раз нажмем кнопку выбора и добавим еще один элемент отбора. Для этого двойным щелчком мыши выберем из списка доступных полей поле Материал.