Имя: Пароль:
1C
1С v8
Изучаю 8.2
, ,
0 ЗЫ5
 
09.12.11
23:25
В модуле формы
Форма.ОсновнаяФорма.Форма(474,1)}: Процедура или функция с указанным именем не определена (Проверка1)

&НаКлиенте
Процедура Проверка1()
КонецПроцедуры

&НаСервере
Процедура ПриОткрытии(Отказ)
Проверка1();
КонецПроцедуры
1 8vC1
 
09.12.11
23:27
Нельзя вызывать клиентскую процедуру из серверной. Читай ЖКХ литературу.
2 ЗЫ5
 
09.12.11
23:27
&НаСервере
Процедура ПриОткрытии(Отказ)
   Сообщить("");

   Мета = Метаданные.Документы;
Доки = Новый СписокЗначений;
Для Каждого Док Из Мета Цикл
Доки.Добавить(Док);
КонецЦикла;

Запрос = Новый Запрос;
ТекстЗапроса = "";

Для Каждого Док Из Доки Цикл
   Сообщить("222");

   Если ТекстЗапроса = "" Тогда
ТекстЗапроса = ТекстЗапроса +
"ВЫБРАТЬ
| ДокументыУпр.Ссылка КАК Документ
|ИЗ
| Документ."+ СокрЛП(Док.Значение.Имя) +" КАК ДокументыУпр";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| Объединить все
| ВЫБРАТЬ
| ДокументыУпр.Ссылка КАК Документ
|ИЗ
| Документ."+ СокрЛП(Док.Значение.Имя) +" КАК ДокументыУпр";
КонецЕсли;
КонецЦикла;
Запрос.Текст = ТекстЗапроса;
ТаблДоков = Запрос.Выполнить().Выгрузить();
Проверка(ТаблДоков);
Для Каждого СтрокаДок Из ТаблДоков Цикл
   Сообщить("111");
   ДокОбъект = СтрокаДок.Документ.ПолучитьОбъект();
ДокОбъект.Удалить();
КонецЦикла;

   Сообщить("");
   //Вставить содержимое обработчика
КонецПроцедуры
3 ЗЫ5
 
09.12.11
23:27
почему не удаляются доки
4 ЗЫ5
 
09.12.11
23:28
вернее так
&НаСервере
Процедура ПриОткрытии(Отказ)
Мета = Метаданные.Документы;
Доки = Новый СписокЗначений;
Для Каждого Док Из Мета Цикл
Доки.Добавить(Док);
КонецЦикла;
Запрос = Новый Запрос;
ТекстЗапроса = "";
Для Каждого Док Из Доки Цикл
   Если ТекстЗапроса = "" Тогда
ТекстЗапроса = ТекстЗапроса +
"ВЫБРАТЬ
| ДокументыУпр.Ссылка КАК Документ
|ИЗ
| Документ."+ СокрЛП(Док.Значение.Имя) +" КАК ДокументыУпр";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| Объединить все
| ВЫБРАТЬ
| ДокументыУпр.Ссылка КАК Документ
|ИЗ
| Документ."+ СокрЛП(Док.Значение.Имя) +" КАК ДокументыУпр";
КонецЕсли;
КонецЦикла;
Запрос.Текст = ТекстЗапроса;
ТаблДоков = Запрос.Выполнить().Выгрузить();
Проверка(ТаблДоков);
Для Каждого СтрокаДок Из ТаблДоков Цикл
   Сообщить("111");
   ДокОбъект = СтрокаДок.Документ.ПолучитьОбъект();
ДокОбъект.Удалить();
КонецЦикла;
КонецПроцедуры
5 aleks-id
 
09.12.11
23:29
чо сделать то хочешь?
6 ЗЫ5
 
09.12.11
23:29
удалить блин доки в УТ 11))
7 ЗЫ5
 
09.12.11
23:30
засунул в обработку при открытии))
8 aleks-id
 
09.12.11
23:30
вот ты неугомонный... что ж ты через опу то делаешь.
9 ЗЫ5
 
09.12.11
23:30
)))
10 ЗЫ5
 
09.12.11
23:31
ну как по другому не пойму))
11 aleks-id
 
09.12.11
23:31
кроме этого я писал несколько раз - пробитый чек ккм ты так не удалишь!!!
12 ЗЫ5
 
09.12.11
23:31
ну так почему не выполняется?
13 ЗЫ5
 
09.12.11
23:31
хорошо так не удалю но почему вообще ничего не удаляется..
14 Neco
 
09.12.11
23:34
в серверных процедурах нельзя использовать интерактивные методы, вроде
Сообщить("111");
15 aleks-id
 
09.12.11
23:34
1. сделай на новой форме например кнопку.
2. повесь на кнопку команду КнопкаНажатие
3. в процедуре КнопкаНажатие вызови процедуру КнопкаНажатиеНаСервере()
4. сделай процедуру КнопкаНажатиеНаСервере()
5. воткни туда свой код.
6. проверь.
если не работает - купи СП у ДенисЧ ;)
16 aleks-id
 
09.12.11
23:35
(14) там похоже не в том дело...
17 EvgeniuXP
 
10.12.11
12:06
(14) можно.
18 EvgeniuXP
 
10.12.11
12:07
+(17) Сообщить как раз и можно использовать в серверных процедурах.
2 + 2 = 3.9999999999999999999999999999999...