|
Создание группы в 8.3 | ☑ | ||
---|---|---|---|---|
0
alexsandrinia
25.05.15
✎
15:05
|
как создать новую группу? в СП прочитал, на сервере сделал. как теперь перенести значение на клиент?
|
|||
1
fisher
25.05.15
✎
15:07
|
Почувствовал себя гусаром.
|
|||
2
fisher
25.05.15
✎
15:08
|
В общем, формулируй задачу подробно и с самого начала.
|
|||
3
alexsandrinia
25.05.15
✎
15:10
|
нужно программно создать новую группу в справочнике. как реализовать?
|
|||
4
Cyberhawk
25.05.15
✎
15:11
|
Так же, как и в 8.2, и в 8.1, и в 8.0
|
|||
5
alexsandrinia
25.05.15
✎
15:12
|
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
НоваяГруппа.Наименование = НазваниеЯчейки; НоваяГруппа.Родитель = ИмяРодителя; такой код в УФ 8.3 не проходит, как переделать? |
|||
6
ДенисЧ
25.05.15
✎
15:12
|
Задачу сформулируй по другому.
|
|||
7
fisher
25.05.15
✎
15:12
|
(3) Раз на сервере получается, а надо с клиента - то и первоначальный вызов должен быть на клиенте. Делаешь серверную функцию формы, которая создает группу и возвращает на неё ссылку. С клиента её вызываешь - получаешь ссылку на новосозданную группу. Ну и делай с ней что хочещь.
|
|||
8
Basilio
25.05.15
✎
15:12
|
(0) на сервере создавай. ссылку передавай на клиент, если надо.
|
|||
9
aka AMIGO
25.05.15
✎
15:12
|
(5) у тебя есть книжки - описание ВЯ ?
смотри примеры. |
|||
10
hhhh
25.05.15
✎
15:13
|
(5) такое и в обычных формах не прокатит.
|
|||
11
alexsandrinia
25.05.15
✎
15:13
|
(7) вся загвоздка - как с клиента вызвать?
|
|||
12
zak555
25.05.15
✎
15:14
|
(5)
1. почему не подходит ? нет только записать и скорей всего не та группа 2. про 3300 не забудь =) |
|||
13
alexsandrinia
25.05.15
✎
15:14
|
(9) что за книги?
|
|||
14
Heckfy
25.05.15
✎
15:14
|
Что то мне подсказывает, что ТС будет достаточно что то, типа: ЭтаФорма.Список.Обновить() на клиенте после выполнения серверной части.
|
|||
15
zak555
25.05.15
✎
15:14
|
(11) с клиента вызываешь команду на сервере
|
|||
16
fisher
25.05.15
✎
15:14
|
(5) Прочитай вот эту статью: http://catalog.mista.ru/public/198766/
Всё понятно станет. |
|||
17
Heckfy
25.05.15
✎
15:15
|
(5) НоваяГруппа.Родитель = ИмяРодителя; - Ошибка. В родителя ссылку надо передавать.
|
|||
18
alexsandrinia
25.05.15
✎
15:15
|
(12) потому что
{Форма.Форма.Форма(51,19)}: Переменная не определена (Справочники) НоваяГруппа = <<?>>Справочники.Номенклатура.СоздатьГруппу(); (Проверка: Тонкий клиент) |
|||
19
fisher
25.05.15
✎
15:17
|
(18) Создание группы модуля оформляешь функцией формы с директивой &НаСервере. А вызываешь её из функции модуля с директивой &НаКлиенте.
|
|||
20
fisher
25.05.15
✎
15:17
|
Не, лучше &НаСервереБезКонтекста
|
|||
21
zak555
25.05.15
✎
15:18
|
&НаСервереБезКонтекста
Функция СоздатьГруппуНаСервере(пРодитель=Неопределено) НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу(); НоваяГруппа.Наименование = НазваниеЯчейки; НоваяГруппа.Родитель = пРодитель; НоваяГруппа.ЗАписать(); КонецФункции //... ИмяРодителя = СоздатьГруппуНаСервере(); |
|||
22
Heckfy
25.05.15
✎
15:19
|
(18)
&НаКлиенте Процедура СоздатьГруппуКлиент() СоздатьГруппуСервер(); Элементы.Список.Обновить(); КонецПроцедуры &НаСервере Процедура СоздатьГруппуСервер() НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу(); КонецПроцедуры На скорую руку набросал. Как то так..... |
|||
23
Segate
25.05.15
✎
15:20
|
Стаж: 3 года 11 месяцев 28 дней
Хммм... |
|||
24
zak555
25.05.15
✎
15:20
|
(23) и чего ?
|
|||
25
fisher
25.05.15
✎
15:21
|
(0) Ты это, если УФ только тыкать начинаешь, то статейку-то прочитай. Кучу времени сэкономишь.
|
|||
26
alexsandrinia
25.05.15
✎
15:22
|
(25) как раз читаю...спс
|
|||
27
Segate
25.05.15
✎
15:22
|
(24) я за 3 года научился пользоваться сп...
|
|||
28
zak555
25.05.15
✎
15:27
|
||||
29
alexsandrinia
26.05.15
✎
09:14
|
(21)
Переменная не определена (НазваниеЯчейки) Группа.Наименование = <<?>>НазваниеЯчейки; (Проверка: Сервер) как её определить, если она определяется на клиенте? |
|||
30
Heckfy
26.05.15
✎
09:22
|
Блин, давай уже весь код....
|
|||
31
alexsandrinia
26.05.15
✎
09:27
|
&НаСервереБезКонтекста
Функция СозданиеГруппы(пРодитель = Неопределено) Группа = Справочники.Номенклатура.СоздатьГруппу(); Группа.Наименование = Ячейка; Группа.Родитель = пРодитель; Группа.Записать(); КонецФункции &НаКлиенте Процедура Загрузить(Команда) Файл = Новый COMОбъект("Excel.Application"); Файл.WorkBooks.open(ЭтотОбъект.СсылкаНаФайл); Файл.sheets("Загрузка").Select(); count = 0; //сч = КоличествоСтрок=Файл.ActiveSheet.UsedRange.Rows.Count; КоличествоКолонок=Файл.ActiveSheet.UsedRange.Columns.Count; ПерваяСтрока = 2; ПоследняяСтрока = 3; ИмяРодителя = ПолучитьРодителя(); Для НомерСтроки = ПерваяСтрока По ПоследняяСтрока Цикл ОбработкаПрерыванияПользователя(); Для сч = 3 по 8 Цикл Ячейка = Файл.Cells(НомерСтроки,Сч).Value; Если НЕ ПустаяСтрока(Ячейка) Тогда Родитель = СозданиеГруппы(); Иначе Прервать; КонецЕсли; ИмяРодителя = Ячейка; КонецЦикла; ЭтотОбъект.ТекСостояние = "Обрабатывается строка " + НомерСтроки; count = count + 1; Элементы.ПолеТекСостояние.Видимость = Истина; КонецЦикла; ЭтотОбъект.Итого = "обработано " + count + " строк"; Элементы.ПолеИтого.Видимость = Истина; Файл.Application.Quit(); КонецПроцедуры |
|||
32
Heckfy
26.05.15
✎
09:35
|
Все смешалось: люди, кони....
************** Ячейка = Файл.Cells(НомерСтроки,Сч).Value; Если НЕ ПустаяСтрока(Ячейка) Тогда ИмяРодителя = Ячейка; Родитель = СозданиеГруппы(,ИмяРодителя); Иначе Прервать; КонецЕсли; КонецЦикла; ********************* Функция СозданиеГруппы(пРодитель = Неопределено,ИмяРодителя) Группа = Справочники.Номенклатура.СоздатьГруппу(); Группа.Наименование = ИмяРодителя; Группа.Родитель = пРодитель; Группа.Записать(); Возврат Группа.Ссылка; КонецФункции |
|||
33
fisher
26.05.15
✎
09:43
|
(29) Передать на сервер параметром функции, как одно из самых очевидных решений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |