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