Имя: Пароль:
1C
1С v8
Программное заполнение справочника
,
0 dizpers
 
21.04.12
10:45
Есть документ ЗаявкаНаПодключение и справочник Абоненты. Список реквизитов у этих элементов конфигурации одиноаквый: фамилия, имя, отчество, улица, дом, квартира, ДатаЗаключенияДоговора, тариф.

Как можно сделать так, чтобы при проведении документа абонент добавлялся в справочник? Соответствующий код надо писать в процедуру ОбработкаПроведения?

Заранее благодарен за ответ!
1 el-gamberro
 
21.04.12
10:48
а при распроведении элемент должен удаляться?
2 dizpers
 
21.04.12
10:54
Да, при отмене заявки (распроведении документа) надо удалить запись.
3 zak555
 
21.04.12
10:56
дебильная реализация
4 dizpers
 
21.04.12
10:57
(3) а как бы вы реализовали подачу заявки клиента на подключение?
5 ale-sarin
 
21.04.12
11:01
Если пока просто заявка, я бы не регистрировал бы адрес в справочнике, как вариант оставил бы в документе.
Потом, когда подключение совершено, и клиент точно стал абонентом уже писать адрес куда-нибудь.
6 dizpers
 
21.04.12
11:01
Возможно стоит иметь РС с заявками, и при подтверждении подключения (изменения статуса заявки на ПОДКЛЮЧЕНО в этом РС) создавать соответствующую запись в справочнике Абоненты. Что скажите?
7 ale-sarin
 
21.04.12
11:02
(6) Мысль похожая. Можно и так.
8 Лефмихалыч
 
21.04.12
11:02
(0)не делай так. Реквизиты абоентов должны быть только в справочике. Справочник редактируется только вручную.
если делать так, как ты хочешь, то первый же абонент, у которого болбше одного договора, весь твой учет нахрен угондошит
9 zak555
 
21.04.12
11:04
стоп

приходит чел - и хочет подать заявку на подключение ?
по он в ходе может отказаться

какие данные у него смотрят ?
10 dizpers
 
21.04.12
11:08
(9) у него просят ФИО, место жительства и тариф (на которой он хочет подключиться). в дату вставляется текущая дата.
11 dizpers
 
21.04.12
11:10
Ну вот да, если он до момента подключения отменит заявку, его можно будет удалить из РС Заявки ( про который писал в (6) )
12 zak555
 
21.04.12
11:10
(10) паспортные данные никтло не смотрит ?
13 dizpers
 
21.04.12
11:15
(12) физически смотрят, но информация никуда не заносится.
14 zak555
 
21.04.12
11:18
(13) как же договор заключаете ?
15 dizpers
 
21.04.12
11:23
Про договор пока не думал:) Думаю ты прав, стоит включить эту инфу в справочник. А что думаешь по теме вопроса (0) и (6)?
16 zak555
 
21.04.12
11:28
(15) тогда делается всё просто - как в типовых
17 dizpers
 
21.04.12
11:32
Я еще не совсем вникаю в местный сленг)) "как в типовых" - типовые конфигурации от 1С? где посмотреть?
18 dizpers
 
21.04.12
12:38
(8) то есть нет необходимости в дополнительных элементах конфигурации кроме самого справочника абонентов? но тут вот какое дело еще - надо после добавления новой записи абонента еще открыть счет абоненту и установить статус подключений "Новый" (типа подал заявку, но подключения еще не было).
19 dizpers
 
21.04.12
12:47
(5) как потом выцепить данные из документа? там ведь может накопиться довольно много заявок?

и остался еще открытым вопрос - как программно писать в справочник?
20 Web00001
 
21.04.12
13:43
(19) Очень просто: надо посмотреть на СправочникМенеджер в синтаксис помощнике.
21 Web00001
 
21.04.12
13:46
(20)Сорри СправочникМенеджер.<ИмяСправочника>
22 dizpers
 
21.04.12
13:49
Получился вот такой вот код:



Процедура ОбработкаПроведения(Отказ, Режим)
   //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   // регистр Счет Приход
   Движение = Движения.Счет.Добавить();
   Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
   Движение.Период = Дата;
   Движение.СостояниеПодключения = Справочники.СостоянияПодключения.НайтиПоНаименованию("Новое");
   
   НовыйАбонент = Справочники.Абоненты.СоздатьЭлемент();
           НовыйАбонент.Фамилия = Фамилия;
           НовыйАбонент.Имя = Имя;
           НовыйАбонент.Отчество = Отчество;
           НовыйАбонент.Улица = Улица;
           НовыйАбонент.Дом = Дом;
           НовыйАбонент.Квартира = Квартира;
           НовыйАбонент.Тариф = Тариф;
           НовыйАбонент.ДатаЗаключенияДоговора = ДатаЗаключенияДоговора;        
   НовыйАбонент.Записать();

   //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры


Мне необходимо теперь как то получить автоматически сгенерированный код созданный записи. И запихнуть его в связанный с данным докумнетом регистр накопления. Как это сделать? Точнее сказать, как сделать второй шаг я понимаю, а вот как получить код созданной записи - не ясно.
23 dizpers
 
21.04.12
14:45
Разобрался
Процедура ОбработкаПроведения(Отказ, Режим)
   //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   // регистр Счет Приход
   Движение = Движения.Счет.Добавить();
   Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
   Движение.Период = Дата;
   Движение.СостояниеПодключения = Справочники.СостоянияПодключения.НайтиПоНаименованию("Новое");
   
   НовыйАбонент = Справочники.Абоненты.СоздатьЭлемент();
       НовыйАбонент.Фамилия = Фамилия;
       НовыйАбонент.Имя = Имя;
       НовыйАбонент.Отчество = Отчество;
       НовыйАбонент.Улица = Улица;
       НовыйАбонент.Дом = Дом;
       НовыйАбонент.Квартира = Квартира;
       НовыйАбонент.Тариф = Тариф;
       НовыйАбонент.ДатаЗаключенияДоговора = ДатаЗаключенияДоговора;        
       С = НовыйАбонент.ЭтотОбъект;
   НовыйАбонент.Записать();
   
   Движение.НомерДоговора = С.Код;
   Движение.ОстатокДенегНаСчете = 0;
   
   

   //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
24 mistеr
 
21.04.12
15:27
(22) Неправильно программно писать в справочник. Начнут появляться дубли (с опечатками или без). В справочник заносит оператор, он же отвечает за задвоение. Тв можешь только помочь, подобрать похожие ФИО или паспорт и предложить выбрать вместо забивания нового.
25 Web00001
 
21.04.12
15:30
(23) О ужас! шо эта? Не делай так. Напиши в личку, я помогу тебе основы уложить в голове
26 dizpers
 
21.04.12
15:48
(25) отписал на почту
Закон Брукера: Даже маленькая практика стоит большой теории.