+7 (495) 926-37-81ООО «Центр КТ» (495) 926-37-81
МОСКВА
Офис в Москве



Примеры программирования в 1С 8

Как осуществить запись в журнал регистрации «1С: Предприятие 8»?


Процедура РегистрСведенийСписокДополнительныеУслугиПередУдалением(Элемент)
	ТС = Элемент.ТекущаяСтрока;
	Комментарий = "Код: " + ТС.Код + 
		    ". Номенклатура: " + ТС.Номенклатура + 
		    ". Вид наценки: " + ТС.ВидНаценки;
	ЗаписьЖурналаРегистрации("Данные.Удаление",
		УровеньЖурналаРегистрации.Информация,
		Метаданные.РегистрыСведений.ДополнительныеУслуги,
		РежимТранзакцииЗаписиЖурналаРегистрации.Независимая,
		Комментарий);
КонецПроцедуры

Как правильно выбрать из составного вида информации?


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

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

Как определить вид объекта «1С:8»?


Если ТипЗнч(ТекОбъект) = Тип("СправочникСсылка.Номенклатура") Тогда
    ...
КонецЕсли;

Если ТипЗнч(ТекОбъект) = Тип("Строка") Тогда
    ...
КонецЕсли;

Как около элемента управления формы открывается выпадающий список?


Необходимо воспользоваться способом формы из меню («Список Значений», «Элемент Формы»):



//выведем пользователю список вариантов, 
//для ввода СФ около элемента управления «Кнопка»
СписокДействийВводСФ = Новый СписокЗначений();
СписокДействийВводСФ.Добавить(
"ВвестиНовыйСчетФактуру", "Ввести новый счет-фактуру");
СписокДействийВводСФ.Добавить(
"ДополнитьСуществующийСчетФактуру", "Дополнить существующий счет-фактуру");

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

Процесс создания пустой базы в «1С»


Изначально открывается список баз при помощи нажатия на ярлык «1С: Предприятие 8», куда добавляется новая база методом нажатия на кнопку «Добавить». В открывшемся диалоге следует выбрать «Добавление в список существующей базы данных» и нажать кнопку «Далее». Затем указывается наименование «Новая база» и вновь нажимается кнопка «Далее». Далее выбирается каталог, где будет храниться база и жмется кнопка «Готово». Потом следует открыть базу в режиме Конфигуратора. Процесс создания пустой базы на этом завершен!

 

Где меняется значение константы «Использовать дату запрета для сотрудников с «Полными правами»?


Необходимо пройти по следующему пути: Панель Функций – Закладка «Предприятие» – Настройка программы – Вкладка «Запрет изменения данных» или Пункт меню Операции – Константы – Настройка программы – Вкладка «Запрет изменения данных».

 

Как программно на «Панели» переключаются закладки (страницы)?


Панель1 = ЭлементыФормы.Панель1;
Панель1.ТекущаяСтраница = Панель1.Страницы.Страница2;
Панель1.ТекущаяСтраница = Панель1.Страницы["Страница2"];

Как активизируется элемент формы?


Если НЕ ЗначениеЗаполнено(Ответственный) Тогда
	Предупреждение("Сначала заполните поле: Ответственный!", 3);
	ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Ответственный;
КонецЕсли; 

Как обращаться к странице формы, если на нее не помещен элемент управления формы «Панель»?

Форма обладает свойством «Панель», через которое необходимо обращаться. Например:


ПанельФормы = ЭтаФорма.Панель;
СтраницыФормы = ПанельФормы.Страницы;
Если ПанельФормы.ТекущаяСтраница = СтраницыФормы.Страница1 Тогда
      //Мы на первой странице
      . . .
ИначеЕсли ПанельФормы.ТекущаяСтраница = СтраницыФормы.Страница2 Тогда
      //Мы на второй странице
      . . .
Иначе //Мы на последней странице
      . . .
КонецЕсли;

Где изменить главные значения пользователей?


Необходимо пройти по следующему пути: Операции – Справочник – Пользователи – Выберите нужного Вам пользователя – Основные значения для подстановки в документы и справочники.
Тут меняется «Основная ставка НДС» или «Основной склад».

 

Как в поле ввода в табличке устанавливается значение?


Мы владеем документом с табличной частью «Состав», содержащей реквизит «Автомобиль» вида «Справочник Ссылка. Транспортные Средства». Необходимо, чтобы поле ввода «Номер Автомобиля» было заполнено данными реквизита «Автомобиль. Гос Номер».

Как устанавливается значение в поле «Номер Автомобиль» индивидуально для каждой строки таблицы?


Процедура СоставПриПолученииДанных(Элемент, ОформленияСтрок)
	Для каждого ОформлениеСтроки из ОформленияСтрок цикл
		ВычисленноеЗначение = 
		ОформлениеСтроки.Ячейки.Автомобиль.Значение.ГосНомер;
		Оформлениестроки.Ячейки.НомерАвтомобиля.
		УстановитьТекст(ВычисленноеЗначение);
	КонецЦикла
КонецПроцедуры

Как правильно удаляются строки из текста при помощи встроенного языка системы «1С:8»?


Процедура УдалитьСтрокиТекста()
	ТекстДок = Новый ТекстовыйДокумент;
	ТекстДок.Прочитать("Текст.txt");
	Сч = 1;
	Пока Сч < ТекстДок.КоличествоСтрок() Цикл
		Строка = ТекстДок.ПолучитьСтроку(Сч);
		Если Найти(Строка, "1С") > 0 Тогда
			ТекстДок.УдалитьСтроку(Сч);
		Иначе  // Благодаря этой переменной мы 
			// не пропускаем строки в тексте
			Сч = Сч + 1;
		КонецЕсли;
	КонецЦикла;
	ТекстДок.Записать("Текст.txt");
КонецПроцедуры

Как в «1С:8» получить определенную подстроку по ее позиции из строки с разделителями?

//******************************************************************************
// ПолучитьСтр(знач ГдеИщем, Ном = 1, Р = ",")
//
// Параметры: 
//  знач ГдеИщем - строка, Ном = 1 - число, Р = "," - строка
//
// Возвращаемое значение:
//  Строка
//
// Описание:
//  Возвращает подстроку под номером Ном из строки ГдеИщем с разделителями Р  
//  
Функция ПолучитьСтр(знач ГдеИщем, Ном = 1, Р = ";") 
	Ном1 = Число(Ном);
	Поз=Найти(ГдеИщем,Р);
	Если (Поз = 0) Тогда Возврат ГдеИщем;КонецЕсли;
	Стр1=Лев(ГдеИщем,Поз-1);
	Если Ном1 = 1 Тогда Возврат Стр1;КонецЕсли;
	СчетчикЦикла = 0;
	Для СчетчикЦикла = 2 По Ном1 Цикл
		ГдеИщем=Сред(ГдеИщем,Поз+1,СтрДлина(ГдеИщем)-Поз);
		Поз=Найти(ГдеИщем,Р);
		Если (Поз = 0) Тогда Возврат ГдеИщем;КонецЕсли;
		Стр=Лев(ГдеИщем,Поз-1);
		Если Ном1 = СчетчикЦикла Тогда Возврат Стр;КонецЕсли;
	КонецЦикла;
КонецФункции // ПолучитьСтр()

 

Рассмотрим пример применения:

 


НужнаяСтрока = "1С,PHP,Delphi,HTML,CSS";
Сообщить(ПолучитьСтр(НужнаяСтрока, 3, ","));

Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок