- •1. Концепция системы 1с:предприятие
- •1.1 Краткое описание понятий (объектов) системы
- •1.2. Технологические средства конфигурирования и администрирования системы 1с:Предприятие
- •1.3. Понятие «метаданные»
- •1.4. Конфигурация
- •2. Лабораторная работа №1
- •2.1. Постановка задачи
- •2.2. Создание конфигурации и начало работы с метаданными
- •3. Лабораторная работа №2
- •3.1. Константы в системе 1с:Предприятие
- •3.2. Справочники в системе 1с:Предприятие
- •3.3. Перечисления в системе 1с:Предприятие
- •3.4. Создание справочника товаров
- •4. Лабораторная работа №3
- •4.1. Создание справочника складов справочника контрагентов и справочника договоров с контрагентами
- •4.2. Создание справочника контрагентов
- •4.3. Создание справочника договоров с контрагентами
- •5. Лабораторная работа №4
- •5.1. Документы в системе 1с:Предприятие
- •5.2. Журналы в системе 1с:Предприятие
- •5.3. Регистры в системе 1с:Предириятие
- •5.4. Хранение данных по взаиморасчетам с контрагентами
- •6. Лабораторная работа №5
- •6.1. Отчеты в системе 1с:Предприятие
- •6.2. Создание отчета
- •7. Лабораторная работа №6
- •7.1. Создание документа "Изменение цен"
- •7.2. Создание регистров по товарам
- •8. Лабораторная работа №7
- •8.1 Приходная накладная
- •8.2. Отчет по остаткам на складе
- •9. Лабораторная работа №8
- •9.1. Создание перечисления "МетодСписания"
- •9.2. Создание расходной накладной
- •10. Лабораторная работа №9
- •10.1. Создание отчета "ОбороткаПоДолгам"
- •10.2. Создание отчета "ОбороткаПоСкладу"
- •10.3. Создание отчета по прибыли с товара
- •10.4. Создание отчета по обороту товара
- •11. Теоретические вопросы по компоненте «оперативный учет» системы 1с: предприятие
- •12. Примеры практических задании
8.2. Отчет по остаткам на складе
Итак, после ввода некоторого количества приходных накладных интересно знать, что на каком складе лежит. Сделать отчет по складам.
-
Отчет "ОстаткиНаСкладе".
-
Вставить в экранную форму два элемента диалога.
-
Первый: поле ввода "ВыбДата" тип Дата.
-
Второй: поле ввода "ВыбСклад" тип С.Склады.
-
Соответственно приставить к ним текстовые поля с надписью, что есть что (вообще, это удобно делать через меню Вставить командой "Элемент диалога..." либо аналогичной кнопкой из панели инструментов).
-
В модуле прописать процедуру:
Процедура ПриОткрытии() ВыбДата=РабочаяДатаО;
// РабочаяДата — дата, на которую установлена в данный момент 1С.
КонецПроцедуры.
-
Заполнить процедуру Сформировать(). Эта процедура вызывается одноименной кнопкой [Сформировать]. Там она прописана в поле "Формула":
Процедура Сформировать()
ТабЗн=СоздатьОбъект( "ТаблицаЗначений");
// создаем динамическую 2-х мерную таблицу
ТабЗн.НоваяКолонка("Товар","Справочник. Номенклатура");
ТабЗн.НоваяКолонка("Ост","Число", 17,2):
// указываем какие колонки будет содержать наша динамическая таб
лица
РегОст=СоздатьОбъект("Регистр. ОстаткиТоваров");
// создаем в памяти копию регистра остатков Ре
гОст.ВременныйРасчет( 1);
// указываем, что из этого регистра нам. возможно, надо будет полу
чить данные
// на момент времени отличный от текущего
РассчитатьРегистрыНа(ВыбДата);
// указываем на какой момент времени надо получить данные из
ре¬гистров
РегОст.ВыбратьИтоги();
// открываем выборку итогов из регистра (на указанный момент
вре¬мени)
Пока РегОст.Получ итьИтог()= 1 Цикл
// получаем очередной итог
ТС кладНРегОст. Склад;
Если ТСклад-ВыбСклад Тогда
// если текущий итог по выбранному складу
ТабЗн.НоваяСтрока();
// добавляем в динамическую таблицу новую строку
ТабЗн.Товар=РегОст.Товар;
ТабЗн. Оет=РегОст. Количество;
// заполняем поля д. таблицы
КонецЕсли;
КонецЦикла;
РегОст="";
// убираем из памяти копию регистра. Она нам больше не нужна
СтрокаН=0;
ТабЗн.ВыбратьСтроку(СтрокаН,"Просмотр содержимого таблицы");
// Это мы делаем, чтобы просмотреть содержимое динамической таб
лицы
// у нас будут строки с одинаковым товаром и сортом, они возникли
из-за
// наличия измерения "Партия" нам надо их объединить
ТабЗн.Свернуть(" 1,2");
// методом Свернуть() мы объединяем строки у которых содержимое
// в колонках 1 и 2 одинаковое, а колонку 3 мы суммируем Стро
каН=0;
ТабЗн.ВыбратьС гроку(СтрокаН,"Просмотр содержимого таблицы");
// смотрим что получилось. Строки у нас идут вразнобой
ТабЗн.Сортировать" 1+,2+");
// отсортируем их. сперва сортируем по убыванию колонку 1, Стро
каН=0;
ТабЗн.ВыбратьСтроку(СтрокаН,"Просмотр содержимого таблицы");
// смотрим на результат
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица( "Таблица");
Таб.ВывестиСекцию("Шапка");
ТТовар="@#$%&";
// такого товара у нас не будет
ТабЗн.ВыбратьСтроки();
// открываем выборку строк из д. таблицы
Пока ТабЗн.ПолучитьСтроку()= 1 Цикл
Товар=ТабЗн.Товар;
Тов=СокрЛП(Товар.Код)+" ("+СокрЛП(Товар.Наименование)+")";
Ост=ТабЗн.Ост;
Ед=Строка(Товар.ЕдИзм);
Если ТТовароТовар Тогда
// если товар из д. таблицы не совпадает с переменной ТТовар
Таб.ВывестиСекцию("Товар");
// выводим эту секцию таблицы для печати
ТТовар=Товар;
Иначе
// выводим эту секцию
КонецЕсли;
КонецЦикла;
Таб.ТолькоПросмотр( 1);
Таб.ПараметрыСтраницы( 1,100,1);
Таб. Показать(" ");
КонецПроцедуры
-
Теперь создать шаблон для печатной таблицы.
-
Загрузить 1С:Предприятие.
-
Посмотреть, что покажет отчет на разные даты по разным складам.