Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> 1с 8.3 УПП 1.3 Код який працює в файловому режимі непрацює в серверному.          
s.vitaliy Подменю пользователя
сообщение 01.02.18, 10:07
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

1с 8.3 УПП 1.3
Поможіть розібратися я так розумію що
Предупреждение
в серверному варіанті неможна викликати з СпільногоМодуля. в свойствах спільного модуля стоять галочки СЕРВЕР КЛІЄНТ і ВИКЛИК СЕРВЕРА.
Додаю сам код і помилку.

Код
Процедура РезервированиеТоваровПоЗаказуНаПроизводстве(СсылкаНаДокумент, СначалаНаСкладе = Истина) Экспорт 
    
    Если ТипЗнч(СсылкаНаДокумент) = Тип("ДокументОбъект.ЗаказНаПроизводство") И СсылкаНаДокумент.ЭтоНовый() Тогда
        Сообщить("Сначало нужно записать документ", СтатусСообщения.Важное);
        Возврат;
    КонецЕсли;    
    
    РезервированиеТоваровСсылка = ПолучитьРезервированиеТоваровПоЗаказуНаПроизводство(СсылкаНаДокумент);
    Если Не РезервированиеТоваровСсылка.Пустая() Тогда
        
        Режим = РежимДиалогаВопрос.ДаНетОтмена;
        Ответ = Вопрос("Перезаполнить существующий документ ? Иначе создадим новый.", РежимДиалогаВопрос.ДаНет, 0);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            РезервированиеТоваровОбъект = РезервированиеТоваровСсылка.ПолучитьОбъект();
        КонецЕсли;
        
    КонецЕсли;    
    
    Если РезервированиеТоваровОбъект = Неопределено Тогда
        РезервированиеТоваровОбъект = Документы.РезервированиеТоваров.СоздатьДокумент();
        ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(РезервированиеТоваровОбъект);
    КонецЕсли;    
    
    РезервированиеТоваровОбъект.Заполнить(СсылкаНаДокумент.Ссылка);
    
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("ВидимостьСерии"        , Ложь);
    СтруктураПараметров.Вставить("Авторезервирование"    , Истина);
    СтруктураПараметров.Вставить("Авторазмещение"        , Истина);
    СтруктураПараметров.Вставить("СтратегияАвторезервированияПоЗаказам", ?(СначалаНаСкладе, Перечисления.СтратегииАвторезервированияНоменклатуры.СначалаНаСкладахПотомВЗаказахПоставщикам, Перечисления.СтратегииАвторезервированияНоменклатуры.СначалаВЗаказахПоставщикамПотомНаСкладах));
    
    РезервированиеТоваровОбъект.ЗаполнитьТабличныеЧастиПередПроведениемУпр(СтруктураПараметров);
    
    ФормаДокумента = РезервированиеТоваровОбъект.ПолучитьФорму();
    ФормаДокумента.Открыть();
    
КонецПроцедуры



Помилка

