Файл: Отчет по производственной практике (по профилю специальности) в форме практической подготовки.docx
Добавлен: 12.01.2024
Просмотров: 119
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
&НаСервере
Процедура СоздатьНовыйФайл(Данные, Расширение, Тип)
ТипСодержимого = Тип;
Номер = Найти(ТипСодержимого, "/");
Если Номер > 0 Тогда
ТипСодержимого = Лев(ТипСодержимого, Номер - 1);
КонецЕсли;
Файл = Новый Файл(СтрЗаменить(Строка(ТекущаяДата()), ":", "_") + "."+ Расширение);
ХранимыйФайл = Справочники.ХранимыеФайлы.СоздатьЭлемент();
ХранимыйФайл.Владелец = Объект.Клиент;
ХранимыйФайл.Наименование = "Заказ № " + Объект.Номер + " " +ТипСодержимого + " " + Строка(ТекущаяДата());
ХранимыйФайл.ИмяФайла = Файл.Имя;
ХранимыйФайл.ДанныеФайла = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных());
ХранимыйФайл.Записать();
КонецПроцедуры
При открытии формы заказа установим видимость команд для работы со средствами мультимедиа только в том случае, если мобильное устройство поддерживает такие возможности. Для этого добавим в обработчик события формы ПриОткрытии следующий фрагмент текста
. Фрагмент обработчика события формы «ПриОткрытии»
&НаКлиенте
Процедура ПриОткрытии(Отказ)
…
Элементы.ФормаСделатьАудиозапись.Доступность =СредстваМультимедиа.ПоддерживаетсяАудиозапись();
Элементы.ФормаСделатьВидеозапись.Доступность =СредстваМультимедиа.ПоддерживаетсяВидеозапись();
Элементы.ФормаСделатьФотоснимок.Доступность =СредстваМультимедиа.ПоддерживаетсяФотоснимок();
…
КонецПроцедуры
ОБМЕН ДАННЫМИ.
На закладке Основные нажмем кнопку Состав и включим в состав плана обмена все объекты конфигурации, которые мы создали
Рисунок 10-«Создание план обмена»
Теперь в модуле плана обмена поместим процедуры для записи и чтения сообщений обмена, посылаемых конкретному узлу плана обмена
.Процедура для записи данных обмена
Процедура ЗаписатьСообщениеСИзменениями(Каталог) Экспорт
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "-------- Выгрузка в узел " + Строка(ЭтотОбъект) + " ------------";
Сообщение.Сообщить();
// Сформировать имя временного файла.
ИмяФайла = Каталог + ?(Прав(Каталог, 1) = "\", "", "\") + "Message" +СокрЛП(ПланыОбмена.Мобильные.ЭтотУзел().Код) + "_" + СокрЛП(Ссылка.Код) + ".xml";
// Создать объект записи XML
// *** ЗаписьXML-документов.
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла);
ЗаписьXML.ЗаписатьОбъявлениеXML();
// *** Инфраструктура сообщений.
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Ссылка);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = " Номер сообщения: " + ЗаписьСообщения.НомерСообщения;
Сообщение.Сообщить();
// Получить выборку измененных данных
// *** Механизм регистрации изменений.
ВыборкаИзменений =ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель,ЗаписьСообщения.НомерСообщения);
Пока ВыборкаИзменений.Следующий() Цикл
Данные = ВыборкаИзменений.Получить();
// Записать данные в сообщение *** XML-сериализация.
ЗаписатьXML(ЗаписьXML, Данные);
КонецЦикла;
ЗаписьСообщения.ЗакончитьЗапись();
ЗаписьXML.Закрыть();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "-------- Конец выгрузки ------------";
Сообщение.Сообщить();
КонецПроцедуры
Процедура для чтения данных обмена
Процедура ПрочитатьСообщениеСИзменениями(Каталог) Экспорт
// Сформировать имя файла.
ИмяФайла = Каталог + ?(Прав(Каталог, 1) = "\", "", "\") + "Message" + СокрЛП(Ссылка.Код) +"_" + СокрЛП(ПланыОбмена.Мобильные.ЭтотУзел().Код) + ".xml";
Файл = Новый Файл(ИмяФайла);
Если Не Файл.Существует() Тогда
Возврат;
КонецЕсли;
// *** Чтение документов XML
// Попытаться открыть файл.
ЧтениеXML = Новый ЧтениеXML;
Попытка
ЧтениеXML.ОткрытьФайл(ИмяФайла);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Невозможно открыть файл обмена данными.";
Сообщение.Сообщить();
Возврат;
КонецПопытки;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "-------- Загрузка из " + Строка(ЭтотОбъект) + " ------------";
Сообщение.Сообщить();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = " – Считывается файл " + ИмяФайла;
Сообщение.Сообщить();
// Загрузить из найденного файла
// *** Инфраструктура сообщений.
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
// Читать заголовок сообщения обмена данными – файла XML.
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
// Сообщение предназначено не для этого узла.
Если ЧтениеСообщения.Отправитель <> Ссылка Тогда
ВызватьИсключение "Неверный узел";
КонецЕсли;
// Удаляем регистрацию изменений для узла отправителя сообщения.
// *** Служба регистрации изменений.
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
// Читаем данные из сообщения *** XML-сериализация.
Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
// Читаем очередное значение.
Данные = ПрочитатьXML(ЧтениеXML);
// Записать полученные данные.
Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Записать();
КонецЦикла;
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
УдалитьФайлы(ИмяФайла);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "-------- Конец загрузки ------------";
Сообщение.Сообщить();
КонецПроцедуры
В заключение создадим в нашей конфигурации обработку для выполнения обмена данными с именем ЗапаснойОбменДанными. На закладке Формы создадим форму этой обработки.
В окне редактора форм на закладке Реквизиты добавим реквизит формы УзелОбмена типа ПланОбменаСсылка.Мобильные и перетащим его в окно элементов формы
Затем на закладке Команды создадим команды ЗарегистрироватьИзменения, ВыгрузитьДанныеи ЗагрузитьДанные и поочередно перетащим эти команды в окно элементов формы. В палитре свойств соответствующих кнопок формы снимем флажок Доступность
Рисунок 11-«Создание формы обмена»
Чтобы обеспечить такое поведение кнопок, создадим в модуле формы обработки функцию, выполняющуюся на сервере и возвращающую истину, если переданный в функцию узел является предопределенным
Функция «ПредопределенныйУзел()»
&НаСервереБезКонтекста
Функция ПредопределенныйУзел(Узел)
Возврат Узел = ПланыОбмена.Мобильные.ЭтотУзел();
КонецФункции
Затем вызовем контекстное меню элемента формы УзелОбмена и создадим клиентский обработчик событияПриИзменении. Заполним этот обработчик следующим образом
Процедура «УзелОбменаПриИзменении()»
&НаКлиенте
Процедура УзелОбменаПриИзменении(Элемент)
Если ПредопределенныйУзел(УзелОбмена) Тогда
Элементы.ЗарегистрироватьИзменения.Доступность = Ложь;
Элементы.ВыгрузитьДанные.Доступность = Ложь;
Элементы.ЗагрузитьДанные.Доступность = Ложь;
Иначе
Элементы.ЗарегистрироватьИзменения.Доступность = Истина;
Элементы.ВыгрузитьДанные.Доступность = Истина;
Элементы.ЗагрузитьДанные.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
Потом были созданы обработчики каждой из команд обмена
1) Обработчик команды «ЗарегистрироватьИзменения»
2) Обработчик команды «ВыгрузитьДанные»
3) Обработчик команды «ВыгрузитьДанныеНаСервере»
4) Обработчик команды «ЗагрузитьДанные»
5) Обработчик команды «ЗагрузитьДанныеНаСервере»
Тестирование Обмен данных
Рисунок 12-«Тестирование в мобильном платформе»
ЗАКЛЮЧЕНИЕ
Производственная практика проходила в течение с 11.05.2022 года по 24.05.2022 года на предприятии ЗАО «Калуга Астрал».
Общим результатом производственной практики является достижение всех поставленных целей и получение дополнительного опыта профессиональной работы на предприятии.
Наиболее важное место в исследовании, проведенном в процессе производственной практики, занимало изучение программного обеспечения, используемого данной организацией. В результате была освоена специализированная программа 1С: Предприятие и проведено знакомство с конфигурациями данной программы «Бухгалтерия» и «Зарплата», а также изучены основные особенности языка программирования 1С. Приобретенные навыки были применены и усовершенствованы в ходе выполнения индивидуального задания.
СПИСОК ЛИТЕРАТУРЫ
1. 1C:Бухгалтерия предприятия 8.3. Практическое пособие. - М.: КноРус, 2018. - 368 c.
2. Андрей, Габец Реализация прикладных задач в системе "1С:Предприятие 8.3" (+ CD-ROM) / Габец Андрей. - М.: 1С, 2018. - 0 c.
3. Бойко, Э. В. 1С: Предприятие 8.3. Универсальный самоучитель / Э.В. Бойко. - М.: Омега-Л, 2020. - 232 c.
4. Гейц, И. В. Учет и оплата труда работников государственных и муниципальных учреждений: актуальные вопросы. Применение «1С:Зарплата и кадры бюджетного учреждения 8" / И.В. Гейц, Е.А. Кадыш. - М.: 1С-Паблишинг, 2019. - 448 c.
5. Герасимова, Л. Г. 1С:Зарплата и Кадры 7.7. Повседневные операции. Советы опытного бухгалтера / Л.Г. Герасимова, Р.В. Смоляк. - М.: БХВ-Петербург,
2017. - 336 c.
6. Грянина, Е. А. Секреты профессиональной работы с "1С:Зарплата и управление персоналом 8". Кадровый учет и управление персоналом / Е.А. Грянина, С.А. Харитонов. - М.: 1С-Паблишинг, 2019. - 512 c.
7. Дубянский, Владимир Разработка конфигураций в среде 1С: Предприятие 7.7. Самоучитель / Владимир Дубянский , Людмила Скобликова. - М.: БХВ-Петербург, 2018. - 448 c.
8. Засорин, Сергей Валентинович 1С:Бухгалтерия предприятия 2.0. Новая конфигурация / Засорин Сергей Валентинович. - М.: БХВ-Петербург, 2018. - 0 c.
9. Кашаев, Сергей 1С:Предприятие 8.3. Программирование и визуальная разработка на примерах / Сергей Кашаев. - М.: БХВ-Петербург, 2017. - 0 c.
10. Котин, Михаил 1C: Предприятие 8.3. Управление небольшой фирмой / Михаил Котин. - М.: Питер, 2020. - 0 c.