1С Язык программирования. 1С:Предприятие 8.3 и 8.2
Раздел является своеобразной шпаргалкой или кратким справочником по встроенному языку среды 1С Предприятие. Приведенный синтаксис соответствует версии платформы 1С:Предприятие 8.3 и 1С:Предприятие 8.2.
Раздел будет полезным, как начинающим, так и опытным разработчикам прикладных решений на платформе 1С. В разделе приводятся примеры использования свойств объектов конфигурации, методов, функций и языковых конструкций.
Это интересно: в настоящее время язык 1C не имеет официального названия. В обиходе его называют «встроенный язык». Первоначальное название языка было «1Сик» («одинэсик»), но оно очень быстро исчезло из официальных источников. Сейчас при упоминании языка 1С в документации используют 1С Язык программирования.
Комментарии
ждем конструкции справочников.:)
Для Влада. Почему терминирующие сообщения не работают в 1С8.3 так как в 1С8.2 ?В версии 1С8.3 в режиме 1С:Предприятие этот код не работает и появляется окно с сообщением"Использование модальных окон в данном режиме запрещено!". А в 1С8.2 работает!Процедура ПередНачаломРаботыСистемы(Отказ) Предупреждение("Проверте правильность ввода!",3); Если Вопрос("Проверили правильность ввода?", РежимДиалогаВопрос.ДаНетОтмена) = КодВозвратаДиалога.Да Тогда ПоказатьОповещениеПользователя("Всё Ok!"); Иначе ПоказатьОповещениеПользователя("Всё плохо..."); КонецЕсли;КонецПроцедуры
Для Александра. Для совместимости платформы 1С 8.3 с мобильными платформами (iOS и Android) 1С была вынуждена отказаться от использования модального режима. Этот режим используется при выводе предупреждений и вопросов пользователям. Теперь вместо функции Вопрос() следует использовать функцию ПоказатьВопрос(), а вместо функции Предупреждение() использовать ПоказатьПредупреждение(). Эти изменения и являются наиболее частой проблемой при запуске конфигураций, написанных для платформы 1С 8.2, на платформе 1С Предприятие 8.3.
Доброе утро, выражаю благодарность автору за его работу, все очень хорошо и понятно сделано. Сам я не программист , знаю только основы. 1С никогда не занимался, только работал в ней, и тут решил изучить и действительно "поперло". Хотелось бы позадавать некоторые вопросы, может это рановато по скольку я просмотрел только 2 урока. но все же:1. В каком файле храниться все то что мы делаем в конфигураторе? и при замене этого файла сохраняються ли все то что делалось пользователем ранее(документы,отчеты и т.д.)? или каким образом это происходит?2. как организовуеться доступ другим пользователем, с других компьютеров под их именем и паролем?извиняюсь если заскочил на перед:)
Для Александра. Спасибо за теплые слова! А теперь по порядку. 1. все что мы создаем (и настройки и программный код и данные, введенные в систему) хранится в файле 1Cv8.1CD. Это очень удобно. Например я веду свой Персональный менеджер на рабочем и домашнем компьютере просто используя dropbox для синхронизации (ну об этом мы поговорим позже). 2. доступ к информационной базе другм пользователям предоставляется следующим образом (в простом варианте, когда мы не используем "сервер1С"): средствами операционной системы мы предоставляем физический доступ к файлу нашей конфигурации (1Cv8.1CD), а после этого на рабочих местах предполагаемых пользователей устанавливаем платформу 1С и добавляем нашу информационную базу (как мы это делали на 1 уроке). Надесю, что объяснения не слишком сложные :)
Для Влад. Объяснили все понятно, вот только я хотел понять: после добавления информационной базы на рабочие места пользователей, хорошо, мы добавили, а как база будет соединена "воедино"? ну всмысле все видели что кто то добавил документ, кто то счет выставил, сума поменялась, тоесть как связать пользователей между собой? вот это я не понимаю. Спасибо.
Для Александра. Это просто коллективная работа с 1 файлом. Например, мы можем положить экселевский файл на общий ресурс и с нескольких рабочих мест его смотреть и даже редактировать (правда по очереди), в 1С (в файловом режиме) тоже самое - есть 1 файл (конфигурация) и мы с ним работаем, изменяем его, просто платформа 1С позволяет делать это одновременно (конечно менять одновременно 1 документ или элемент справочника она нам не даст). По такому же принципу работают и другие СУБД. Тоесть получается - все пользователи работаю с одним и тем же файлом 1Cv8.1CD, который они "видят" со своих компьютеров. Поэтому они и видят все изменения в нем (кто и когда добавил документ, дополнил справочник и т.д.).
Влад, если реквизиту ТабЧасти надо присвоить ссылку на группу справочника (пр."Работающие"), какой тип данных указывать при создании реквизита(наверное просто:Строка, а при открытии формы списка прописывать код Перебор элементов внутри группы.Так?)
Для Игоря. Все проще и удобнее. В качестве типа данных выбираем СправочникСсылкаСотрудники, а в палитре свойств данного реквизита ищем свойство "Выбор групп и элементов" оно по умолчанию ставится в значение "элементы" (именно поэтому по умолчанию мы можем выбирать в качестве значения только элементы справочника) и меняем его на "группы". Теперь мы сможем в данном поле выбирать только группы. PS: на счет уроков помню, делаю...
Я, блин не так выразился, извиняюсь. Не на группу справочника, а на все элементы группы "Работающие" справочника "Сотрудники", чтобы можно было уже из них выбирать по первым буквам. Нужна ссылка для реквизита табличной части документа...Опыту катастрофически не хватает.
Игорь, тем более лучше сделать как я написал ранее. А дальше можно использовать функцию глобального контекста ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) - можно посмотреть в синтаксис помощнике, там пример очень похожий, если в двух словаз: - открываем форму списка справочника Сотрудники, а ПАРАМЕТРЫ передаем ссылку на группу, в результате откроектся форма списка справочника сотрудники с раскрытой группой.Ранее я еще вот какой похожий вариант разбирал в комментариях ко 2 части Пошагового примера по созданию системы кадрового учета для 1С 8.2.Для Александра. Если ли мы просто хотим, чтобы в форме списка справочника сотрудники при открытии формы была открыта группа "Работающие", то в модуле формы нужно будет написать код в процедуре ПриОткрытии() и создать новую функцию (Работающие()). Вот итоговый код модуля формы списка справочника сотрудники: &НаКлиентеПроцедура ПриОткрытии(Отказ)ПеремРаботающие = Работающие();Элементы.Список.ТекущийРодитель=ПеремРаботающие;КонецПроцедуры &НаСервере Функция Работающие()Возврат (Справочники.Сотрудники.НайтиПоНаименованию("Работающие")); КонецФункции ПС: Логика кода: При открытии справочника мы переменной ПеремРаботающие присваиваем значение - ссылку на группу Работающие. Для этого мы вызываем функцию на сервере, которая нам и возвращает ссылку на группу работающие. А затем делаем текущей группой группу Работающие. :) Как видите все очень просто. Надеюсь, что более-менее понятно, все необходимые знания постараюсь дать в 5 уроке :)
Спасибо, Влад, Думаю проблем не будет.Я так делал,только не использовал свойство список:(.
Странно, в конфигурации нашего 7 урока все получилось, а в моей личной-нет. Все тоже самое,но результат-выбирает все элементы, независимо от групп...:(
Влад, почему может не рабротать код выбора текущего родителя?Может что-то в настройках иерархии не так.В одной конфе работает, в другой нет:(
Игорь, я все вопросы увидел, но сегодня нахожусь на даче и под рукой нет 1С посмотреть что и как. Завтра вернусь в город и постараюсь подробно ответить на все возникшие вопросы.
Игорь, конечно настройки влияют на исполнение программного кода. Но я не совсем понял какой именно код выполняется по-разному. Не видя код могу посоветовать сравнить настройки иерархиии (хотя там буквально парочка галок) ну или написать более подробную информацию.
Подскажите, пожалуйста, как реализовать автозаполнение даты в табличной части документа в 1с8.3? Заранее огромное спасибо. Светлана
К сожаление автозаполнением текущую дату не проставишь. Нужно писать программный код использую функцию ТекущаяДата().
Видеокурс по языку запросов 1С ***