8.х Помогите новичку пожалуйста

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ((((Рамиль)))), 12 дек 2010.

  1. TopicStarter Overlay
    ((((Рамиль))))
    Offline

    ((((Рамиль))))

    Регистрация:
    12 дек 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Всем доброго дня суток! Помогите пожалуйста! Я себе весь мозг сломал :angry:
    И так: Я только новичок в данный момент изучаю и разрабатываю конфигурацию по учебнику Кашаева. Дошел до 130 страницы и встал :D
    Вот собственно код :
    Процедура ДоговорПриИзменении(Элемент)
    Договор=ЭлементыФормы.Договор.Значение;
    ЭлементыФормы.ФИО.Значение=Договор.ФИОучащегося;
    ЭлементыФормы.Месяц.Значение=Месяц(Договор.ДатаДоговора);
    ЭлементыФормы.Год.Значение=Год(Договор.ДатаДоговора);
    ЭлементыФормы.НазваниеТарифа.Значение=Договор.ВидТарифа;
    ВыборкаЗаписей=РегистрыСведений.Тарифы.Выбрать();
    Индикатор=0;
    Пока ВыборкаЗаписей.Следующий() Цикл
    Если ВыборкаЗаписей.ВидТарифа.Наименование=
    ЭлементыФормы.НазваниеТарифа.Значение
    И ВыборкаЗаписей.НомерМесяца=
    ЭлементыФормы.МесяцПроизведенияОплаты.Значение
    И ВыборкаЗаписей.Год=
    ЭлементыФормы.ГодПроизведенияОплаты.Значение Тогда
    ЭлементыФормы.ТарифЗаМесяц.Значение=ВыборкаЗаписей.Стоимость;
    Индикатор=1;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    Если Индикатор=0 Тогда
    ЭлементыФормы.ТарифЗаМесяц.Значение=0;
    Сообщить("По указанным данным информации о тарифе нет");
    КонецЕсли;
    ЭлементыФормы.МесяцНачалаИнтервала.Значение="";
    ЭлементыФормы.ГодНачалаИнтервала.Значение="";
    ЭлементыФормы.МесяОкончанияИнтервала.Значение="";
    ЭлементыФормы.ГодОкончанияИнтервала.Значение="";
    СтруктураОтбора=Новый Структура;
    СтруктураОтбора.Вставить("Договор",Договор);
    ВыборкаЗаписей=РегистрыСведений.Квитанции.Выбрать(,,СтруктураОтбора);
    Пока ВыборкаЗаписей.Следующий() Цикл
    Если ВыборкаЗаписей.Оплачено=Ложь Тогда
    Сообщить("По данному договру есть неоплаченная квитанция");
    Возврат;
    КонецЕсли;
    КонецЦикла;
    ВыборкаЗаписей=
    РегистрыСведений.Квитанции.Выбрать(,,СтруктураОтбора);
    Пока ВыборкаЗаписей.Следующий()Цикл
    Если ЭлементыФормы.МесяцНачалаИнтервала.Значение="" Тогда
    ЭлементыФормы.МесяцНачалаИнтервала.Значение=
    ВыборкаЗаписей.МесяцНачала;
    ЭлементыФормы.ГодНачалаИнтервала.Значение=
    ВыборкаЗаписей.ГодНачала;
    ЭлементыФормы.МесяОкончанияИнтервала.Значение=
    ВыборкаЗаписей.МесяцОкончания;
    ЭлементыФормы.ГодОкончанияИнтервала.Значение=
    ВыборкаЗаписей.ГодОкончания;
    Иначе
    Дата1=Число(ЭлементыФормы.МесяОкончанияИнтервала.Значение)+12*
    Число(ЭлементыФормы.ГодОкончанияИнтервала.Значение);
    Дата2=ВыборкаЗаписей.МесяцОкончания+12*
    ВыборкаЗаписей.ГодОкончания;
    Если Дата2>Дата1 Тогда
    ЭлементыФормы.МесяцНачалаИнтервала.Значение=
    ВыборкаЗаписей.МесяцНачала;
    ЭлементыФормы.ГодНачалаИнтервала.Значение=
    ВыборкаЗаписей.ГодНачала;
    ЭлементыФормы.МесяОкончанияИнтервала.Значение=
    ВыборкаЗаписей.МесяцОкончания;
    ЭлементыФормы.ГодОкончанияИнтервала.Значение=
    ВыборкаЗаписей.ГодОкончания;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    Если ЭлементыФормы.МесяОкончанияИнтервала.Значение<> "" Тогда
    ЭлементыФормы.МесяцНачалаОплаты.Значение=
    Число(ЭлементыФормы.МесяОкончанияИнтервала.Значение)+1;
    Если Число (ЭлементыФормы.МесяцНачалаОплаты.Значение)>12 Тогда
    ЭлементыФормы.МесяцНачалаОплаты.Значение=
    Число(ЭлементыФормы.МесяцНачалаОплаты.Значение)-12;
    ЭлементыФормы.ГодНачалаОплаты.Значение=
    Число(ЭлементыФормы.ГодОкончанияИнтервала.Значение)+1;
    Иначе
    ЭлементыФормы.ГодНачалаОплаты.Значение=
    ЭлементыФормы.ГодОкончанияИнтервала.Значение;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры


    На форме не удается отобразить "ТарифЗаМесяц" (Стоимость) Ну никак он нехочет из регистра сведений Тарифы отобразить строку Стоимость
    В чем проблема??? Люди помогите пожалуйста, и еще разрабатываю на 1С 8.0 а на диске Кашаева примеры вроде выполнены на 8.1 может ли код 8.0 отличатся от 8.1
  2. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    На первый взгляд... У вас на форме реквизиты называются Месяц и Год, а в условии МесяцПроизведенияОплаты и ГодПроизведенияОплаты. У меня Кашаева нет, поэтому не знаю откуда это берется.
  3. TopicStarter Overlay
    ((((Рамиль))))
    Offline

    ((((Рамиль))))

    Регистрация:
    12 дек 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Как я понял выборка производится из Регистра сведений Тарифы.
    ВыборкаЗаписей=РегистрыСведений.Тарифы.Выбрать();
    Индикатор=0;
    Пока ВыборкаЗаписей.Следующий() Цикл
    Если ВыборкаЗаписей.ВидТарифа=
    ЭлементыФормы.НазваниеТарифа.Значение
    И ВыборкаЗаписей.НомерМесяца=
    ЭлементыФормы.МесяцПроизведенияОплаты.Значение
    И ВыборкаЗаписей.Год=
    ЭлементыФормы.ГодПроизведенияОплаты.Значение Тогда
    ЭлементыФормы.ТарифЗаМесяц.Значение=ВыборкаЗаписей.Стоимость;
    Индикатор=1;
    Прервать;
    КонецЕсли;
    КонецЦикла;

    ВыборкаЗаписей.ВидТарифа=ЭлементыФормы.НазваниеТарифа.Значение - Тут он сравнивает колонку вид тарифа(регистр сведений Тарифы) и элемент на форме НазваниеТарифа
    И ВыборкаЗаписей.НомерМесяца=ЭлементыФормы.МесяцПроизведенияОплаты.Значение - А тут тоже самое то есть из регистра сведений Тарифы

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      113,7 КБ
      Просмотров:
      37
    • 2.jpg
      2.jpg
      Размер файла:
      58,7 КБ
      Просмотров:
      35
  4. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Тут один совет. Используйте отладку по шагам и смотрите каждый раз что находится в переменных.

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