8.х Помощь начинающему программисту 8.3

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

  1. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    добрый день, прошу посильной помощи в создании кода в 1С 8.3, в 8.2 не сильно разбираюсь тоже.

    вот код
    Код:
    рту = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    в 8.2 можно было бы с ним работать дальше (вроде) - изменять реквизиты типа
    Код:
    рту.дата = "27.01.2015"
    сейчас выдает ошибку -
    Форма.Форма.Форма(4,7)}: Переменная не определена (Документы)
    вып = <<?>>Документы.ПоступлениеНаРасчетныйСчет.Выбрать(ДатаНачала,Конечнаядата); (Проверка: Тонкий клиент)
  2. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    все данные в УФ на сервере, соответственно выборку можно сделать только в процедуре с диррективой НаСервере
    Golemchik нравится это.
  3. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    Большое спасибо. Если еще поможете в исправлении ошибок, которые я не имею понятия как исправить, буду в неоплатном долгу.
    Обработка создает реализацию услуг по поступлению на расч.счет
    Код:
    &НаСервере
    Процедура Нажатие(Команда)
    вып = Документы.ПоступлениеНаРасчетныйСчет.Выбрать(ДатаНачала(ДатаНАчала),ДатаОкончания(Конечнаядата));
    пока вып.Следующий() цикл
        рту = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
        рту.Дата = вып.Дата;
        рту.Номер = вып.Номер;
        Рту.Контрагент = вып.Контрагент;
        Рту.ДоговорКонтрагента = вып.ДоговорКонтрагента;
        рту.СчетУчетаРасчетовСКонтрагентом = 62.01;
        Рту.СчетУчетаРасчетовПоАвансам= 62.02;
        рту.Услуги.Добавить();
            // табличная часть
         тч = рту.Услуги;
         новстр = тч.Добавить();
         новстр.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Информационные услуги");
         новстр.Количество = 1;
         новстр.Цена = вып.СуммаДокумента;
         новстр.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
         новстр.СчетДоходов = 90.02.1;
        
         рту.Записать(РежимЗаписи,РежимПроведения);
        Конеццикла
       
    КонецПроцедуры
    
    вот ошибки
    {Форма.Форма.Форма(21,29)}: Неопознанный оператор
    новстр.СчетДоходов = 90.02<<?>>.1; (Проверка: Сервер)
    {Форма.Форма.Форма(25,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
    <<?>>Конеццикла (Проверка: Сервер)
    {Форма.Форма.Форма(21,29)}: Неопознанный оператор
    новстр.СчетДоходов = 90.02<<?>>.1; (Проверка: Тонкий клиент)
    {Форма.Форма.Форма(25,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
    <<?>>Конеццикла (Проверка: Тонкий клиент)
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    на счет последней - это забыли ";" после КонецЦикла
    --- Объединение сообщений, 27 янв 2015 ---
    счета можно определить по типу
    Код:
    ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02")
    Golemchik нравится это.
  5. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    КонецЦикла точка с запятой пропущена
    Ctrl + Пробел - решают много таких проблем)

    Опоздал))
    Golemchik нравится это.
  6. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    Код:
    &НаСервере
    Процедура Нажатие(Команда)
    вып = Документы.ПоступлениеНаРасчетныйСчет.Выбрать(ДатаНачала,Конечнаядата);
    пока вып.Следующий() цикл
        рту = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
        рту.Дата = вып.Дата;
        рту.Номер = вып.Номер;
        Рту.Контрагент = вып.Контрагент;
        Рту.ДоговорКонтрагента = вып.ДоговорКонтрагента;
        рту.СчетУчетаРасчетовСКонтрагентом = 62.01;
        Рту.СчетУчетаРасчетовПоАвансам= 62.02;
        рту.Услуги.Добавить();
            // табличная часть
        тч = рту.Услуги;
        новстр = тч.Добавить();
        новстр.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Информационные услуги");
        новстр.Количество = 1;
        новстр.Цена = вып.СуммаДокумента;
        новстр.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
        новстр.СчетДоходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
        новстр.СчетРасходов = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02.1");
        рту.Записать();
    
        Конеццикла;
    КонеЦПроцедуры
    вроде все исправил. Но при старте обработки ничего не происходит. Как выяснить причину?
    Последнее редактирование модератором: 27 янв 2015
  7. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    самая тема - отладчик
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Отладчиком.
    --- Объединение сообщений, 27 янв 2015 ---
    И на будущее:
    &НаСервере
    Процедура Нажатие(Команда) у вас в жизни не сработает. Может стоит почитать литературу ?
  9. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    да я в курсе, что то с кнопкой, так как сообщение себе попытался отправить сразу после нее. Литературы то под рукой нет(читаю по 8.2). В 8.3 реально возникли проблемы даже при создании кнопки (как по мне в 8.2 все элементарно было). Раньше выбирал в свойствах кнопки, События, нажатие, и он в модуле создавал. Может все таки подскажите?

    исправил, изменив название команды
    Код:
    &НаСервере
    Процедура СоздатьНаОСнованииНаСервере()
        Сообщить("Работает")  ;
    
    исправил
    не помогло
  10. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    и в 8.2. такое было, просто вы в режиме толстого клиента работали, а не в УФ.. книжка по 8.2 в целом может вам существенно помочь в освоении УправляемыхФорм

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