Имя: Пароль:
1C
1С v8
Не определяется функция
0 TieXe
 
31.12.11
00:38
Подскажите в чем ошибка?
почему не определяет функцию


Процедура ВыполнитьЭкспорт(М)

    Т=СоздатьОбъект("Текст");

//Eror: Процедура или функция с именем (СоздатьОбъект) не определена

    //выборка

    М.ВыбратьСтроки();

    Пока М.ПолучитьСтроку()=1 Цикл

         Состояние("Экспорт: "+Цел(М.НомерСтроки/М.КоличествоСтрок()*100)+"%");

         тФирма=М.Фирма.ПолныйКод();

         тТовар=М.Товар.ПолныйКод();

         тСклад=М.Склад.ПолныйКод();

         тКоличество=М.Количество;

         тСумма=М.Сумма;

         Т.ДобавитьСтроку("Фирма="+ тФирма +";Товар="+ тТовар +";Склад="+ тСклад +";Количество="+ тКоличество +";Сумма="+ тСумма +";");    

    КонецЦикла;

    //файл

    Файл="export"+Формат(ДатаК,"Д ГГГГММДД")+".csv";

    Т.Записать(Файл);

    Сообщить("Файл с данными сохранен в каталоге экспортной БД: "+КаталогИБ()+Файл);

КонецПроцедуры
1 Попытка1С
 
31.12.11
00:44
В 8 нет СоздатьОбъект, там Новый
2 Рэйв
 
31.12.11
00:45
>>//Eror: Процедура или функция с именем (СоздатьОбъект) не определена

ощущение , что ты в восьмерке пишешь семерочный код
3 TieXe
 
31.12.11
00:52
Изменил на "НовыйОбъект"

все равно выдает ту же ошибку...((
4 Рэйв
 
31.12.11
00:54
(3)ха. 3 раза
5 глазковыколупыватель
 
31.12.11
00:54
"Новый"
6 Рэйв
 
31.12.11
01:01
(3)Ты или совсем инопланетянин или одно из двух:-)не позорься уж иди подучи основы.
7 TieXe
 
31.12.11
01:03
Да какие основы, сегодня   сказали интегрировать 1с с Activ Directory
я 1С до сего момента в глаза не видел)
8 TieXe
 
31.12.11
01:04
Д.НайтиДокумент(Док);

//Почему Переменная (Док) не определена ?
9 Рэйв
 
31.12.11
01:04
(7)хочешь хороший некролог сочиню?
:-))
10 TieXe
 
