Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Управление блокировкой документаСодержание книги
Поиск на нашем сайте // Создадим новый документ НовыйПоступлениеТоваров = Документы.ПоступлениеТоваров.СоздатьДокумент(); // Заполним реквизиты документа НовыйПоступлениеТоваров.Номер = "001"; //... // Сохраним его в базе данных НовыйПоступлениеТоваров.Записать(); // Теперь получим ссылку на созданный нами документ ПоступлениеТоваровСсылка = Документы.ПоступлениеТоваров.НайтиПоНомеру("001"); // Получаем объект документа по ссылке ПоступлениеТоваровОбъект = ПоступлениеТоваровСсылка.ПолучитьОбъект(); // Блокируем документ Попытка ПоступлениеТоваровОбъект.Заблокировать(); // Вносим изменения в документ, например, меняем номер ПоступлениеТоваровОбъект.Номер = "002"; // Записываем данные в базу ПоступлениеТоваровОбъект.Записать(); // Разблокируем документ ПоступлениеТоваровОбъект.Разблокировать(); Исключение // Выводим сообщение об ошибке Предупреждение ("Не удалось заблокировать документ!"); КонецПопытки;
Удаление документа // Создадим новый документ НовыйСписаниеТоваров = Документы.СписаниеТоваров.СоздатьДокумент(); // Заполним дату документа НовыйСписаниеТоваров.Дата = ТекущаяДата(); // Запишем документ в базу НовыйСписаниеТоваров.Записать(); // Пометим документ к удалению Если НЕ НовыйСписаниеТоваров.ПометкаУдаления Тогда НовыйСписаниеТоваров.УстановитьПометкуУдаления; КонецЕсли; // или удалим документ непосредственно НовыйСписаниеТоваров.Удалить();
26. Прикладной объект конфигурации регистр (сведений, накопления, бухгалтерии, расчета): свойства, структура, приемы программирования. Регистр сведений Прикладной объект, предназначенный для хранения произвольных данных в разрезе нескольких измерений. В том числе в разрезе времени. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен. Основными функциональными возможностями, которые предоставляет регистр сведений разработчику, являются: · создание, изменение и удаление записей; · выбор записей в заданном интервале по заданным критериям; · выбор записей по регистратору; · получение значений ресурсов записей, соответствующих указанному периоду и значениям измерений; · получение значений ресурсов наиболее ранних и наиболее поздних записей регистра, соответствующих указанному периоду и значениям измерений. Для получения наиболее поздних/ранних записей регистра сведений используется функция СрезПоследних/СрезПервых объекта РегистрСведенийМенеджер.<Имя регистра сведений>, либо виртуальная таблица СрезПоследних/СрезПервых регистра сведений, в случае когда выборка данных осуществляется запросом. Приемы программирования Чтение одной записи(структура): // Для периодического: // Получить(<Период>, <Отбор>) // ПолучитьПервое(<НачалоПериода>, <Отбор>) // ПолучитьПоследнее(<КонецПериода>, <Отбор>) // Для непериодического: // Получить(<Отбор>) Доллары = Справочники.Валюты.НайтиПоНаименованию("USD"); Отбор = Новый Структура; Отбор.Вставить("Валюта", Доллары); Курсы = РегистрыСведений.КурсыВалют; ТекКурс = Курсы.ПолучитьПоследнее(ТекущаяДата(), Отбор); Сообщить("Текущий курс доллара: " + ТекКурс.Курс + " руб.");
Срез первых/последних(таблица значений): // СрезПервых(<НачалоПериода>, <Отбор>) // СрезПоследних(<КонецПериода>, <Отбор>) Отбор = Новый Структура("ТипЦен, Номенклатура"); Отбор.ТипЦен = ТипЦены; // Какой тип цены Отбор.Номенклатура = Номенклатура; // Для какой номенклатуры // Цена в регистре сведений до Рабочей даты включительно Цена = РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(РабочаяДата(), Отбор); Запросом(выборка): Единственый способ получения данных по виду сравнения не только "равно" // Чтение данных на определенную дату из регистра сведений Запрос = Новый Запрос;
МассивВалют = Новый Массив;
МассивВалют.Добавить(Валюта1); МассивВалют.Добавить(Валюта2);
Запрос.УстановитьПараметр("МассивВалют", МассивВалют); Запрос.УстановитьПараметр("ДатаПолучения", ДатаПолучения);
Запрос.Текст = " |ВЫБРАТЬ | ВалютыСрезПоследних.Валюта, | ВалютыСрезПоследних.Курс |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПолучения, Валюта В (&МассивВалют)) КАК ВалютыСрезПоследних";
РезультатЗапроса = Запрос.Выполнить(); ТаблицаКурсов = РезультатЗапроса.Выгрузить(); // или так Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(" "+Выборка.Валюта+": "+Выборка.Курс); КонецЦикла; Чтение по одному измерению нескольких(выборка): Важно! Структура отбора может содержать только один элемент. // Для периодического: // Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>) // Для непериодического: // Выбрать(<Отбор>, <Порядок>) // Для подчиненного: // ВыбратьПоРегистратору(<Регистратор>)
// Пример: ОтборВалют = Новый Структура("Валюта", ВыбВалюта); ВыборкаКурсовВалют = РегистрыСведений.КурсыВалют.Выбрать(,,ОтборВалют); Пока ВыборкаКурсовВалют.Следующий() Цикл Сообщить("Дата " + ВыборкаКурсовВалют.Период + " Валюта "+СокрЛП(ВыборкаКурсовВалют.Валюта) + ", Курс "+ ВыборкаКурсовВалют.Курс); КонецЦикла;
Чтение/запись одной(записи): Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Курс.Валюта = ВыбВалюта; // все измерения обязательны для заполнения Курс.Период = ТекущаяДата(); // + период для периодического + регистратор для подчиненного // Курс.Записать(); - если вызвать здесь, то удалим запись, т.к. не задали значение ресурсов Курс.Прочитать(); Если Не Курс.Выбран() Тогда Курс.Период = ТекущаяДата(); Курс.Валюта = ВыбВалюта; Курс.Курс = 41.35; Курс.Кратность = 1; КонецЕсли; Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда Курс.Записать(); КонецЕсли;
Чтение/запись нескольких(набор записей): НаборЗаписей = РегистрыСведений.НумерацияДоговоров.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.Установить(НачалоГода(Дата)); НаборЗаписей.Отбор.Организация.Установить(Организация); // Отбор может устанавливаться только на равенство // Для регистров "Подчиненных регистратору", отбор возможен только по регистратору НаборЗаписей.Прочитать(); // считывает записи в память согласно отбору (проще говоря получаем таблицу значений)
Если НаборЗаписей.Количество() = 0 Тогда НовыйНомер = НаборЗаписей.Добавить(); НовыйНомер.Организация = Организация; НовыйНомер.Период = НачалоГода(Дата); НовыйНомер.Номер = 2; ном=1; ИначеЕсли НаборЗаписей.Количество() = 1 Тогда НовыйНомер = НаборЗаписей[0]; ном = НовыйНомер.Номер; НовыйНомер.Номер = ном+1; КонецЕсли; НаборЗаписей.Записать(); // удаляет все старые записи согласно отбору и добавляет строки из НаборЗаписей Регистр накопления Прикладной объект, предназначенный для хранения информации о наличии и движениях средств (финансов, товаров, материалов и т.д.). Позволяет автоматизировать такие направления, как складской учет, взаиморасчеты, планирование. В программных модулях для общих действий над регистром накопления (получение остатков и оборотов по данным регистра накопления, поиска нужных записей, формирования выборок, создания форм и макетов) служит объект РегистрНакопленияМенеджер.<Имя регистра накопления>. Для считывания и занесения набора записей в базу данных по определенному условию отбора служит объект РегистрНакопленияНаборЗаписей.<Имя регистра накопления>. Для динамического обхода записей регистра служит объект РегистрНакопленияВыборка.<Имя регистра накопления>. Все поля регистра накопления можно разделить на три категории: измерения, ресурсы, реквизиты. К этим категориям относятся и все системные поля регистра. Период является измерением. Регистратор и НомерСтроки, с одной стороны, являются измерениями, так как вместе периодом определяют момент времени в которое произошло движение; с другой стороны, они характеризуют конкретную запись и могут быть отнесены к категории реквизитов. Вид движения является реквизитом так как является только характеристикой конкретной записи. Регистр бухгалтерии Прикладной объект, предназначенный для хранения данных, относящихся к бухгалтерскому учету. Позволяет вести многоуровневый и многомерный аналитический учет, учет по нескольким планам счетов. Возможно опциональное ведение количественного, суммового и валютного учета по отдельным разрезам аналитики и т.д. По своему виду регистр бухгалтерии напоминает регистр накопления: он может иметь набор изменений, в разрезе которых накапливаются числовые значения ресурсов. Также он может содержать набор реквизитов для хранения дополнительной информации, связанной с записями регистра. Регистр бухгалтерии связывается с одним из используемых планов счетов, и хранит бухгалтерские итоги в соответствии с его структурой. Информация в регистре бухгалтерии хранится в виде записей, структура которых строится системой динамически, в зависимости от настроек различных элементов учета, выполненной при редактировании плана счетов. Например, запись может содержать поля для ввода корреспондирующих счетов, сумм, субконто, количества, вида валюты и суммы в валюте. Регистр бухгалтерии может работать в двух режимах: с поддержкой корреспонденции и без. В случае если выбран режим с поддержкой корреспонденции, будет задействован механизм двойной записи и каждая запись регистра будет содержать обязательные поля СчетДт (счет дебета) и СчетКт (счет кредита). Если же регистр не поддерживает корреспонденцию, каждая запись регистра будет содержать только одно поле – Счет. Основными функциональными возможностями, которые предоставляет регистр бухгалтерии разработчику, являются:
· выбор записей в заданном интервале по заданным критериям; · выбор записей по регистратору; · получение остатков и оборотов на указанный момент времени по заданным значениям параметров (счет, субконто, измерения, кор. счет, кор. субконто, кор. измерения); · получение остатков на указанный момент времени по заданным значениям параметров (счетДт, субконтоДт, счетКт, субконтоКт, измеренияКт, измерения (для балансовых) и измеренияДт, измеренияКт (для не балансовых)); · режим работы с разделением итогов, который обеспечивает более высокую параллельность записи в регистр; · отключение использования текущих итогов; · расчет итогов на указанную дату; · чтение, изменение и запись набора записей в регистр; · возможность записи в регистр без пересчета итогов; · полный пересчет итогов и пересчет итогов за указанный период. Приемы программирования
|
||
|
Последнее изменение этой страницы: 2017-02-05; просмотров: 234; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.007 с.) |