Имя: Пароль:
1C
 
Заполнение справочника при запуске системы
0 segun
 
21.06.07
18:54
Подскажите пожалуста как организовать заполнение реквизитов справочника, у предопределенных элементов при первом запуске системы. Никак понять не могу как у 1С это работает.
1 Terv
 
21.06.07
19:06
НомерВерсииКонфигурации + приНачалеРаботыСистемы + обработка
2 asady
 
21.06.07
19:29
(0)
Функция ЗаполнитьПустуюИБ(ДокументОписаниеОбновлений, МакетОписаниеОбновлений) Экспорт

   // Обязательное начальное заполнение информационной базы.

   // Создадим одну организацию - по умолчанию она будет основной
   Организация = Справочники.Организации.НайтиПоНаименованию("Наша организация");

   Если Организация = Справочники.Организации.ПустаяСсылка() Тогда

       Организация = Справочники.Организации.СоздатьЭлемент();
       Организация.Наименование        = "Наша организация";
       Организация.ВидСтавокЕСНиПФР    = Перечисления.ВидыСтавокЕСНиПФР.ДляНеСельскохозяйственныхПроизводителей;
       Организация.Записать();

   КонецЕсли;

   // пропишем эту оргнаизацию текущему пользователю
   Набор = РегистрыСведений.НастройкиПользователей.СоздатьНаборЗаписей();

   Набор.Отбор.Пользователь.Использование = Истина;
   Набор.Отбор.Пользователь.Значение      = глТекущийПользователь;

   Запись = Набор.Добавить();

   Запись.Пользователь = глТекущийПользователь;
   Запись.Настройка    = ПланыВидовХарактеристик.НастройкиПользователей.ОсновнаяОрганизация;
   Запись.Значение     = Организация.Ссылка;
   
   // Заполнение справочника Валюты.
   ВалютаРегламентированногоУчета = НайтиСоздатьВалюту("810", "руб.", "Российский рубль", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
   ВалютаУправленческогоУчета     = НайтиСоздатьВалюту("840", "USD", "Доллар США",       "доллар, доллара, долларов, м, цент, цента, центов, м, 2");
   ВалютаМеждународногоУчета      = НайтиСоздатьВалюту("978", "EUR", "Евро"      ,       "евро, евро, евро, м, цент, цента, центов, м, 2");

   Константы.ВалютаРегламентированногоУчета.Установить(ВалютаРегламентированногоУчета);
   Константы.РежимЗавершенияРаботыПользователей.Установить(Перечисления.РежимыЗавершенияРаботыПользователей.РазрешитьРаботу);
   
   // Создадим типы цен
   ТипЦенПродажи = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Основная цена продажи");

   Если ТипЦенПродажи = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка() Тогда

       ТипЦенПродажи = Справочники.ТипыЦенНоменклатуры.СоздатьЭлемент();
       ТипЦенПродажи.Наименование        = "Основная цена продажи";
       ТипЦенПродажи.ВалютаЦены        = ВалютаРегламентированногоУчета;
       ТипЦенПродажи.ПорядокОкругления = Перечисления.ПорядкиОкругления.Окр0_01;
       ТипЦенПродажи.Записать();

   КонецЕсли;
   
   ТипЦенЗакупки = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Основная цена закупки");

   Если ТипЦенЗакупки = Справочники.ТипыЦенНоменклатуры.ПустаяСсылка() Тогда

       ТипЦенЗакупки = Справочники.ТипыЦенНоменклатуры.СоздатьЭлемент();
       ТипЦенЗакупки.Наименование        = "Основная цена закупки";
       ТипЦенЗакупки.ВалютаЦены        = ВалютаРегламентированногоУчета;
       ТипЦенЗакупки.ПорядокОкругления = Перечисления.ПорядкиОкругления.Окр0_01;
       ТипЦенЗакупки.Записать();

   КонецЕсли;
   



и т.д.
3 segun
 
21.06.07
21:09
Спасибо
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший