встроенный язык 1С

Тема в разделе "1C и всё что с ней связано", создана пользователем Alis, 9 авг 2007.

  1. Alis

    Alis Гость

    Здравствуйте!
    У меня такой вопрос.
    Есть небольшая программка на встроенном языке 1С, которая должна записать в файл (ею же создаваемый) содержимое справочника Контрагенты. После запуска этой программы, файла найти не могу. Да вообще не могу понять - скомпилилась программа или нет???
    При нажатии кнопки "Начать отладку" она просто запускает саму программу "1С Бухгалтерия8.0" и всё!

    Объясните пожалуйста! Как понять, что программа скомпилилась и как понять работает вообще она или нет???

    СПАСИБО!

    P.S. Если можно выложите мне маленький примерчик какого-нибуть рабочего кода(типа Здравствуй Мир), который компилился и запускался!

    Ещё раз благодарю. :)
     
  2. kaa

    kaa Гость

    Вы вероятно сделали внешнюю обработку ее надо сохранить,

    а в режиме предприятия файл->открыть и собственно выбрать файл который сохранили
     
  3. Alis

    Alis Гость

    А можете просто объяснить КАК ПОНЯТЬ ЧТО ПРОГРАММА СКОМПИЛИЛАСЬ И ЧТО В НЕЙ НЕТ ОШИБОК!!!
    и не могли бы вы всё-таки выложить пример рабочего кода, что погонять его и понять, компилится программа или нет?
     
  4. b00tch

    b00tch Гость

    синтаксический контроль проходит непосредственно перед сохранением обработки...
    компиляция происходит на лету - перед выполнением...
    если форма открылась в режиме Предприятия без сообщений об ошибках - значитЪ компиляция прошла успешн0...
     
  5. kaa

    kaa Гость

    <!--QuoteBegin-Alis+9:08:2007, 10:47 -->
    <span class="vbquote">(Alis @ 9:08:2007, 10:47 )</span><!--QuoteEBegin-->А можете просто объяснить КАК ПОНЯТЬ ЧТО ПРОГРАММА СКОМПИЛИЛАСЬ И ЧТО В НЕЙ НЕТ ОШИБОК!!!
    [snapback]74864" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Проверка синтаксиса ctrl+F7, Конфигурация->Синтаксический контроль модулей

    однако такая проверка проверяет синтаксис так сказать до точки т.е. если есть что-то типа

    Документ.Контрагент - то проверяеться только пер. Документ дальнейшие ощибки будут выдоваться
    при попыке выполнить код в режиме предприятия и будет ссылка на строку кода





    <!--QuoteBegin-Alis+9:08:2007, 10:47 -->
    <span class="vbquote">(Alis @ 9:08:2007, 10:47 )</span><!--QuoteEBegin-->и не могли бы вы всё-таки выложить пример рабочего кода, что погонять его и понять, компилится программа или нет?
    [snapback]74864" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос= Новый Запрос;
    Текст= Новый ТекстовыйДокумент;
    Запрос.Текст="ВЫБРАТЬ
    | Контрагенты.Ссылка
    |ИЗ
    | Справочник.Контрагенты КАК Контрагенты
    |
    |СГРУППИРОВАТЬ ПО
    | Контрагенты.Ссылка";

    Результат=Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ДобавитьСтроку(Выборка.Ссылка);
    КонецЦикла;
    Текст.Записать("C:\проверка.txt");
    КонецПроцедуры
     
  6. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    <!--QuoteBegin-b00tch+9:08:2007, 12:22 -->
    <span class="vbquote">(b00tch @ 9:08:2007, 12:22 )</span><!--QuoteEBegin-->если форма открылась в режиме Предприятия без сообщений об ошибках - значитЪ компиляция прошла успешн0...
    [snapback]74872" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ой ли...

    Для: Alis
    в 1С не компилятор, а транслятор - наподобие васика.
     
  7. b00tch

    b00tch Гость

    ф0рмально - транслятор или к0мпилятор - не важно... суть в том, что если форма открылась - значитЪ контроль синтаксиса пройден...
     
  8. Alis

    Alis Гость

    я написала ЗАВЕДОМО НЕПРАВИЛЬНЫЙ код - она мне говорит, что синтаксических ошибок нет!
     
  9. b00tch

    b00tch Гость

    <!--QuoteBegin-Alis+9:08:2007, 14:32 -->
    <span class="vbquote">(Alis @ 9:08:2007, 14:32 )</span><!--QuoteEBegin-->ЗАВЕДОМО НЕПРАВИЛЬНЫЙ код
    [snapback]74901" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    в студию!...

    где ты его написала?... синт. контроль принудительно запускала?
     
  10. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    <!--QuoteBegin-b00tch+9:08:2007, 15:26 -->
    <span class="vbquote">(b00tch @ 9:08:2007, 15:26 )</span><!--QuoteEBegin-->ф0рмально - транслятор или к0мпилятор - не важно...
    [snapback]74898" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    В некотором смысле (если не затрагивать скорострельность) согласен.
    <!--QuoteBegin-b00tch+9:08:2007, 15:26 -->
    <span class="vbquote">(b00tch @ 9:08:2007, 15:26 )</span><!--QuoteEBegin-->суть в том, что если форма открылась - значитЪ контроль синтаксиса пройден...
    [snapback]74898" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Совсем не факт!
    <!--QuoteBegin-b00tch+9:08:2007, 16:04 -->
    <span class="vbquote">(b00tch @ 9:08:2007, 16:04 )</span><!--QuoteEBegin-->в студию!
    [snapback]74909" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    могу привести примеры на 7.7 (по причине катастрофического незнания 8.0)

    Собственно, вот:
    Код (Text):
    Функция глПрисвоить(Чему,Что) Экспорт
    Чему = Что;
    Возврат "";
    КонецФункции // глПрисвоить(Чему,Что)
    //*******************************************
    Процедура Сформировать()
    Шаблон("[глПрисвоить(ЦенаДляНалога,Конт.Цена,Сумма)]");
    КонецПроцедуры
    Принудительный синтаксконтроль сообщает о том, что ошибок нет (особенности транслятора).
    Еще примеры нужны?
     
  11. kaa

    kaa Гость

    <!--QuoteBegin-kaa+9:08:2007, 11:34 -->
    <span class="vbquote">(kaa @ 9:08:2007, 11:34 )</span><!--QuoteEBegin-->проверка проверяет синтаксис так сказать до точки т.е. если есть что-то типа

    Документ.Контрагент - то проверяеться только пер. Документ дальнейшие ощибки будут выдоваться
    при попыке выполнить код в режиме предприятия
    [snapback]74875" rel="nofollow" target="_blank[/snapback]​
    [/quote]


    Для b00tch

    Попробуйте в код который я привел вместо
    Текст.ДобавитьСтроку(Выборка.Ссылка)
    поставить допучтим
    Текст.ДобавитьСтроку(Выборка.Контрагент)
     
  12. b00tch

    b00tch Гость

    Для: vitfil
    я не говорил, чт0 если форма открылась - т0 ошибок нетЪ... всег0 лишь контроль пройден...
    в приведенном к0де СИНТАКСИЧЕСКИХ ошибок (следуя л0гике транслятора) нетЪ... строка, заключенная в кавычки - символьная константа, в ней можетЪ быть написано чт0 угодно... а то, что она в пр0цессе выполнения оказываецц0 выовом процедуры - видн0 только из л0гики работы к0да, который тупой кампутер фсе равн0 никогда не пойметЪ... хехе
    посему ошибка - чисто логическая...

    Для: kaa
    то же самое - ошибка НЕ СИНТАКСИЧЕСКАЯ, а л0гическая... проявицц0 только при выполнении к0да...
    не знаю, как в других средах программирования, а 1цэ работаетЪ именно так... я, личн0, привык и не парюсь...

    итого - прохождение синтаксического контроля гарантируетЪ только то, что код запустицц0 в среде 1цэ... то, что в нем неД ашыбок - не можетЪ гарантировать никт0... хехе
     
  13. Alis

    Alis Гость

    а если я просто ";" в двух местах не поставила и вместо "Результат" написала "Результт"

    Любуйтесь: синтаксических ошибок не найдено, форма запустилась:

    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос= Новый Запрос;
    Текст= Новый ТекстовыйДокумент;
    Запрос.Текст="ВЫБРАТЬ
    | Контрагенты.Ссылка
    |ИЗ
    | Справочник.Контрагенты КАК Контрагенты
    |
    |СГРУППИРОВАТЬ ПО
    | Контрагенты.Ссылка";

    Результат=Запрос.Выполнить();
    Выборка = Результт.Выбрать();
    Пока Выборка.Следующий() Цикл
    Текст.ДобавитьСтроку(Выборка.Ссылка)
    КонецЦикла;
    Текст.Записать("C:\Alis\Log.txt")
    КонецПроцедуры
     
  14. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    <!--QuoteBegin-b00tch+9:08:2007, 17:06 -->
    <span class="vbquote">(b00tch @ 9:08:2007, 17:06 )</span><!--QuoteEBegin-->в приведенном к0де СИНТАКСИЧЕСКИХ ошибок (следуя л0гике транслятора) нет
    [snapback]74926" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Неужели лишний параметр при вызове функции не является синтаксической ошибкой? С каких это пор? Если уж среда исполнения дает возможность вызова функции таким образом, значит синтаксконтроль должен проверять и эти возможные ошибки, а не просто пропускать их. В моем примере как раз не логическая, а синтаксическая ошибка. Потому как если оформить вызов более привычным способом, контроль ее обнаруживает.
     
  15. b00tch

    b00tch Гость

    исп0льзование директивы Шаблон с такой целью - есть недокументированная функция, п0сему претензии неуместны... хехе...

    и в00бще, мне кажецц0, что НИ ОДИН компилятор не будетЪ проверять строковые константы, даже если в них содержицца вызов функции...
     
  16. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    А где написано, что проверка должна игнорировать недокументированные возможности?

    Слегка Офф: можно вас попросить использовать в своих ответах русский язык. Не знаю, как остальных, меня немного раздражает использование цифры "0" вместо буквы "о". Кстати, не так давно это обсуждалось на этом портале и большинство пришло к выводу, что "падонковый" и прочие наречия и написания использовать посетителями форумов, мягко говоря, некомильфо.
     
  17. Alis

    Alis Гость

    Для: b00tch
    А мой пример как же тогда понимать?
    в нём же чистой воды синтаксические ошибки!
     
  18. b00tch

    b00tch Гость

    <!--QuoteBegin-vitfil+10:08:2007, 10:46 -->
    <span class="vbquote">(vitfil @ 10:08:2007, 10:46 )</span><!--QuoteEBegin-->А где написано, что проверка должна игнорировать недокументированные возможности?
    [snapback]74998" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а где вообще написано, ЧТО должна игнорировать проверка?...
    есть правила синтаксиса языка, в которых определено, что строка, заключенная в кавычки, являецц0 литералом типа Строка, а не управляющей конструкцией языка... исх0дя и этой логики проверка и не анализирует этот текст...

    слегка офф: если я начну перечислять вещи, которые меня раздражают - клава сломается... поэтому давайте старацц0 быть толерантней, аГа?... и я постараюсь, обещаю...
    кстати, не подскажите, к какому наречию относится слово "некомильфо"?
     
  19. Alis

    Alis Гость

    Простите, что вмешиваюсь в выяснения ваших личных отношений, но может кто-нибудь мне всё-таки объяснит, почему в моём примере ситаксических ошибок не найдено!
     
  20. b00tch

    b00tch Гость

    Для: Alis
    не знаю... у меня нашлись:
    точкиЗапятые у тебя норм... перед упр. конструкциями их ставить не0бяательно, хотя лучше все-таки ставить...

    дикое предположение - можетЪ, у тебя переменная Результт обЪявлена как глобальная?... 0_0

    ЗЫ... скинь обработку полностью на 1c99[dog]list.ru
     
Загрузка...

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