Архив рубрики: 1с:8.1

1с 8.1: Как программно открыть множественный подбор документов (справочников)?

Делаем обработку на примере подбора документа Перемещение товаров.

Создаем обработку. На панели размещаем кнопку Подбор




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

 
 
Процедура обработки подбора
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
МассивВыбранныхЭлементов = ЗначениеВыбора;
Для каждого СтрокаМассива Из МассивВыбранныхЭлементов Цикл
Результат = ТабличнаяЧасть1.Найти(СтрокаМассива,"ПеремещениеТоваров");
Если Результат = Неопределено Тогда
НоваяСтрока = ТабличнаяЧасть1.Добавить();
НоваяСтрока.ПеремещениеТоваров = СтрокаМассива;

КонецЕсли;

КонецЦикла; 

 
ФормаВыбора.Открыть();
КонецПроцедуры
 

 
признак множественного подбора предполагает подбор нескольких позиций в журнале,используя зажаты SHIFT или CTRL.

 
.Команда ФормаВыбора.Открыть();  
использованная в конце последней процедуры, позволяет повторно открыть форму подбора. Конечно, при таком способе журнал будет постоянно закрываться и открываться (будет заметно мигание), но это позволяет несложным способом настроить подбор.

1C 8.x: Пользователи ИБ. Проверить установлен ли пароль у пользователя

Иногда нужно определить у всех ли пользователей установлен пароль, и какие права у пользователя имеются. Получить Имя пользователя (Полное имя пользователея), роли, и проверить установлен ли пароль можно с помощью кода:

Выборка = ПользователиИнформационнойБазы.ПолучитьПользователей(); 
Для Каждого ЭлементМассива Из Выборка Цикл
ИмяПользователя = ЭлементМассива.Имя;
ПолноеИмяПользователя = ЭлементМассива.ПолноеИмя;
ЕстьПароль = ЭлементМассива.ПарольУстановлен;
Роли = ЭлементМассива.Роли;

Для Каждого Роль Из Роли Цикл
ИмяРоли = Роль.Имя;
КонецЦикла;
КонецЦикла;

1c 8.1 Как найти файлы во вложеных каталогах

Как найти все файлы во вложеных папках? Есть простой способ:



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

источник

1c 8.1: Как выгрузить конфигурацию в файл

Иногда спрашивают как в 1с 8.1 можно выгрузить отдельно конфигурацию в файл, не выгружая базу.
Вариант выгрузки такой:


1. Выбираем в меню конфигуратора  - Сохранить конфигурацию в файл


1с 8. Как сохранить конфигурацию в файл

Придумать имя файла. Например, текущая дата, название базы.


1с 8 Диалог. Сохранить как . Сохранение конфигурации в файл

После процедуры сохранения появится надпись:

1с 8.х Сохранение конфигурации в файл завершено

1с 8: Пример. Как использовать ПолеТабличногоДокумента

в 1С 8 есть возможность разместить на форме печатную форму макета с помощью элемента формы: Поле табличного документа.

Нужно создать Макет, а также вывести на форму элемент "Поле табличного документа"

Скачать пример использования поля табличного документа

1с:8. Как получить вид документа и сравнить его

В версии 7.7 вид документа можно получить просто :   Документ.Вид()



В восьмой версии  немного сложнее. Получить вид документа и сравнить его можно так:

Если ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
....
КонецЕсли

можно конечно так:

Если  Документ.Ссылка.Метаданные().Имя = "РеализацияТоваровУслуг" Тогда


....

КонецЕсли


но первый вариант красивее.

1с 8.1. Превышение максимального количества субконто

При обновлении конфигурации 1с 8.1 возникла ошибка: Превышение максимального количества субконто по счету 07.2 
Эта ошибка не позволяет принять обновления базы данных.
Проблема поставила меня в тупик, но  оказалось, что решается просто.



Какой-то пользователь добавил в плане счетов в счет 07.2  третье субконто: "Договоры". 

А при обновлении типовой конфигурации, добавляется точно такое же субконто в конфигурацию и появляется конфликт. Из-за того, что стоит ограничение количества субконто в плане счетов система пытается создать четвертое субконто.

Я зашёл в базе в план счетов и удалил субконто "Договоры" со счета 07.2. Конфигурация обновилась без проблем 

1с 8.1 Как в подвал табличного поля добавить итог по колонке

Как организовать вывод итогов в подвал табличного поля

ЭлементыФормы.ТабличноеПоле.Колонки["ИмяНужнойКолонки"]  

.ОтображатьИтогиВПодвале = Истина;

Но перед этим нужно включить флаг "подвал" в свойствах табличного поля или сделать это программно.