|
Ошибка : Переменная не определена (Справочники) | ☑ | ||
---|---|---|---|---|
0
ils108
11.01.16
✎
10:25
|
Добра всем. Выскакивает такая ошибка (Переменная не определена (Справочники)) в тонком клиенте рабочей конфигурации. В толстом все хорошо работает. При этом в моей тестовой конфе срабатывает в тонком клиенте. Подскажите пожалуйста в чем может быть причина?
|
|||
1
Волшебник
модератор
11.01.16
✎
10:26
|
в тонком клиенте
|
|||
2
НаборДанных
11.01.16
✎
10:27
|
(1)Тонко!)
|
|||
3
ils108
11.01.16
✎
10:27
|
(1) а почему тогда срабатывает в другой аналогичной конфигурации и тоже тонком клиенте?
|
|||
4
ДенисЧ
11.01.16
✎
10:28
|
(3) Потому что здесь вкралась одна из трёх черепашек...
|
|||
5
patria0muerte
11.01.16
✎
10:29
|
Рабочая конфигурация на клиент-сервере, вестимо...
Зайди в конфигураторе в Параметры - Модули - Проверка и поставь галочки на Сервер и Тонкий Клиент. |
|||
6
ils108
11.01.16
✎
10:32
|
(4) черепашек-ниндзя ? скажите яснее)
|
|||
7
ДенисЧ
11.01.16
✎
10:35
|
||||
8
ils108
11.01.16
✎
10:40
|
Как решить ситуацию то? )
желательно без ветвистых аналогий из мира фауны :) |
|||
9
hhhh
11.01.16
✎
10:43
|
(8) делайте &НаСервере
|
|||
10
ils108
11.01.16
✎
10:49
|
(9) не сработает на сервере, другую переменную там не найдет. я пробовал получить объект на сервере и его потом передавать. может что-то не так сделал. пример бы посмотреть или описание как это надо делать
|
|||
11
hhhh
11.01.16
✎
10:51
|
(10) всё он найдет. Руки немного подрихтуйте.
|
|||
12
Остап Сулейманович
11.01.16
✎
10:52
|
(10) "другую переменную там не найдет". Ну так передай ее параметром с клиента.
|
|||
14
ils108
11.01.16
✎
11:04
|
(11) Переменная не определена (ГУГОЛКлиент)
(12) переменная в данном случае это общий модуль на клиенте. как его передать параметром и есть ли смысл. Конкретнее опишу ситуацию Есть документ, в нем хранится ссылка на другой документ. при нажатии кнопки "печать" вызывается процедура(1) общего модуля, которая другой процедурой(2) выбирает принадлежащие документу печатные формы, потом (1) проверяет некоторые условия и выводит форму выбора печатной формы. |
|||
15
hhhh
11.01.16
✎
11:09
|
(14) ну выделите эту строчку, где справочники, как отдельную процедуру на сервере. А всё остальное пусть на клиенте.
|
|||
16
ils108
11.01.16
✎
11:10
|
извините за мою супер связную и профессиональную речь. как получается так и описываю :)
|
|||
17
ils108
11.01.16
✎
11:19
|
(15) я делал так :
&НаСервере Функция ПолучитьТекОбъект(ТекОтчет) Д1 = ТекОтчет.ПолучитьОбъект(); Возврат Д1; Конец &НаКлиенте Процедура КнопкаПечать Отчет = ПолучитьТекОбъект(Объект.Документ); ВызватьПроцедуруОбщегоМодуля(Отчет) Конец Ругается тогда на : Ошибка преобразования данных XDTO Покурил интернет на эту тему, почистил кэш, сравнил версии, все равно та же история. Правильно ли я понимаю, что кэш чистим только на клиента,а сервер в данном случае ни при чем. |
|||
18
ils108
11.01.16
✎
11:38
|
Подскажите, что сделать, чтобы данные из ссылки на документ использовать на клиенте, как к нему правильно обращаться и чем не подходит вариант (17)
|
|||
19
hhhh
11.01.16
✎
11:40
|
объект нельзя передавать туда обратно. Вариант (17) вообще ничем не подходит.
всё выбирайте на сервере в структуру. И эту структуру возвращайте. |
|||
20
ils108
11.01.16
✎
12:01
|
&НаСервере
Функция ПолучитьОбъект(ТекОтчет) ТекДокумент = новый Структура; ТекДокумент.Вставить("Документ",ТекОтчет); Возврат ТекДокумент; КонецФункции &НаКлиенте Процедура КомандаПечать(Команда) ДокПечать = ПолучитьОбъект(Объект.Документ); ГУГОЛКлиент.ПечатьВнешнихПечатныхФорм(ДокПечать.Документ); КонецПроцедуры Сделал так, результат тот же. |
|||
21
vicof
11.01.16
✎
12:05
|
&НаСервере
Функция ПолучитьОбъект(ТекОтчет) ТекДокумент = новый Структура; ТекДокумент.Вставить("Документ",ТекОтчет); Возврат ТекДокумент; КонецФункции это бессмысленно Покажи, что в: ГУГОЛКлиент.ПечатьВнешнихПечатныхФорм(ДокПечать.Документ); |
|||
22
ils108
11.01.16
✎
12:06
|
(21)
писокПечатныхФорм = ГУГОЛСервер.ПолучитьСписокМакетовПечати(СсылкаНаОбъект); Если СписокПечатныхФорм.Количество() = 0 Тогда Предупреждение("Печатные формы отсутствуют!"); Возврат; КонецЕсли; Если СписокПечатныхФорм.Количество() = 1 Тогда ВыбраннаяПечатнаяФорма = СписокПечатныхФорм[0]; Иначе ВыбраннаяПечатнаяФорма = СписокПечатныхФорм.ВыбратьЭлемент("Выбор печатной формы"); КонецЕсли; Если ВыбраннаяПечатнаяФорма <> Неопределено Тогда ТабДокументИлиСписок = ГУГОЛСервер.НапечататьВнешнююФорму(СсылкаНаОбъект, ВыбраннаяПечатнаяФорма.Значение); Если ТипЗнч(ТабДокументИлиСписок) = Тип("СписокЗначений") Тогда Для Каждого ТекЭлемент Из ТабДокументИлиСписок Цикл ТабДокумент = ТекЭлемент.Значение; ФормаПечати = ПолучитьФорму("ОбщаяФорма.ГУ_ПечатнаяФормаУправляемая",,,Новый УникальныйИдентификатор); ФормаПечати.Заголовок = ТекЭлемент.Представление; ФормаПечати.ПолеТабличногоДокумента = ТабДокумент; ФормаПечати.Открыть(); КонецЦикла; Иначе ТабДокумент = ТабДокументИлиСписок; ФормаПечати = ПолучитьФорму("ОбщаяФорма.ГУ_ПечатнаяФормаУправляемая"); ФормаПечати.ПолеТабличногоДокумента = ТабДокумент; ФормаПечати.Открыть(); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
23
vicof
11.01.16
✎
12:08
|
Чото я не вижу тут сабж:
"Ошибка : Переменная не определена (Справочники)" |
|||
24
ils108
11.01.16
✎
12:12
|
(23) сам не вижу, поэтому и спрашиваю здесь :(
но ошибка есть. {(ОбщийМодуль.ГУГОЛКлиент.Модуль(236,12)}:Переменная не определена (Справочники) |
|||
25
ils108
11.01.16
✎
12:15
|
(23) подскажите как правильно структуру создать/передать?
|
|||
26
vicof
11.01.16
✎
12:18
|
(24) (ОбщийМодуль.ГУГОЛКлиент.Модуль(236,12)}:Переменная не определена (Справочники)
строка тебе показана, место показано. Отладчик запускать умеешь? |
|||
27
ils108
11.01.16
✎
12:28
|
в целом все заработало. ошибка была совершено в другой процедуре модуля.
и все таки подскажите как получить значение из справочника на клиенте? |
|||
28
Мыш
11.01.16
✎
12:31
|
(27) На тонком клиенте - написать письмо с требованием в фирму 1С.
|
|||
29
oslokot
11.01.16
✎
12:32
|
ага, 1с совсем распоясалась
|
|||
30
ils108
11.01.16
✎
12:48
|
дорогие форумчане, помощь человеку развивает вас, но троллинг только тратит ваше драгоценное время. спасибо вам.
вопрос актуален. есть необходимость использовать значение справочника в процедуре, что на клиенте написана. куда почитать об этом?:) |
|||
31
Мыш
11.01.16
✎
12:54
|
(30) Дорогой форумчанин. Данная необходимость в тонком (sic) клиенте недоступна.
|
|||
32
Остап Сулейманович
11.01.16
✎
12:54
|
(27) "получить значение из справочника на клиенте?"
&НаКлиенте Процедура ... ... ЗначениеРеквизита = ПолучитьРеквизит(СсылкаНаЭлементСправочника); КонецПроцедуры &НаСервереБезКонтекста() Функция ПолучитьРеквизит(СсылкаНаЭлементСправочника) Возврат СсылкаНаЭлементСправочника.ИмяРеквизита; КонецФункции |
|||
33
hhhh
11.01.16
✎
12:56
|
(30)
&НаСервере Функция ПолучитьКонтрагентаПоНаименованию(Наименование) Возврат Справочники.Контрагенты.НайтиПоНаименованию(Наименование); КонецФункции &НаКлиенте Процедура МояПроцедура Вася = ПолучитьКонтрагентаПоНаименованию("Вася"); КонецПроцедуры |
|||
34
ils108
11.01.16
✎
12:57
|
(31) (32) (33) Спасибо большое, речь именно об этом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |