8.х Переменная не определена

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Petrovich1984, 1 ноя 2008.

  1. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    У модуля ПроведениеРасчетов поставьте галку - клиент, только тогда вы сможете обратиться к этому модулю с клиента.
  2. slmmls
    Offline

    slmmls

    Регистрация:
    19 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Спасибо за отклик, но, вот, что выдает в данном случае:
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(8,18)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(52,24)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(99,17)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос( (Проверка: Тонкий клиент)
  3. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Саму процедуру перерасчета необходимо запускать в серверном контексте выполнения:

    Код:
    &НаКлиенте
    Процедура Перерассчитать()
    ВыполнитьПерерасчет();
    КонецПроцедуры
    
    &НаСервере
    Процедура ВыполнитьПерерасчет()
    ПроведениеРасчетов.ПерерассчитатьНачисления(ПредопределенноеЗначение("ПланВидовРасчета.ОсновныеНачисления.Оклад"));
    ПроведениеРасчетов.ПерерассчитатьНачисления(ПредопределенноеЗначение("ПланВидовРасчета.ОсновныеНачисления.Премия"));
    КонецПроцедуры
    Процедурка в клиентском контексте нужна для создания кнопки на форме, если кнопка на форме не нужна, то и процедуру в этом контексте делать нет необходимости.
    slmmls нравится это.
  4. slmmls
    Offline

    slmmls

    Регистрация:
    19 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Поставила галку Клиент, поменяла управляемое приложение на обычное, и все работает - отчет формируется без проблем, а управляемое приложение даже не запускается, почему так?
    upload_2015-6-30_16-28-20.png
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Потому что нужно разграничивать клиентский и серверный код.
  6. slmmls
    Offline

    slmmls

    Регистрация:
    19 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Галки в общем модуле Клиент и Сервер. Код прописала Ваш, а выдает вот что:
    {Отчет.НачисленияСотрудникам.Форма.ФормаОтчета.Форма(9,1)}: Переменная не определена (ПроведениеРасчетов)
    <<?>>ПроведениеРасчетов.ПерерассчитатьНачисления(ПредопределенноеЗначение("ПланВидовРасчета.ОсновныеНачисления.Оклад")); (Проверка: Сервер)
    {Отчет.НачисленияСотрудникам.Форма.ФормаОтчета.Форма(10,1)}: Переменная не определена (ПроведениеРасчетов)
    <<?>>ПроведениеРасчетов.ПерерассчитатьНачисления(ПредопределенноеЗначение("ПланВидовРасчета.ОсновныеНачисления.Премия")); (Проверка: Сервер)
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(8,18)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(52,24)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос; (Проверка: Тонкий клиент)
    {ОбщийМодуль.ПроведениеРасчетов.Модуль(99,17)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос( (Проверка: Тонкий клиент)
  7. tok-alex
    Offline

    tok-alex

    Регистрация:
    3 ноя 2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Добрый день.
    Второй день пытаюсь разобраться с проблемой.
    1с v8.2 обычное приложение толстый клиент.
    В конфигурации бухгалтерия предприятия 2.0.14.5 пишу свой код.
    Создал документ и форму документа.
    Нужно что бы по таблице считал стоимость.
    в модуле форме код:
    &НаКлиенте
    Процедура ТехническоеОбеспечениеЦенаПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.ТехническоеОбеспечение.ТекущиеДанные;
    РаботаСДокументами.РассчитатьСтоимость(СтрокаТабличнойЧасти);

    КонецПроцедуры

    &НаКлиенте
    Процедура ТехническоеОбеспечениеКоличествоПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.ТехническоеОбеспечение.ТекущиеДанные;
    РаботаСДокументами.РассчитатьСтоимость(СтрокаТабличнойЧасти);
    КонецПроцедуры

    В общем модуле РаботаСДокументами написано:
    Процедура РассчитатьСтоимость(СтрокаТабличнойЧасти) Экспорт
    СтрокаТабличнойЧасти.Стоимость = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
    КонецПроцедуры

    Этот же код работает в пустой самописной конфигурации под тонким клиентом.
    в общем модуле стоит галка обычное приложение. все остальное отключено

    есть ошибки
    {Документ.Проект.Форма.ФормаВерсия2.Форма(4,22)}: Переменная не определена (Элементы)
    СтрокаТабличнойЧасти=<<?>>Элементы.ТехническоеОбеспечение.ТекущиеДанные; (Проверка: Толстый клиент (обычное приложение))
    {Документ.Проект.Форма.ФормаВерсия2.Форма(11,22)}: Переменная не определена (Элементы)
    СтрокаТабличнойЧасти=<<?>>Элементы.ТехническоеОбеспечение.ТекущиеДанные; (Проверка: Толстый клиент (обычное приложение))

    хотя тоже самое работает в тонком клиенте на другой конфигурации.
    upload_2016-11-3_11-0-35.png
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    В обычном приложении нет Элементы, есть ЭлементыФормы.
  9. tok-alex
    Offline

    tok-alex

    Регистрация:
    3 ноя 2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Заменил на ЭлементыФормы. ошибок нет но все равно не считает стоимость

Поделиться этой страницей