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