31.12.11
01:07
Ваши умельцы то мне код интеграции 1с с Activ Directory написали, но он не работает...
Сказали  подучи 1с и узнаешь почему не работает...Садисты...(((
11 Рэйв
 
31.12.11
01:09
(10)Мозгами своими не пробовал думать?
12 TieXe
 
31.12.11
01:14
как я за 1 день освою 1с?
13 TieXe
 
31.12.11
01:14
на зная програмирования
14 Попытка1С
 
31.12.11
01:15
Развод какой-то.
15 Попытка1С
 
31.12.11
01:16
"Да какие основы, сегодня   сказали интегрировать 1с с Activ Directory "

Что-то я в (0) не вижу и намека на интеграцию с "Activ Directory"
16 TieXe
 
31.12.11
01:18
Процедура ПриНачалеРаботыСистемы()
   
   РазрешенВходВСистемуПоAD();
   
КонецПроцедуры



//////////////////////////////////////////////////////////////////////////////////////////

// Вспомогательные методы модуля приложения

//////////////////////////////////////////////////////////////////////////////////////////


//----- Прочие методы по AD, работа с параметрами запуска/перезапуска приложения -------//


//

// РазрешенВходВСистемуПоAD принимает следующие значения: Ложь, Истина или Соответствие

// В случае "Соответствие" - оно содержит параметры доменного пользователя, который успешно прошел

// аутентификацию, но произвел запуск приложения НЕ со своего сеанса Windows. Поэтому производим

// принудительный перезапуск, чтобы такой пользователь автоматически, уже без запросов пароля, вошел в

// приложение со своим логином(ИмяПольвателяИБ) и со своими правами.

//

// Этот же метод используется не только при запуске приложения, но при его блокировке в уже открытом

// рабочем сеансе. Это блокировка являтся заменой стандартной блокировке 1С. Отметим, что блокировка

// 1С запрашивает пароль пользователя 1С, тогда как этот метод, запрашивает, естественно, доменный

// логин/пароль.

//

Процедура РазрешенВходВСистемуПоAD(Блокировка = Ложь) Экспорт

   РазрешенВходВСистемуПоAD = AD_Client.РазрешенВходВСистему(Блокировка);
   
   Если РазрешенВходВСистемуПоAD = Истина Тогда
       УстановитьЗаголовокСистемы(Метаданные.Синоним + ". Пользователь: " + ПолноеИмяПользователя());
   ИначеЕсли РазрешенВходВСистемуПоAD = Ложь Тогда
       ЗавершитьРаботуСистемы(Блокировка);    // Если при запуске, то Блокировка=Ложь, если блокировка приложения, то Блокировка=Истина. Т.е. при расблокировке с неудачными N попытками авторизации закрываем с сохранением данных открытых окон.

       Возврат;
   ИначеЕсли  ТипЗнч(РазрешенВходВСистемуПоAD) = Тип("Соответствие") Тогда    
       ПерезапуститьПослеДоменнойАвторизации(Блокировка, РазрешенВходВСистемуПоAD, "ПерезапуститьПослеДоменнойАвторизации");
       Возврат;
   КонецЕсли;
   
КонецПроцедуры

//

// Выполняется в случаях, если...

// 1. Пользователь логинится в приложение впервые.

// 2. Пользователь логинится в приложение с одним логином, но при доменной авторизации выбрал другой логин.

// 2-й случай отражает факт, что запуск был под сеансом Win текущего пользователя, но при авторизации выбрали

// другой логин/домен. Поэтому и происходит доменная авторизации этого "чужого" пользователя с перезапуском и

// входом с его именем пользователя и правами.

//

Процедура ПерезапуститьПослеДоменнойАвторизации(Блокировка, AD_Параметры, ПоКлючуС = "")
   
   ПараметрПутиИБ = ПреобразоватьСтрокуСоединенияККоманднойСтроке(СтрокаСоединенияИнформационнойБазы());
   
   // Ключ /N и имя входящего по нему пользователя позволяют "отключить" окно стандартной авторизации 1С,

   // но только при выполнении следующих условий...

   // 1. У Пользователя ИБ установлен флаг "Аутенфинтификация 1С:Предприятия".

   // 2. Пароль 1С Пользователя ИБ не установлен.

   // 3. У Пользователя ИБ установлен флаг "Аутенфинтификация операционнной системы".

   // 4. ПользовательОС не заблокирован в домене.

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

   // средствами операционной системы. Поэтому после доменной блокровки пользователя будет "выскакивать"

   // окно авторизации 1С, т.к. в момент запуска он не проходит WA+ авторизацию. Но после открытия главного

   // окна все равно будет окрыта форма доменной авторизации, но такой пользователь не сможет войти в приложении пока

   // его не разблочит администратор домена. Т.е. если пользователь 3 или N раз неправильно ввел доменный пароль,

   // то это либо злоумышленник, либо "дурак" и все вопросы по расблокировке уходят к администратору домена.

   
   ПараметрыКС = "ENTERPRISE /WA+ " + ПараметрПутиИБ + " /N "+AD_Параметры.Получить("ИмяПользователяИБ");
   
   Если Не ПустаяСтрока(ПоКлючуС) Тогда
       ПараметрыКС = ПараметрыКС + " /C " + ПоКлючуС;  // Передача ключа /C позволяет не запрашивать повторно доменный пароль.

   КонецЕсли;
           
   ЗавершитьРаботуСистемы(Блокировка, Истина, ПараметрыКС);
   
КонецПроцедуры

Функция ПреобразоватьСтрокуСоединенияККоманднойСтроке(СтрокаСоединения)
   
   Файл = НСтр(СтрокаСоединения,"File");
   
   Если Файл <> "" Тогда
      ПараметрПутиИБ = "/F " + ?(Найти(Файл," ")<>0,""""+Файл+"""",Файл);  // Желательно чтобы полный путь к файловой базе не содержал пробелов. Например </F "D\Моя база">, может не работать. Необходимо изменить имя базы на "МояБаза". Но это спорно, может будет работать и с "кривым" именем файловой базы.

   Иначе    
      ПараметрПутиИБ = "/S " + НСтр(СтрокаСоединения,"Srvr")+"\"+НСтр(СтрокаСоединения,"Ref");
   КонецЕсли;

   Возврат ПараметрПутиИБ;
   
КонецФункции
17 TieXe
 
31.12.11
01:18
Так виднее?
18 МишельЛагранж
 
31.12.11
01:19
(16) а где тут интеграция в AD?
что за AD_client?
19 TieXe
 
31.12.11
01:21
не знаю... Ваши собраться писали...
20 TieXe
 
31.12.11
01:21
*собратья
21 МишельЛагранж
 
31.12.11
01:22
тут че - 1с в Винду интегрируют!? как интересно!
насколько глубоко уже? схемы объектов уже можно напрямую из 1с вызывать? а юниты обработать?
да, мне еще структуру контейнеров бы получить..
22 Aleksey
 
31.12.11
01:22
Сколько платишь?
23 МишельЛагранж
 
31.12.11
01:25
(19) я подозреваю, что AD_client - это что-то проверяет пользователей по ИБ 1с и выдает, кто вошел или вышел. Иногда пользователи могут заходить по авторизации винды - это тоже можно отследить, свойство есть, т.к. они в 1с входят.
Но "интеграция в AD" - это вы сильно сказанули ))
вы AD от 1с отличаете или еще нет? ))
24 TieXe
 
31.12.11
01:26
отличаем)
Но сказали интегрировать, значит придется интегрировать)
25 МишельЛагранж
 
31.12.11
01:36
(8) потому что платформа не видит переменную Док.
в 1с как-бы очень хитро выстроенная система видимости переменных.
Вкратце - определите переменную Док в области переменных. Либо впишите хоть что-нибудь в неё выше строчки по процедуре, где ошибка.
26 Попытка1С
 
31.12.11
01:40
(24) Позовите специалиста, быстрее будет.
27 kotletka
 
31.12.11
01:46
(0)если по сабжу, то код для платформы 7.7, у Вас какая? если 8 то СоздатьОбъект.. здесь = Новый, а если честно то написать таким макаром "тонезнаючто" неполучится
28 kotletka
 
31.12.11
01:47
Забавно если 8 и типовая аутентификацию ос делать вручную
29 DJ Anthon
 
31.12.11
09:25
где-то через года 2 у тебя что-нибудь получится