наверх
Свободные IT публикации
быстро и доступно
логин:
пароль:

Документы

  • Как создать новый документ?
  • Как найти документ?
  • Как открыть форму документа?
  • Как изменить значение реквизита и записать документ?
  • Как добавить строку в табличную часть документа, имея ссылку на документ?
  • Как удалить строки из табличной части документа?
  • Как перебрать строки документа?
  • Как выгрузить табличную часть документа?
  • Как посчитать итог в табличной части документа?
  • Как провести документ?
  • Как перебрать документы?
  • Как пометить на удаление все приходные накладные?
  • Как, имея ссылку на документ, создать в базе его копию?
  • Как, имея ссылку на документ, прочитать его движения по регистру?
  • Как определить, по каким регистрам документ выполнил движения?
  • Как в табличной части документа удалить строки с нулевым значением реквизита "Количество"?
  • Как очистить колонку "СтавкаНДС" в табличном поле "Товары" уже заполненного документа?
  • Как заполнить значения свойств нового документа на основании существующего?
  • Как получить перечень приходных накладных, в которых не заполнены номенклатурные позиции?
  • Как на дату расходной накладной определить курс валюты управленческого учета? Валюта управленческого учета храниться в периодическом регистре сведений
  • Как из формы документа вызвать его неоперативное проведение?
  • Как в обработке проведения получить остатки, актуальные на позицию документа?
  • Как определить количество документов и количество разных значений реквизита в таблице записей документа?
  • В последовательность "ПартионныйУчет" добавлено измерение "Организация". Как теперь получить данные по границам последовательности для каждого значени
  • Как быстро получить информацию, по всем объектам, находящимся в компетенции конкретного менеджера (элемент справочника "Пользователи") по продажам?
  • Как узнать, чтодокумент новый (УФ)?
  • Как создать новый документ?

    НовыйДокумент = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); 
    НовыйДокумент.Дата = ТекущаяДата();

    Как найти документ?

    ИскомыйДокумент = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДок, Дата(2005, 1, 1)); 
    Если НЕ ИскомыйДокумент.Пустая() Тогда 
    	// Выполнить действия в случае обнаружения такого документа. … 
    КонецЕсли;

    Как открыть форму документа?

    Форма = ИскомыйДокумент.ПолучитьФорму(); 
    Форма.Открыть();

    Как изменить значение реквизита и записать документ?

    ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект(); 
    ДокОбъект.Ответственный = глТекущийПользователь; 
    ДокОбъект.Записать(); 
    
    // Запись с проведением документа
    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); 
    
    // Запись с отменой проведения
    ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);

    Как добавить строку в табличную часть документа, имея ссылку на документ?

    ОбъектДок = Док.ПолучитьОбъект(); 
    НоваяСтрока = ОбъектДок.Товары.Добавить(); 
    
    // Заполнить значения реквизитов. 
    НоваяСтрока.Количество = 10; 
    НоваяСтрока.Цена = 55;  
    
    // Записать документ. 
    ОбъектДок.Записать();

    Как удалить строки из табличной части документа?

    ОбъектДокумента = Документ.ПолучитьОбъект(); 
    ОбъектДокумента.Товары.Очистить();

    Как перебрать строки документа?

    Для Каждого ТекущаяСтрока Из Документ.Товары Цикл 
    	// Действия со строкой табличной части. 
    КонецЦикла; 
    
    
    СтаршийИндекс = Документ.Товары.Количество() - 1; 
    Для Сч = 0 по СтаршийИндекс Цикл 
    	// Действия со строкой табличной части.
    КонецЦикла;

    Как выгрузить табличную часть документа?

    ТаблицаТоваровДокумента = Документ.Товары.Выгрузить();

    Как посчитать итог в табличной части документа?

    ВсегоПоКолонкеСумма = Документ.Товары.Итог("Сумма");

    Как провести документ?

    НужныйДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

    Как перебрать документы?

    ВыборкаДокументов = Документы.Расходная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата())); 
    Пока ВыборкаДокументов.Следующий() Цикл 
    	// Действия с документом - элементом выборки, 
    	// его значение содержится в переменной ВыборкаДокументов 
    КонецЦикла 
    
    
    Запрос = Новый Запрос; 
    Запрос.Текст = " 
    	|ВЫБРАТЬ 
    	|	РеализацияТоваровУслуг.Ссылка 
    	|ИЗ 
    	|	Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг 
    	|ГДЕ 
    	|	РеализацияТоваровУслуг.Контрагент = &Контрагент 
    	|	И 
    	|	(РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1)) 
    	|	И 
    	|	РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; 
    
    Запрос.УстановитьПараметр("Контрагент", ОтбКонтрагент); 
    Запрос.УстановитьПараметр("Номенклатура", ОтбНоменклатура); 
    
    Результат = Запрос.Выполнить(); 
    Выборка = Результат.Выбрать(); 
    Пока Выборка.Следующий() Цикл 
    	// действия с документом - элементом выборки, 
    	// его значение содержится в переменной Выборка 
    КонецЦикла;

    Как пометить на удаление все приходные накладные?

    ДокументыВида = Документы.ПоступлениеТоваровУслуг.Выбрать(); 
    Пока ДокументыВида.Следующий() Цикл 
    	ДокОбъект = ДокументыВида.ПолучитьОбъект(); 
    	ДокОбъект.УстановитьПометкуУдаления(Истина); 
    КонецЦикла;

    Как, имея ссылку на документ, создать в базе его копию?

    ДокументКопия = ИсходныйДокумент.Скопировать(); 
    ДокументКопия.Дата = РабочаяДата; 
    ДокументКопия.Записать(); 
    
    ДокументКопия.Дата = ИсходныйДокумент.Дата;

    Как, имея ссылку на документ, прочитать его движения по регистру?

    Запрос = Новый Запрос; 
    Запрос.Текст ="ВЫБРАТЬ * 
    	|ИЗ 
    	|	РегистрНакопления.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры 
    	|ГДЕ 
    	|	ОстаткиНоменклатуры.Регистратор = &Регистратор"; 
    
    Запрос.УстановитьПараметр("Регистратор", ПолеВводаРегистратор); 
    
    НаборЗаписейРегистра = Движения.ОстаткиНоменклатуры; 
    НаборЗаписейРегистра.Прочитать(); 
    Для Каждого Запись из НаборЗаписейРегистра Цикл 
    	// Чтение и модификация очередного движения. 
    КонецЦикла; 
    
    
    Для Каждого НаборЗаписейРегистра из Движения Цикл 
    	НаборЗаписейРегистра.Прочитать(); 
    	Для Каждого Запись из НаборЗаписейРегистра Цикл 
    		// Чтение и модификация очередного движения. 
    	КонецЦикла; 
    КонецЦикла;

    Как определить, по каким регистрам документ выполнил движения?

    ВЫБРАТЬ ПЕРВЫЕ 1 
    	"Внутренние заказы" КАК Регистр 
    ИЗ 
    	РегистрНакопления.ВнутренниеЗаказы КАК ВнутренниеЗаказы 
    ГДЕ 
    	ВнутренниеЗаказы.Регистратор = &Регистратор 
    
    ОБЪЕДИНИТЬ 
    
    ВЫБРАТЬ ПЕРВЫЕ 1 
    	"Заказы поставщикам" КАК Регистр 
    ИЗ 
    	РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам 
    ГДЕ 
    	ЗаказыПоставщикам.Регистратор = &Регистратор 
    
    ОБЪЕДИНИТЬ 
    
    ВЫБРАТЬ ПЕРВЫЕ 1 
    	"Размещение заказов покупателей" КАК Регистр 
    ИЗ 
    	РегистрНакопления.РазмещениеЗаказовПокупателей КАК РазмещениеЗаказовПокупателей 
    ГДЕ 
    	РазмещениеЗаказовПокупателей.Регистратор = &Регистратор 
    
    ОБЪЕДИНИТЬ 
    
    ВЫБРАТЬ ПЕРВЫЕ 1 
    	"Товары в резерве на складах" КАК Регистр 
    ИЗ 
    	РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах 
    ГДЕ 
    	ТоварыВРезервеНаСкладах.Регистратор = &Регистратор

    Как в табличной части документа удалить строки с нулевым значением реквизита "Количество"?

    ОбъектДок = СсылкаДок.ПолучитьОбъект(); 
    СтруктураДляПоиска = Новый Структура("Количество", 0); 
    
    ТабличнаяЧастьДок = ОбъектДок.Товары; 
    МассивПустыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска); 
    
    Для каждого Строка Из МассивПустыхСтрок Цикл 
    	ТабличнаяЧастьДок.Удалить(Строка); 
    КонецЦикла; 
    
    ОбъектДок.Записать(); 
    
    СтруктураДляПоиска = Новый Структура("Количество", 0); 
    
    МассивПустыхСтрок = Товары.НайтиСтроки(СтруктураДляПоиска); 
    
    Для каждого Строка Из МассивПустыхСтрок Цикл 
    	Товары.Удалить(Строка); 
    КонецЦикла;

    Как очистить колонку "СтавкаНДС" в табличном поле "Товары" уже заполненного документа?

    Процедура ТоварыСтавкаНДСПриИзменении(Элемент) 
    
    	// Рассчитать реквизиты табличной части. 
    	РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); 
    
    КонецПроцедуры // ТоварыСтавкаНДСПриИзменении() 
    
    
    Для Каждого Строка из Товары Цикл 
    	Строка.СтавкаНДС = Неопределено; 
    	// Передать управление на процедуру, вызываемую 
    	// из обработчика события "ПриИзменении" для поля ввода "СтавкаНДС" 
    	ЭлементыФормы.Товары.ТекущаяСтрока = Строка; 
    	РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); 
    КонецЦикла;

    Как заполнить значения свойств нового документа на основании существующего?

    НовыйСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); 
    ЗаполнитьЗначенияСвойств(НовыйСчет, ДокументЗаказа, , "Дата"); 
    
    // Заполнить табличную часть Товары. 
    Для Каждого СтрокаТоваровЗаказа Из ДокументЗаказа.Товары Цикл 
    	ЗаполнитьЗначенияСвойств(НовыйСчет.Товары.Добавить(), СтрокаТоваровЗаказа); 
    КонецЦикла; 
    
    // Заполнить табличную часть ВозвратнаяТара 
    Для Каждого СтрокаТарыЗаказа Из ДокументЗаказа.ВозвратнаяТара Цикл 
    	ЗаполнитьЗначенияСвойств(НовыйСчет.ВозвратнаяТара.Добавить(), СтрокаТарыЗаказа); 
    КонецЦикла; 
    
    // Заполнить табличную часть Услуги 
    Для Каждого СтрокаУслугЗаказа Из ДокументЗаказа.Услуги Цикл 
    	ЗаполнитьЗначенияСвойств(НовыйСчет.Услуги.Добавить(), СтрокаУслугЗаказа); 
    КонецЦикла; 
    
    НовыйСчет.ЗаказПокупателя = ДокументЗаказа; 
    
    Форма = НовыйСчет.ПолучитьФорму(); 
    Форма.Открыть();

    Как получить перечень приходных накладных, в которых не заполнены номенклатурные позиции?

    Запрос = Новый Запрос; 
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ 
    	|	ПриходнаяТовары.Ссылка как Накладные 
    	|ИЗ 
    	|	Документ.ПоступлениеТоваровУслуг.Товары КАК ПриходнаяТовары 
    	|ГДЕ 
    	|	ПриходнаяТовары.Номенклатура = &ПустаяНоменклатура"; 
    
    Запрос.УстановитьПараметр("ПустаяНоменклатура", Справочники.Номенклатура.ПустаяСсылка()); 
    
    ТаблицаНакладных = Запрос.Выполнить();

    Как на дату расходной накладной определить курс валюты управленческого учета? Валюта управленческого учета храниться в периодическом регистре сведений

    ВЫБРАТЬ 
    	КурсыВалютСрезПоследних.Валюта КАК ВалютаУпр, 
    	КурсыВалютСрезПоследних.Курс КАК КурсУпр 
    ИЗ 
    	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта В 
    	(ВЫБРАТЬ 
    		УчетнаяПолитикаСрезПоследних.ВалютаУправленческая 
    	ИЗ 
    		РегистрСведений.УчетнаяПолитика.СрезПоследних(&ДатаДокумента, ) 
    		КАК УчетнаяПолитикаСрезПоследних ) 
    	) КАК КурсыВалютСрезПоследних

    Как из формы документа вызвать его неоперативное проведение?

    Процедура ОсновныеДействияФормыОК(Кнопка) 
    	ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный; 
    	ЗаписатьВФорме(РежимЗаписиДокумента.Проведение); 
    	Закрыть(); 
    КонецПроцедуры

    Как в обработке проведения получить остатки, актуальные на позицию документа?

    Запрос.Текст = " ВЫБРАТЬ 
    	|	ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток, 
    	|	ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток 
    	|ИЗ 
    	|	РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ПараметрПериод, 
    	|								ДоговорКонтрагента = &Договор 
    	|								И 
    	|								Сделка =&Сделка) КАК ВзаиморасчетыСКонтрагентамиОстатки"; 
    
    Запрос.УстановитьПараметр("ПараметрПериод", МоментВремени());

    Как определить количество документов и количество разных значений реквизита в таблице записей документа?

    ВЫБРАТЬ 
    	КОЛИЧЕСТВО(РегистрацияПростоевВОрганизации.Ссылка) КАК Случаев, 
    	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегистрацияПростоевВОрганизации.ФизЛицо) КАК Работников 
    ИЗ 
    	Документ.РегистрацияПростоевВОрганизации КАК РегистрацияПростоевВОрганизации 
    ГДЕ 
    	РегистрацияПростоевВОрганизации.Проведен

    В последовательность "ПартионныйУчет" добавлено измерение "Организация". Как теперь получить данные по границам последовательности для каждого значени

    ТаблицаГраниц = Последовательности.ПартионныйУчет.ПолучитьГраницы("Организация"); 
    Для Каждого СтрокаТаблицыГраниц Из ТаблицаГраниц Цикл 
    	Организация = СтрокаТаблицыГраниц.Организация; 
    	ДатаГП = СтрокаТаблицыГраниц.Граница.Дата; 
    	СсылкаГП = СтрокаТаблицыГраниц.Граница.Ссылка; 
    КонецЦикла;

    Как быстро получить информацию, по всем объектам, находящимся в компетенции конкретного менеджера (элемент справочника "Пользователи") по продажам?

    МассивСсылок = КритерииОтбора.КомпетенцияМенеджераПродаж.Найти(Менеджер); 
    Для Каждого Ссылка из МассивСсылок Цикл 
    	Сообщить(Ссылка); 
    КонецЦикла; 
    ВЫБРАТЬ 
    	КомпетенцияМенеджераПродаж.Ссылка 
    ИЗ 
    	КритерийОтбора.КомпетенцияМенеджераПродаж(&Менеджер) КАК КомпетенцияМенеджераПродаж

    Как узнать, чтодокумент новый (УФ)?


    Использоватиь код:
    ФлНовый =  Параметры.Ключ.Пустая();