Разработка программы учета товара средствами 1С: Предприятие 7.7
Дипломная работа - Бухгалтерский учет и аудит
Другие дипломы по предмету Бухгалтерский учет и аудит
?ряет форму документа приход товара
Рис. 7
Модуль документа:
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
КонецПроцедуры
Процедура ПриОкончанииРедактированияСтроки()
Сумма = Цена*Количество;
КонецПроцедуры
Процедура ПриВыбореНоменклатуры()
Спр = СоздатьОбъект("Справочник.Номенклатура");
Спр.НайтиЭлемент(Номенклатура);
Цена = Спр.Цена;
КонецПроцедуры
// Процедура генерации запроса Печать.
//
Процедура Печать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Печать)
|ДатаДок = Документ.Расход.ДатаДок;
|Группировка ДатаДок;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
// Заполнение полей "Заголовок"
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Печать");
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Таб.ВывестиСекцию("Номенклатура");
КонецЦикла;
Таб.ВывестиСекцию("Подвал");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать", "");
КонецПроцедуры
Свойства полей табличной части
Рис. 8
Секция Заголовок - шаблон, Номенклатура - выражение, поле константа - выражение, остальные текстовые поля.
При создании расходного и приходного документа необходимо в свойствах указать оперативный учет. Журнал документов создадим общий.
Так и назовем его общий. Синоним - Общий. Я сразу включил туда оба документа приход и расход.
Форму он будет иметь
Рис. 9
При работе с журналом перед глазами сразу все документы и проходные и расходные
Рис. 10
Создание регистра.
Регистры - это таблицы для накопления оперативных данных и получения сводной информации. Данные в регистры добавляются только при проведении документов. Сведения из регистров используются для формирования отчетов. Классическая схема использования регистров в 1С: Предприятие выглядит следующим образом: Документы => Регистры => Отчеты.
Создаем новый регистр, в дереве метаданных во вкладке регистры создадим новый. Идентификатор - ОстаткиТоваров. В нем будет отражаться чего и сколько осталось в магазине. Измерение - Номенклатура. Ресурсы: Количество и Цена.
Отчеты.
Первый отчет будет ОстаткиТоваров.
Форма его проста. Будет содержать лишь поле для ввода даты.
Рис. 11
Модуль
Процедура Сформировать()
//Перем Запрос, ТекстЗапроса, Таб;
// Таб = СоздатьОбъект ("Таблица");
//Таб.ИсходнаяТаблица ("Сформировать");
//// Заполнение полей "Заголовок"
//Таб = СоздатьОбъект ("Таблица");
//Таб.ИсходнаяТаблица ("Сформировать");
//Таб.ВывестиСекцию ("Заголовок");
//Состояние ("Заполнение выходной таблицы...");
//Таб.Опции (0, 0, Таб.ВысотаТаблицы(), 0);
//
//
КонецПроцедуры
//*******************************************
// Процедура генерации запроса печать.
//
Процедура печать()
Перем Запрос, ТекстЗапроса, Таб;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("печать");
// Заполнение полей "Заголовок"
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("печать");
Таб.ВывестиСекцию("Заголовок");
Состояние ("Заполнение выходной таблицы...");
Таб. Опции(0, 0, 2, 0);
ТабЗн=СоздатьОбъект("ТаблицаЗначений");
ТабЗн.НоваяКолонка("Товар","Справочник.Номенклатура");
ТабЗн.НоваяКолонка("Ост","Число",17,2);
ТабЗн.НоваяКолонка("Сумма","Число",17,2);
РегОст=СоздатьОбъект("Регистр.ОстаткиТоваров");
РегОст.ВременныйРасчет(1);
РассчитатьРегистрыНа(ДатаПер);
РегОст.ВыбратьИтоги();
Пока РегОст.ПолучитьИтог()=1 Цикл
ТабЗн.НоваяСтрока();
ТабЗн.Товар=РегОст.Номенклатура;
ТабЗн.Сумма=РегОст.Цена;
ТабЗн.Ост=РегОст.Количество;
КонецЦикла;
РегОст="";
ТабЗн.ВыбратьСтроки();
Спр = СоздатьОбъект("Справочник.Номенклатура");
Пока ТабЗн.ПолучитьСтроку()=1 Цикл
Номенклатура=ТабЗн.Товар;
Спр.НайтиЭлемент(Номенклатура);
ЕдИзм = Спр.ЕдИзм;
Количество=ТабЗн.Ост;
Сумма = ТабЗн.Сумма;
Таб.ВывестиСекцию("Номенклатура");
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("печать", "");
КонецПроцедуры
Создавать отчет проще через мастера запросов.
Период будет выбираться в диалоге формы. Переменная будет Номенклатура.
Таблица печати содержит две секции: заголовок и номенклатура. В секции номенклатура свойства ячеек - выражение.
Следующий отчет - ОтчетПоПриходу. В нем показано что и от какой организации поступило в отдел.
Рис. 12
Модуль документа:
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = Созда?/p>