Описание типа выбираемого пользователем значения Код 1C v 8.х //Выбор вида удержания пользователем
ВидУдерж=Неопределено;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ПланВидовРасчетаСсылка.УдержанияОрганизаций"));
ОписаниеВозможныхТипов = Новый ОписаниеТипов(МассивТипов);
Если ВвестиЗначение(ВидУдерж,"Выберите вид удержания", ОписаниеВозможныхТипов) Тогда
Сообщить(ВидУдерж); // СООБЩИТЬ выбранный Вид удержания
КонецЕсли;
Категория:
Работа с Типами данных Пример загрузки данных из Текстового файла, документа Файл для загрузки содержит данные вида(КодФизЛица, ФизЛицо, Сумма):
000000513~Петров Юрий Викторович~150
000000184~Иванов Александр Юрьевич~50
Код 1C v 8.х //Выбор файла
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Текст(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите файл для загрузки";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
КонецЕсли;
//Выбор вида удержания пользователем
ВидУдерж=Неопределено;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ПланВидовРасчетаСсылка.УдержанияОрганизаций"));
ОписаниеВозможныхТипов = Новый ОписаниеТипов(МассивТипов);
Если ВвестиЗначение(ВидУдерж,"Выберите вид удержания", ОписаниеВозможныхТипов) Тогда
Если Удержания.Количество()>0 тогда
Предупреждение("Внимание! В таблице уже есть данные, новые данные Добавлены к существующим данным!");
КонецЕсли;
текдок=Новый ТекстовыйДокумент;
текдок.Прочитать(ПутьКФайлу);
Для Ном=1 по текдок.КоличествоСтрок() цикл
Стр = текдок.ПолучитьСтроку(Ном);
//Разложим строку в массив данных
СтрМ=РазложитьСтрокуВМассивПодстрок(стр,"~");
//Добавляем новую строку
НовСтр=Удержания.Добавить();
//Ищем Физика
Физик = Справочники.ФизическиеЛица.НайтиПоКоду(СтрМ[0]);
Если СокрЛП(Физик.Наименование) = СокрЛП(СтрМ[1]) тогда
НовСтр.Физлицо = Физик;
Иначе
Сообщить("В справочнике Физ. Лиц не найден "+СтрМ[1],СтатусСообщения.ОченьВажное);
КонецЕсли;
НовСтр.ВидРасчета=ВидУдерж;
НовСтр.ДатаНачала=РабочаяДата;
НовСтр.ДатаОкончания=РабочаяДата;
НовСтр.Показатель1=СтрМ[2];
НовСтр.Результат=СтрМ[2];
КонецЦикла;
КонецЕсли;
Категория:
Текстовый документ Пример выбора Вида Удержания пользователем, через ВвестиЗначение() Код 1C v 8.х ВидУдерж=Неопределено;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ПланВидовРасчетаСсылка.УдержанияОрганизаций"));
ОписаниеВозможныхТипов = Новый ОписаниеТипов(МассивТипов);
Если ВвестиЗначение(ВидУдерж,"Выберите вид удержания", ОписаниеВозможныхТипов) Тогда
Сообщить(ВидУдерж);
//Код обработки
КонецЕсли;
Категория:
Планы видов расчета Форма ~ Как установить отбор в открываемой форме? Код 1C v 8.х ФормаВыбораВидаРасчета = ПланыВидовРасчета.УдержанияОрганизаций.ПолучитьФормуВыбора("ФормаВыбора", ЭлементыФормы.Удержания, "дляДокументаРегистрацияРазовыхУдержаний");
ФормаВыбораВидаРасчета.Отбор.Ссылка.ВидСравнения = ВидСравнения.НеВСписке;
ФормаВыбораВидаРасчета.Отбор.Ссылка.Значение = СпВидовРасчета;
ФормаВыбораВидаРасчета.Отбор.Ссылка.Использование = ИСТИНА;
ФормаВыбораВидаРасчета.Открыть();
Категория:
Работа с Формой (Диалог) и её элементами Загрузка Значений в Список значений Код 1C v 8.х
// Заполним список доступных видов удержаний
СпВидовРасчета = Новый СписокЗначений;
Запрос = Новый Запрос(
"ВЫБРАТЬ
| УдержанияОрганизаций.Ссылка
|ИЗ
| ПланВидовРасчета.УдержанияОрганизаций КАК УдержанияОрганизаций
|ГДЕ
| УдержанияОрганизаций.Предопределенный = ИСТИНА");
СпВидовРасчета.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
Категория:
Работа с Списком Значений Прочитать, просмотреть, выбрать записи регистра расчета Код 1C v 8.х
// Просуммируем записи удержаний неявок по физлицу
НаборЗаписей = РегистрыРасчета.УдержанияРаботниковОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = ВыбДокНачисл;
НаборЗаписей.Отбор.физлицо.Установить(Физлицо);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Если Запись.ВидРасчета=ПланыВидовРасчета.УдержанияОрганизаций.Неявка тогда
СумУдерж=СумУдерж+Запись.Результат;
КонецЕсли;
КонецЦикла;
Категория:
Регистры расчета Добавить новый элемент плана видов расчета Код 1C v 8.х
// добавим новые начисления в базу исполнительных листов
ПВРУд = ПланыВидовРасчета.УдержанияОрганизаций;
ПВРОсн = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций;
ОбъектВР = ПВРУд.ИЛПроцентомБезБЛ.ПолучитьОбъект();
НоваяСтрока = ОбъектВР.БазовыеВидыРасчета.Добавить();
НоваяСтрока.ВидРасчета = ПВРОсн.РайонныйКоэффициент;
НоваяСтрока = ОбъектВР.БазовыеВидыРасчета.Добавить();
НоваяСтрока.ВидРасчета = ПВРОсн.СевернаяНадбавка;
ОбъектВР.Записать();
ОбъектВР = ПВРУд.ИЛПроцентом.ПолучитьОбъект();
НоваяСтрока = ОбъектВР.БазовыеВидыРасчета.Добавить();
НоваяСтрока.ВидРасчета = ПВРОсн.РайонныйКоэффициент;
НоваяСтрока = ОбъектВР.БазовыеВидыРасчета.Добавить();
НоваяСтрока.ВидРасчета = ПВРОсн.СевернаяНадбавка;
ОбъектВР.Записать();
Категория:
Планы видов расчета Выборка (перебор) видов расчета Выбрать(<Отбор>, <Порядок>)
<Отбор> (необязательный) - Структура. Задает реквизит вида расчета и значение этого реквизита, по которому будет создана выборка. Ключ структуры задает имя реквизита, а значение структуры - значение отбора по этому реквизиту. В качестве реквизитов отбора могут задаваться только "Код", "Наименование" и реквизиты вида расчета, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или в значение "Индексировать с доп. упорядоч.".
Важно! Структура может содержать только один элемент. Если параметр не указан, то отбор не используется.
<Порядок> (необязательный) - Строка. Строка с именем реквизита вида расчета, определяющая упорядочивание создаваемой выборки.
Код 1C v 8.х
Выборка = ПланыВидовРасчета.УдержанияОрганизаций.Выбрать();
Пока Выборка.Следующий() Цикл
//код обработки выбора
КонецЦикла;
Категория:
Планы видов расчета