Модераторы: stron

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись в справочник документом, 1C 
V
    Опции темы
Scatman
Дата 19.6.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 14.3.2006

Репутация: нет
Всего: нет



у меня есть функция для создания нового документа 
Код

Процедура Создать(Элемент)
    спр = Документы.РасходныйКассовыйОрдер.СоздатьДокумент();
    спр.Дата = ТекущаяДата();
    спр.Номер = "МК-00001";
    спр.Организация = "Мебельный комбинат";
                спр[ИмяРеквизита] = сз.ВыбратьЭлемент(счШапка)
    спр.Записать();
КонецПроцедуры

создается документ в нем содержится номер и дата.
мне надо что то типа вот такого но данный код не работает

Это сообщение отредактировал(а) Scatman - 19.6.2007, 09:43
PM MAIL   Вверх
SaschaL
Дата 19.6.2007, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



А документ каким одразом выбираешь из которого данные должны перебрасываться во вновь создаваемый?
Существует реквизит подбора, если он существет, то в качестве источника нужно указать именно документ, для позиционирования на нем. При этом можно будет выбирать по дпнной позиции реквизиты.
Может у тетя есть обработка, или выгрузи документ обработкой и вышли очень интересно посмотреть что пытаешься навоять, да и визуально как то проще уловить мысль...
PM MAIL ICQ   Вверх
Scatman
Дата 20.6.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 14.3.2006

Репутация: нет
Всего: нет



Как зная документ, получить тип его реквизитов и, если тип объектный - получить соответствующий объект
если написать 
Тип = док.Организация.Тип
Надо что то подобное
спр = Справочник[Тип]
PM MAIL   Вверх
SaschaL
Дата 20.6.2007, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



Документ можешь сохнанить как внешний отчет или обработку и прислать, я бы взланул?
Да может еще кому интерсно станет посмотреть на нестандартный подход к программированию!
PM MAIL ICQ   Вверх
Scatman
Дата 23.6.2007, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 14.3.2006

Репутация: нет
Всего: нет



Найдите ошибку пожалуйста
Код

Процедура ЗагрузитьФайл(Кнопка)
    Т = Новый ТекстовыйДокумент;
    Т.Прочитать(АдресФайла);
    
    СтрокаФ = Т.ПолучитьСтроку(1);
    ДлинаСтроки = СтрДлина(СтрокаФ);
    РезультатСтрока = СтрЗаменить(СтрокаФ,", ",Символы.ПС);
    
    //создаем список значений
    Для х = 1 по СтрЧислоСтрок(РезультатСтрока) Цикл
        сз.Добавить(СтрПолучитьСтроку(РезультатСтрока,х));    
    КонецЦикла;
    
    //создаем документ который будем заполнять
    спр = Документы.РасходныйКассовыйОрдер.СоздатьДокумент();
    
    //Получение количество реквизитов
    КолШапка =спр.Метаданные().Реквизиты.Количество();
    // Заполнение документами
    спр.Дата = ТекущаяДата();
    спр.Номер = "МК-00011";
    //------------------------------разбиение реквизитов на группы------------------------------------------//
    Для х = 0 по КолШапка-1 Цикл
        СтрТип = Строка(Спр.Метаданные().Реквизиты[х].Тип); //Получаем тип текущего реквизита
        ИмяРеквизита = спр.Метаданные().Реквизиты[х].Имя;   //Получаем имя реквезита
        
        Если Найти(стрТип,"ссылка")= 0 Тогда                //Проверяем простой или ссылочный тип 
             стрЗначение = СтрПолучитьСтроку(РезультатСтрока,(х+1)); // если простой тогда получаем значения для этого реквизита и заполняем его
             спр[ИмяРеквизита] = стрЗначение;    
        Иначе Если (Найти(стрТип,"Справочник")<>0) и (Найти(стрТип,"Документ")<>0) Тогда //Иначе проверяем на всевозможные объекты
            
              Иначе Если СтрЧислоВхождений(стрТип,",") = 0 ТОгда  //Проверяем на составной тип 
                         ТипЗначения = ТипЗнч(спр[ИмяРеквизита]);
                         докстр = Метаданные.НайтиПоТипу(ТипЗначения).ПолноеИмя();
                         докстр = СтрЗаменить(докстр,".", Символы.ПС);
                         
                         Если Найти(стрТип,"Документ") <>0 Тогда 
                              НовыйДокумент = Документы.ЗарплатаКВыплатеОрганизаций.НайтиПоНомеру(СтрПолучитьСтроку(РезультатСтрока,(х+1)));
                              спр[ИмяРеквизита] = НовыйДокумент;
                                    
                         Иначе Если Найти(стрТип,"План счетов")<>0 Тогда 
                                    НовыйПланСчетов = ПланыСчетов[СтрПолучитьСтроку(докстр,2)];
                                    стрЗначение = СтрПолучитьСтроку(РезультатСтрока,(х+1));
                                    спр[ИмяРеквизита] = НовыйПланСчетов.НайтиПоНаименованию(стрЗначение);
                                    
                               Иначе Если Найти(стрТип,"Перечисление")<>0 Тогда 
                                          НовоеПеречисление = Перечисления[СтрПолучитьСтроку(докстр,2)];
                                          кх = НовоеПеречисление.Количество();
                                          Для с=0 по кх-1 Цикл
                                              НовоеПеречислениеИмя = НовоеПеречисление.Получить(с);
                                              Если Строка(НовоеПеречислениеИмя) = СтрПолучитьСтроку(РезультатСтрока,(х+1)) ТОгда
                                                   спр[ИмяРеквизита] = НовоеПеречисление.Получить(с);
                                                   Сообщить(спр[ИмяРеквизита] + "   :" + НовоеПеречисление.Получить(с));
                                              КонецЕсли;
                                           КонецЦикла;
                                           
                                      Иначе Если Найти(стрТип,"Справочник")<>0 Тогда 
                                                НовыйСправочник = Справочники[СтрПолучитьСтроку(докстр,2)];
                                                стрЗначение = СтрПолучитьСтроку(РезультатСтрока,(х+1));
                                                спр[ИмяРеквизита] = НовыйСправочник.НайтиПоНаименованию(стрЗначение);
                                            КонецЕсли;
                                      КонецЕсли;
                                КонецЕсли;
                          КонецЕсли;
                    КонецЕсли;
              КонецЕсли;
        КонецЕсли;
    КонецЦикла;
        спр.Записать();
    КонецПроцедуры


PS только просьба не издеваться над кодом smile 
процедура должна выгружать из файла значения реквизитов и  заполнять документ. но не которые реквизиты не заполняются(или заполняются не правильно)

PM MAIL   Вверх
SaschaL
Дата 26.6.2007, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 880
Регистрация: 13.12.2006
Где: Челябинская обл г .Нязепетровcк

Репутация: 8
Всего: 9



все это интересно, фал то какого формата? Экселевкий?
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.