|
Прошу помощи в написании кода: СоздатьНовыйДокумент Ø (Волшебник 24.01.2024 20:03) | ☑ | ||
---|---|---|---|---|
0
admin1s
23.01.24
✎
22:35
|
&НаСервере
Процедура СоздатьДокументНаСервере() СсылкаНаДокумент = СоздатьНовыйДокумент(); КонецПроцедуры &НаКлиенте Функция СоздатьНовыйДокумент(Команда) НовыйДокумент = Объект.Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); НовыйДокумент.Номер = "111"; НовыйДокумент.Дата = ТекущаяДата(); НовыйДокумент.Записать(); Возврат НовыйДокумент.Ссылка; Сообщить("Создан!"); КонецФункции Ошибка: {ВнешняяОбработка.ИнтернетЦены.Форма.Форма.Форма(3,21)}: Процедура или функция с указанным именем не определена (СоздатьНовыйДокумент) СсылкаНаДокумент = <<?>>СоздатьНовыйДокумент(); (Проверка: Сервер) |
|||
1
Инстанс
23.01.24
✎
22:36
|
Это что такое?
|
|||
2
Инстанс
23.01.24
✎
22:37
|
С сервера вызываешь клиент? А что за Объект.Документы?
|
|||
3
Garykom
гуру
23.01.24
✎
22:37
|
1. Вызов клиента с сервера низзя
2. Создавать объекты на клиенте низзя 3. "Объект.Документы" низзя |
|||
4
Инстанс
23.01.24
✎
22:38
|
Мешанина какая-то.
|
|||
5
Инстанс
23.01.24
✎
22:39
|
Если тебе надо именно на сервере создать, то и создавай на сервере, используй обработку заполнения по возможности. На клиенте свои фишки. Если интерактивно надо. Ну ты понел.
|
|||
7
Инстанс
23.01.24
✎
22:48
|
Функция СоздатьНовыйДокумент(Команда)
Откуда формальный параметр Команда? Ты что там вообще делаешь? |
|||
8
admin1s
23.01.24
✎
22:52
|
Сорян, прошу помочь джуну ((
Как правильно? 1. Вызов клиента с сервера низзя - вот тут понял. 2. Создавать объекты на клиенте низзя - 3. "Объект.Документы" низзя за основу брал код отсюда.. В серверном обработчике мы и напишем код, который и будет создавать документ.. &НаСервере Процедура СоздатьДокументПриходаНаСервере() ДокПриход = Документы.ПриходТовара.СоздатьДокумент(); КонецПроцедуры &НаКлиенте Процедура СоздатьДокументПрихода(Команда) СоздатьДокументПриходаНаСервере(); КонецПроцедуры https://www.1s-up.ru/programmno-rabotaem-s-dokumentami-v-1s/ |
|||
9
Волшебник
23.01.24
✎
22:53
|
(8) по ссылке всё правильно, а Вы всё перепутали
|
|||
10
Инстанс
23.01.24
✎
22:55
|
Если прямо в лоб по-простому, то такой примитив
&НаКлиенте Процедура СоздатьДокументНаКлиенте(Команда) ДокСсылка = СоздатьДокументНаСервере(); КонецПроцедуры &НаСервереБезКонтекста Функция СоздатьДокументНаСервере() Обт = Документы.ЗаказКлиента.СоздатьДокумент(); Обт.Дата = ТекущаяДата(); Обт.Номер = "112"; Обт.Записать(РежимЗаписиДокумента.Запись); Возврат Обт.Ссылка; КонецФункции |
|||
11
admin1s
23.01.24
✎
22:56
|
(10) а как правильно вообще?
|
|||
12
Волшебник
23.01.24
✎
22:57
|
(11) Возьмите этот программный код и измените там имя документа на своё
|
|||
13
admin1s
23.01.24
✎
23:01
|
(12) Исправил. Документ не создан!
Код: &НаКлиенте Процедура СоздатьДокументНаКлиенте(Команда) ДокСсылка = СоздатьДокументНаСервере(); КонецПроцедуры &НаСервереБезКонтекста Функция СоздатьДокументНаСервере() Обт = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); Обт.Дата = ТекущаяДата(); Обт.Номер = "112"; Обт.Записать(РежимЗаписиДокумента.Запись); Возврат Обт.Ссылка; Сообщить("!!!!"); КонецФункции |
|||
14
Волшебник
23.01.24
✎
23:02
|
(13) Чё пишет система?
|
|||
15
admin1s
23.01.24
✎
23:02
|
(14) а ничего не пишет ((
|
|||
16
admin1s
23.01.24
✎
23:04
|
А если добавить Попытка-Исключение - это что-то даст? Только подскажите где добавить на сервере или на клиенте?
|
|||
17
Волшебник
23.01.24
✎
23:05
|
(16) Скроет ошибки
|
|||
18
admin1s
23.01.24
✎
23:06
|
И еще вопрос - почему пишем: "&НаСервереБезКонтекста" в данном случае?
|
|||
19
Волшебник
23.01.24
✎
23:06
|
(15) Добейтесь, чтобы писало.
|
|||
20
Инстанс
23.01.24
✎
23:06
|
(11) От контекста задачи зависит. Одно дело, когда ты на клиенте создаёшь через ОткрытьФорму, используя параметры и вызывая обработку заполнения. Другое дело — если тебе нужно именно произвольное создание на сервере (типовой ли документ? есть ли там обработка заполнения?). Неизвестно ещё, у тебя самописка голая или БСП? И зачем номер прямо указывать? УстановитьНовыйНомер() можно юзать.
|
|||
21
Инстанс
23.01.24
✎
23:07
|
А, у тебя типовая по ходу.
|
|||
22
Инстанс
23.01.24
✎
23:08
|
(18) Можешь писать НаСервере. Не суть важно. Это уже тонкости. Если контекст формы не важен, то можно без контекста.
|
|||
23
Инстанс
23.01.24
✎
23:09
|
(13) >>Исправил
Могу через эни зайти, если хош |
|||
24
admin1s
23.01.24
✎
23:09
|
(19) ошибок нет, как от 1С добиться?
(20) благодарю за полезные советы! УТ - типовая. Про номер понял, позже исправлю, как что-то заработает. Обт.Номер = УстановитьНовыйНомер(); // так? |
|||
25
Инстанс
23.01.24
✎
23:10
|
(16) Зачем тебе это сейчас? Ты отладку вообще ставишь? Остановку по ошибке? Можно попытку-исключение делать по-разному.
|
|||
26
Инстанс
23.01.24
✎
23:10
|
(24) >>ошибок нет, как от 1С добиться?
Типа документ не создан? Не знаю, есть ли под рукой УТ11. |
|||
27
admin1s
23.01.24
✎
23:11
|
(20) выдает ошибку при изменении
с Обт.Номер = "112"; на Обт.Номер = УстановитьНовыйНомер(); {ВнешняяОбработка.ИнтернетЦены.Форма.Форма.Форма(28,14)}: Процедура или функция с указанным именем не определена (УстановитьНовыйНомер) Обт.Номер = <<?>>УстановитьНовыйНомер(); (Проверка: Сервер) |
|||
28
admin1s
23.01.24
✎
23:14
|
(25) отладку ставлю, не останавливает программу ((
(26) документ не создан, ошибок нет. |
|||
29
Инстанс
23.01.24
✎
23:15
|
||||
30
Инстанс
23.01.24
✎
23:17
|
(27) Обт.УстановитьНовыйНомер();
Какой Номер = УстановитьНовыйНомер() фейспалм |
|||
31
Инстанс
23.01.24
✎
23:18
|
Ты где такой метод глобального контекста нашёл. Это метод объекта.
|
|||
32
admin1s
23.01.24
✎
23:22
|
(29) Да, сработало все кроме
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Создано!"); - сообщений нет! |
|||
33
Инстанс
23.01.24
✎
23:24
|
(32) Странно. Ну можешь просто как ранее Сообщить с параметром. У тебя же не фоновое задание, чтобы надо было ещё выцеплять сообщения. Пиши как прежде.
|
|||
34
Инстанс
23.01.24
✎
23:25
|
По-простому, так по-простому, без премудростей. А то бывает.
|
|||
35
admin1s
23.01.24
✎
23:32
|
(34) да, благодарю всем за помощь!
Остальные реквизиты по подобию могу заполнить?! В колонке "ВидЦен": Наименование/Оптовая Статус/Действует Валюта/Рубль |
|||
36
Инстанс
23.01.24
✎
23:33
|
(35) My pleasure. Это очень сложный документ так-то. Там те ещё дебри.
|
|||
37
admin1s
23.01.24
✎
23:35
|
(36) где можно информацию почерпнуть по документу? Заранее благодарен!
|
|||
38
Инстанс
23.01.24
✎
23:35
|
Но наверное в плане интерактивщины более. Давно им не забавлялся. Так-то попробуй. Да, ВидыЦен, Товары.
|
|||
39
admin1s
23.01.24
✎
23:37
|
(38)Но наверное в плане интерактивщины более - что имели ввиду?
Попробую уже завтра, отпишусь... |
|||
40
Инстанс
23.01.24
✎
23:38
|
(37) Тебе же провести надо по регистру? Ну где, где. В модуле менеджера наверно.
|
|||
41
Инстанс
23.01.24
✎
23:39
|
(39) Да разные задачи бывают. Тебе надо просто цены заполнить? Ну и заполняй табличные части. В модуле менеджера текст запроса должен быть, если что.
|
|||
42
Волшебник
24.01.24
✎
00:01
|
(32) У Вас сообщение после Возврат. Там уже ничего не выполняется
|
|||
43
ЖНЕЦ
24.01.24
✎
00:10
|
Спасибо ! Спасибо ! Спасибо тебе, что посоветовал этот форум!
Это просто чудо. Я счастлив! Раньше целыми днями смотрел , как - деревья растут А теперь - такая ДВИЖУХА ! |
|||
44
Волшебник
24.01.24
✎
00:15
|
(43) Всё суетитесь?...
|
|||
45
admin1s
24.01.24
✎
19:56
|
Документ создан, подскажите, это нормально что реквизит документа: "Номер в течении дня" в двух созданных документах имеют номера: 8 357 и 82 420, при том что БД тестовая, никто в ней не работает!?
|
|||
46
Волшебник
24.01.24
✎
20:02
|
(45) В тестовой БД всё нормально.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |