Если вы начинающий разработчик - вступайте в мою группу помощник программиста 1С. В ней мы обсуждаем вопросы программирования в 1С для начинающих (Владимир Милькин, школа программирования).

<<< Документы Константы Перечисления РегистрыБухгалтерии
<<< РегистрыНакопления РегистрыСведений Справочники

Документы в языке 1С 8.3, 8.2 (в примерах)

Описание (нажмите, чтобы раскрыть)
Процедура Примеры()
 
    ОрганизацияПоУмолчанию = 
        БухгалтерскийУчетПереопределяемый.
        ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
 
    /// Как в 1с 8.3, 8.2:
    /// - выбрать все документы за период
    /// - упорядочить документы в выборке    
    /// - выбрать документы по организации
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   РеализацияТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |   (РеализацияТоваровУслуг.Организация = &Организация) И
        |   (РеализацияТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата)
        |УПОРЯДОЧИТЬ ПО
        |   РеализацияТоваровУслуг.Дата УБЫВ";
 
    Запрос.УстановитьПараметр("НачДата", '20130101');
    Запрос.УстановитьПараметр("КонДата", '20131231');
    Запрос.УстановитьПараметр("Организация", ОрганизацияПоУмолчанию);
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить(ВыборкаДетальныеЗаписи.Ссылка)
    КонецЦикла;
 
    /// Как найти документ по номеру в 1с 8.3, 8.2
 
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    РеализацияТоваровУслуг.Номер = &Номер
        |";
 
    Запрос.УстановитьПараметр("Номер", "0000-000001");
 
    /// Как найти документ по реквизиту в 1с 8.3, 8.2
 
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   РеализацияТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |
        |ГДЕ
        |   РеализацияТоваровУслуг.Контрагент = &Контрагент";
 
    Контрагент = Справочники.Контрагенты.ПустаяСсылка();
    Запрос.УстановитьПараметр("Контрагент", Контрагент);
 
    /// Как получить пустую ссылку типа документ в 1с 8.3, 8.2
 
    ПустаяСсылка = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
    Если ПустаяСсылка.Пустая() Тогда
        Сообщить("Ссылка пустая.");
    КонецЕсли;
 
    /// Как выбрать все документы, которые не проведены и
    /// не помечены на удаление в 1с 8.3, 8.2
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   РеализацияТоваровУслуг.Ссылка
        |ИЗ
        |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |   Не РеализацияТоваровУслуг.ПометкаУдаления И
        |   Не РеализацияТоваровУслуг.Проведен";
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
 
    СсылкаНаЛюбойДокумент = 
        Документы.РеализацияТоваровУслуг.ПустаяСсылка();
 
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СсылкаНаЛюбойДокумент = ВыборкаДетальныеЗаписи.Ссылка;
    КонецЦикла;
 
    /// Как изменить и записать документ по ссылке в 1с 8.3, 8.2
 
    ОбъектДокумента = СсылкаНаЛюбойДокумент.ПолучитьОбъект();
    ОбъектДокумента.Комментарий = "Документ изменен.";
    ОбъектДокумента.Записать();
 
    /// Как пометить на удаление документ в 1с 8
 
    Если НЕ СсылкаНаЛюбойДокумент.ПометкаУдаления Тогда
        ОбъектДокумента = СсылкаНаЛюбойДокумент.ПолучитьОбъект();
         // отметим на удаление
        ОбъектДокумента.УстановитьПометкуУдаления(Истина);
        // и тут же снимим отметку
        ОбъектДокумента.УстановитьПометкуУдаления(Ложь); 
    КонецЕсли;
 
    /// Как скопировать существующий документ в 1с 8.3, 8.2
 
    КопияДокумента = СсылкаНаЛюбойДокумент.Скопировать();
    КопияДокумента.Записать();
 
    /// Как провести документ в 1с 8.3, 8.2
 
    ОбъектДокумента = СсылкаНаЛюбойДокумент.ПолучитьОбъект();
    ОбъектДокумента.Записать(
        РежимЗаписиДокумента.Проведение,
        РежимПроведенияДокумента.Неоперативный);
 
    /// Как создать новый документ и изменить режим установки
    /// времени при записи этого документа в 1с 8.3, 8.2
 
    НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    НовыйДок.Организация = ОрганизацияПоУмолчанию;
    НовыйДок.Дата = ТекущаяДата();
    НовыйДок.УстановитьНовыйНомер();
    НовыйДок.УстановитьВремя(РежимАвтоВремя.ТекущееИлиПоследним);
    НовыйДок.Записать();
 
    /// Как создать новый документ на основании другого объекта 
    /// в 1с 8.3, 8.2
 
    НовыйДок = Документы.СчетФактураВыданный.СоздатьДокумент();
    НовыйДок.Заполнить(СсылкаНаЛюбойДокумент.Ссылка);
    НовыйДок.Записать();
 
    /// Как заблокировать документ перед изменениями
    /// а затем разблокировать в 1с 8.3, 8.2
 
    ОбъектДокумента = СсылкаНаЛюбойДокумент.ПолучитьОбъект();
    Если Не ОбъектДокумента.Заблокирован() Тогда
        Объект.Заблокировать();
        Объект.Комментарий = "Документ изменен.";
        Объект.Записать();
        Объект.Разблокировать();
    КонецЕсли;
 
    /// Как открыть произвольную форму документа по имени 
    /// в 1с 8.3, 8.2
 
    // ВЫПОЛНЯТЬ КОД НА КЛИЕНТЕ
    //
    // Форма = ПолучитьФорму("Документ.РеализацияТоваровУслуг.ФормаСписка");
    // Если НЕ Форма.Открыта() Тогда
    //     Форма.Открыть();
    // КонецЕсли;
 
    /// Как открыть форму существующего документа в 1с 8.3, 8.2
 
    // ВЫПОЛНЯТЬ КОД НА КЛИЕНТЕ
    //
    //Параметры = Новый Структура("Ключ", СсылкаНаЛюбойДокумент);
    //ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", Параметры);
 
КонецПроцедуры

Если вы начинающий разработчик - вступайте в мою группу помощник программиста 1С. В ней мы обсуждаем вопросы программирования в 1С для начинающих (Владимир Милькин, школа программирования).

<<< Документы Константы Перечисления РегистрыБухгалтерии
<<< РегистрыНакопления РегистрыСведений Справочники

Документы в языке 1С 8.3, 8.2 (в примерах)

С уважением, (школа 1С программистов).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.