Карта сайта
Обслуживание компьютеров, ремонт компьютеров, 1С предприятие, обслуживание серверов,создание сайтов, продвижение сайтов, доработка 1С предприятие
О компании | Статьи | 1C Предприятие | Примеры разработки на платформе 8.х

« Назад « На главную

Примеры разработки на платформе 8.х


 


Как создать новый документ?


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

 


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


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

 


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


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

 


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


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

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

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

 


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


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

// Заполнить значения реквизитов.
НоваяСтрока.Количество = 10;
НоваяСтрока.Цена = 55;

// Записать документ.
ОбъектДок.Записать();

 


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


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

 


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


Для Каждого ТекущаяСтрока Из Документ.Товары Цикл 

// Действия со строкой табличной части.
КонецЦикла;


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

// Действия со строкой табличной части.
КонецЦикла;

 


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


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

 


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


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

 


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


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

 


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


ВыборкаДокументов = Документы.Расходная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата())); 
Пока ВыборкаДокументов.Следующий() Цикл
// Действия с документом - элементом выборки,
// его значение содержится в переменной ВыборкаДокументов
КонецЦикла


Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Контрагент = &Контрагент
| И
| (РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1))
| И
| РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)";

Запрос.УстановитьПараметр("Контрагент", ОтбКонтрагент);
Запрос.УстановитьПараметр("Номенклатура", ОтбНоменклатура);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
// действия с документом - элементом выборки,
// его значение содержится в переменной Выборка
КонецЦикла;

 


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


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

 


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


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


ДокументКопия.Дата = ИсходныйДокумент.Дата;

 


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


Запрос = Новый Запрос; 
Запрос.Текст ="ВЫБРАТЬ *
|ИЗ
| РегистрНакопления.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры
|ГДЕ
| ОстаткиНоменклатуры.Регистратор = &Регистратор";

Запрос.УстановитьПараметр("Регистратор", ПолеВводаРегистратор);


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


Для Каждого НаборЗаписейРегистра из Движения Цикл
НаборЗаписейРегистра.Прочитать();
Для Каждого Запись из НаборЗаписейРегистра Цикл
// Чтение и модификация очередного движения.
КонецЦикла;
КонецЦикла;

 


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


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

ОБЪЕДИНИТЬ

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

ОБЪЕДИНИТЬ

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

ОБЪЕДИНИТЬ

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

 


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


ОбъектДок = СсылкаДок.ПолучитьОбъект(); 
СтруктураДляПоиска = Новый Структура("Количество", 0);

ТабличнаяЧастьДок = ОбъектДок.Товары;
МассивПустыхСтрок = ТабличнаяЧастьДок.НайтиСтроки(СтруктураДляПоиска);

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

ОбъектДок.Записать();



СтруктураДляПоиска = Новый Структура("Количество", 0);

МассивПустыхСтрок = Товары.НайтиСтроки(СтруктураДляПоиска);

Для каждого Строка Из МассивПустыхСтрок Цикл
Товары.Удалить(Строка);
КонецЦикла;

 


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


Процедура ТоварыСтавкаНДСПриИзменении(Элемент) 

// Рассчитать реквизиты табличной части.
РассчитатьСуммуНДСТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект);

КонецПроцедуры // ТоварыСтавкаНДСПриИзменении()



Для Каждого Строка из Товары Цикл
Строка.СтавкаНДС = Неопределено;

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

КонецЦикла;

 


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


НовыйСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); 
ЗаполнитьЗначенияСвойств(НовыйСчет, ДокументЗаказа, , "Дата");

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

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

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

НовыйСчет.ЗаказПокупателя = ДокументЗаказа;

Форма = НовыйСчет.ПолучитьФорму();
Форма.Открыть();

 


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


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

Запрос.УстановитьПараметр("ПустаяНоменклатура", Справочники.Номенклатура.ПустаяСсылка());

ТаблицаНакладных = Запрос.Выполнить();

 


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


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

 


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


Процедура ОсновныеДействияФормыОК(Кнопка) 

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

КонецПроцедуры

 


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


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

Запрос.УстановитьПараметр("ПараметрПериод", МоментВремени());

 


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


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

 


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


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

08 Октябрь 2011 г.



метки:



Вверх

Подписаться на RSS

  • Новости
  • Статьи
  • Разделы статей

    Наши контакты

    +7 922 292-00-34

    +7(343)361-52-00

    Напишите нам через форму!!!

    Быстрая форма связи с нами

     
    Ваше имя?*
    Как с Вами связаться?*
    Опишите вопрос или сообщение*
    Введите код *


    Знаком (*) выделены обязательные поля.
    Каталог интернет ресурсов - ИнфоПитер
    1С Предприятие
    1С Предприятие

    Антивирусная защита, FireWall
    Антивирусная защита, FireWall

    Заправка Samsung/Xerox
    Заправка Samsung/Xerox

    Заправка картриджей Brother
    Заправка картриджей Brother

    Заправка картриджей Epson/Konica Minolta
    Заправка картриджей Epson/Konica Minolta

    Заправка картриджей HP/Canon black
    Заправка картриджей HP/Canon black

    Заправка картриджей HP/Canon color
    Заправка картриджей HP/Canon color

    Заправка картриджей Lexmark
    Заправка картриджей Lexmark

    Информационные услуги
    Информационные услуги

    Монтаж локальной сети
    Монтаж локальной сети

    Монтирование кабель каналов
    Монтирование кабель каналов

    Настройка внутреннего оборудования
    Настройка внутреннего оборудования

    Настройка работоспособности переферийного оборудования
    Настройка работоспособности переферийного оборудования

    Обслуживание компьютеров
    Обслуживание компьютеров

    Обслуживание серверов
    Обслуживание серверов

    Оптимизация веб сайтов
    Оптимизация веб сайтов

    Разовые услуги
    Разовые услуги

    Ремонт
    Ремонт

    Ремонт оргтехники
    Ремонт оргтехники

    Создание веб (WEB) сайтов
    Создание веб (WEB) сайтов


    упвап

    Юридические услуги
    Юридические услуги

    Наверх

    ООО "Бизнес Технологии"© 2010 г.

    Написать автору

    Карта сайта