{ОбщийМодуль.Армор.Модуль(898,11)}: Змінна не визначена (РежимДиалогаВопрос)
Режим = <<?>>РежимДиалогаВопрос.ДаНетОтмена;
{ОбщийМодуль.Армор.Модуль(899,84)}: Змінна не визначена (РежимДиалогаВопрос)
Ответ = Вопрос("Перезаполнить существующий документ ? Иначе создадим новый.", <<?>>РежимДиалогаВопрос.ДаНет, 0);
{ОбщийМодуль.Армор.Модуль(900,19)}: Змінна не визначена (КодВозвратаДиалога)
Если Ответ = <<?>>КодВозвратаДиалога.Да Тогда
{ОбщийМодуль.Армор.Модуль(108,3)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Отсутствует номенклатура с заданными критериями поиска!");
{ОбщийМодуль.Армор.Модуль(121,4)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("По заданным критериям поиска найдено более 50 элементов номенклатуры!
{ОбщийМодуль.Армор.Модуль(172,4)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Для строки документа: " + ТекущиеДанные.НомерСтроки + " не задана единица измерения",, "Ошибка");
{ОбщийМодуль.Армор.Модуль(177,4)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Для номенклатуры: " + ТекущиеДанные.Номенклатура + " не ведется учет по сериям",, "Ошибка");
{ОбщийМодуль.Армор.Модуль(188,4)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Для документа не задана единица измерения продукции",, "Ошибка");
{ОбщийМодуль.Армор.Модуль(193,4)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Для номенклатуры: " + ТекущиеДанные.Номенклатура + " не ведется учет по сериям",, "Ошибка");
{ОбщийМодуль.Армор.Модуль(206,3)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Штрихкод " + Штрихкод + " имеет неверный формат. Должно быть не меньше " + Формат(КоличествоСимволовШтрихкода,"ЧЦ=2; ЧДЦ=; ЧН=") + " символов",, "Ошибка");
{ОбщийМодуль.Армор.Модуль(212,3)}: Процедура або функція з вказаним ім`ям не визначена (Предупреждение)
<<?>>Предупреждение("Штрихкод " + Штрихкод + " уже существует в базе для номенклатуры " + СведенияПоШтрихКоду.Номенклатура + ?(ЗначениеНЕЗаполнено(СведенияПоШтрихКоду.СерияНоменклатуры),"", " с серией " + СведенияПоШтрихКоду.СерияНоменклатуры));
{ОбщийМодуль.Армор.Модуль(201,10)}: Процедура або функція з вказаним ім`ям не визначена (ВвестиСтроку)
Если Не <<?>>ВвестиСтроку(Штрихкод,"Проскануйте штрихкод", 13, Ложь) Тогда
{ОбщийМодуль.Армор.Модуль(678,16)}: Процедура або функція з вказаним ім`ям не визначена (ПолучитьФорму)
ФормаОтчета = <<?>>ПолучитьФорму("Отчет." + СтруктураВызоваОтчета.Отчет + ".Форма");
{ОбщийМодуль.Армор.Модуль(899,14)}: Процедура або функція з вказаним ім`ям не визначена (Вопрос)
Ответ = <<?>>Вопрос("Перезаполнить существующий документ ? Иначе создадим новый.", РежимДиалогаВопрос.ДаНет, 0);


 ! 

Правила: 5
 


Сообщение отредактировал Vofka - 01.02.18, 13:03

podcast Подменю пользователя
сообщение 01.02.18, 10:23
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

s.vitaliy @ Сегодня, 10:07 * ,
Скорей всего у вас не правильно стоят условия #Если Клиент Тогда, просмотрите на них, попробуйте добавить если их нету, там где у вас есть вызовы клиентских процедур.

Спасибо сказали: s.vitaliy,

s.vitaliy Подменю пользователя
сообщение 01.02.18, 10:34
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

podcast @ Сегодня, 10:23 * ,
Дякую спробую.

logist Подменю пользователя
сообщение 01.02.18, 10:41
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(podcast @ 01.02.18, 10:23) *
Скорей всего у вас не правильно стоят условия #Если Клиент Тогда

Судя по коду они вообще не стоят, это видно из текста ошибки.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: s.vitaliy,

Gazulo Подменю пользователя
сообщение 01.02.18, 11:39
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

s.vitaliy @ Сегодня, 10:07 * ,
"РежимДиалогаВопрос", "Предупреждение" все це , я так розумію, виклики вікна, які є неможливими на сервері..треба превіряти Если Клиент

Спасибо сказали: s.vitaliy,

Vofka Подменю пользователя
сообщение 01.02.18, 13:05
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Судя по описанию, в случае с серверным вариантом эта процедура выполняется на сервере. А на сервере нельзя использовать Предупреждение, ВвестиСтроку, Вопрос и прочие интерактивные фунции. Поэтому, как писали выше, нужно такие блоки кода обрамлять директивами #Если Клиент Тогда

Спасибо сказали: s.vitaliy,

s.vitaliy Подменю пользователя
сообщение 01.02.18, 14:47
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 13:05 * ,
Якщо я правильно поняв то перед кожним викликом Предупреждение потрібно вказувати #Если Клиент Тогда ?

Vofka Подменю пользователя
сообщение 01.02.18, 15:23
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

s.vitaliy @ Сегодня, 14:47 * ,
если логика подразумевает просто вывод предупреждения, в котором счелкается ОК и код выполняется дальше, то да.

Если же что-то типа

Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос("Перезаполнить существующий документ ? Иначе создадим новый.", РежимДиалогаВопрос.ДаНет, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
        РезервированиеТоваровОбъект = РезервированиеТоваровСсылка.ПолучитьОбъект();
КонецЕсли;


то в этом случае надо обрамить весь этот блок кода. Но в этом случае вам, исходя из бизнес-логики, нужно решить стоит ли выполнять

РезервированиеТоваровОбъект = РезервированиеТоваровСсылка.ПолучитьОбъект();


или не стоит (в случае, когда пользователь спросить нету возможности)

Спасибо сказали: s.vitaliy,

podcast Подменю пользователя
сообщение 01.02.18, 15:37
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

s.vitaliy @ Сегодня, 14:47 * ,
Обычно в модуле объекта сначала всех процедур связанных с печать ставят условие, и после них закрывают.

Спасибо сказали: s.vitaliy,

s.vitaliy Подменю пользователя
сообщение 01.02.18, 15:44
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

s.vitaliy @ Сегодня, 14:47 * ,
Дякую за допомогу розібрався помістив всі клієнські процедури в #Если Клиент Тогда Процедура() #КонецЕсли

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 20:22
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!