1с возврат функция

admin

Функции 1С и процедуры в 1С работают аналогично другим языкам — функция это именованная подпрограмма для вызова из других мест программного кода.

Далее подробнее про функции 1С и процедуры 1С.

Порядок объявления функций в модуле произвольный (то есть можно в тексте процедуры, расположенной в самом начале модуля использовать процедуры, текст которых будет расположен ниже в этом модуле). Аналогично переменным 1С, функции 1С могут быть экспортными.

Чтобы «выйти» из выполнения функции 1С и процедуры — используют команду «Возврат;». Функция (в отличии от процедуры) «возвращает» результат вычислений, то есть необходимо написать «Возврат ЗНАЧЕНИЕ;». Функции 1С не типизированы, значит могут возвращать значение разных типов, в зависимости от параметров или условий.

Функция отличается от процедуры возможностью вернуть результат вычислений, например:

Функция Функция1(Параметр)
Возврат Параметр * 2;
КонецФункции

Переменная1 = Функция1(10);
//Переменная1 будет равна 20

Параметры функции 1С и процедуры — это ссылки на переменные, существующие в месте вызова. «Ссылка» — значит при изменении значения параметра «внутри» функции 1С, он будет изменен и «снаружи». Чтобы такого не происходило — параметр передают со значением ПЕРЕМ. Однако это не работает со значениями-объектами (списками, таблицами, объектами базы данных), они все-равно будут переданы по ссылке.

При передаче параметра в процедуру/функцию, он передается «по ссылке». Это значит, что изменяя его внутри процедуры, Вы изменяете его значение, при доступе после окончания функции 1С. Таким образом, предыдущий пример можно написать так:

Процедура Процедура1(Параметр)
Параметр = Параметр * 2;
КонецПроцедуры

Переменная1 = 10;
Процедура1(Переменная1);
Сообщить(Переменная1);
//Результатом будет 20

Чтобы передать внутрь процедуры значение переменной, а не ее саму:

Процедура Процедура1(ЗНАЧ Параметр)
//действия..
КонецПроцедуры

При работе с объектами (справочники, документы) необходимо помнить, что внутри функции 1С/процедуры 1С над ними могут быть выполнены действия.
Если у функции 1С/процедуры 1С несколько параметров, то ненужный можно пропустить (указав запятую, если пропущен параметр в середине), при этом будет передано или Неопределено (см. ниже) или значение по-умолчанию:

Функция Функция1(Параметр1, Параметр2, Параметр3 = «Строковое значение»)
//Чтото делаем
КонецФункции

//Вызов функции без некоторых параметров
//параметр2 будет равен Неопределено
//параметр3 будет равен «Строковое значение»
Функция1(10);

//Вызов функции без второго параметра
Функция1(10, , «Значение»);

Как уже говорилось ранее, процедуры 1С используются в качестве обработчиков событий, возникающих при работе пользователя с формой (открытие, закрытие, нажатие кнопок и т.п.) или работе платформы (старт, завершение и т.п.). Возможные виды обработчиков формы или ее элементов можно увидеть в свойствах — щелкнув мышью на соответствующий элемент формы (и прокрутив окно свойств вниз). Виды обработчиков в модуле объекта можно увидеть с помощью выпадающего списка на панели в конфигураторе — где отображается список еще неопределенных и уже определенных событий. У разных событий различные параметры, при добавлении обработчика 1С автоматически прописывает список параметров.

В модуле формы, объекта располагаются обработчики событий. Обработчик можно добавить (назначить) следующими способами:

howknow1c.ru

1с возврат функция

Войдите как ученик, чтобы получить доступ к материалам школы

Внутренний язык программирования 1С 8.3 для начинающих программистов: функции и процедуры в 1С часть 1

Автор уроков и преподаватель школы: Владимир Милькин

Сегодня мы приступаем к изучению того, без чего не может обойтись ни одна более менее серьезная программа — функций и процедур.

Функции и процедуры в языке 1С 8.3

Давайте я подведу вас к необходимости функций, заодно вы поймёте что это такое и почему они столь полезны для программистов.

Пусть нам требуется написать программу, которая вычисляет произведение суммы и разности двух введенных чисел. Выглядеть она будет так:

В данном случае формула вычисления результата достаточно проста, но она могла бы быть гораздо сложнее. А что если нам нужно вычислять её не один раз, а несколько? Причем в разных местах программы.

Неужели нам снова и снова придётся писать код для её вычисления:

Это никуда не годится. Нам придётся повторять один и тот же код, что приведёт к раздутости программы. И кроме того, переписывая его очередной раз мы можем допустить ошибку по невнимательности.

Вот бы придумать такое имя, которое будет связано с этой формулой и при обращении к нему мы будем обращаться ко всей этой формуле целиком. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.

Пусть этим именем будет ПроизведениеСуммыИРазности.

Получается теперь мы можем написать:

И всё? Нет, конечно! Ведь непонятно произведение суммы и разности каких именно чисел нужно считать. Гораздо лучше будет передать эти числа нашему имени в качестве параметров, как мы обычно делаем при вызове команды:

Это, так называемый, вызов функции. Он выглядит точно также как и вызов многих других команд компьютера, которые мы уже неоднократно делали. Только это наша собственная команда, работу которой определяем мы, а не компьютер.

Давайте, наконец, определим нашу функцию, чтобы компьютер, встретив её вызов, не растерялся, а выполнил то, что мы хотим:

Что включает в себя определение этой функции?

Прежде всего ключевое слово Функция следом за которым идёт имя, которое мы придумали сами.

Затем следуют имена параметров, заключенные в круглые скобки. Параметры — это данные, которые мы передадим в нашу функцию при её вызове. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Она с ними что-то сделает и возвратит результат. Каждый параметр имеет своё имя, которое мы также придумываем сами. Это имя можно использовать только внутри функции.

Дальше идёт тело. Это команды компьютеру, которые будут выполняться в тот момент, когда мы сделаем вызов нашей функции. Тело заканчивается ключевым словом КонецФункции.

Внутри функции могут выполнятся абсолютно любые знакомые нам команды: условные операторы, циклы и прочее. Но хотя бы один раз внутри каждой функции должна присутствовать команда:

Где вместо Результат может быть любое выражение, которое вернётся из функции в качестве её результата.

Мы можем вызывать функцию столько раз в программе сколько нам потребуется.

Процедуры это те же самые функции, но они не возвращают результат и объявляются при помощи других ключевых слов: Процедура и КонецПроцедуры.

Но функции и процедуры не следует писать лишь бы где! Для определения наших функций мы будем использовать новый модуль. Чтобы его добавить следуйте инструкциям ниже.

1. Раскройте список «Общие» в дереве конфигурации.

2. Найдите в нём пункт «Общие модули» и нажмите на нём правой кнопкой мыши. Выберите «Добавить».

3. Добавился модуль. В правой части окна конфигуратора задайте его имя и свойства, как показано ниже.

Внимание! Пожалуйста, ещё раз убедитесь, что вы поставили галки (Клиент, Сервер, Внешнее соединение) также, как на рисунке выше.

4. Перейдите в этот модуль. Всё! Здесь можно писать наши функции и процедуры. Напишите процедуру с именем Привет, без параметров, после вызова которой компьютер просто здоровается с нами.

Обратите внимание на ключевое слово Экспорт, которое идёт следом за круглыми скобками. Его наличие обязательно, так как мы определяем функцию в одном модуле (Уроки), а использовать будем совсем в другом (модуль управляемого приложения).

5. Теперь вернитесь в модуль управляемого приложения.

6. И сделайте вызов нашей процедуры. Так как она находится в другом модуле к её имени добавляется «Уроки.«.

7. Запустите 1С и убедитесь, что всё работает!

helpme1c.ru

Процедура или Функция?

Со временем почему-то перестают устраивать вещи, написанные лишь для того, чтобы они работали. Хочется красоты, стиля.
В тоже время хочется простых и понятных правил для поддержки этой красоты и этого стиля.
Данный вопрос относится к категории «Размышления над стилем».

Представим, что мы пишем некий код, в котором могут быть использованы как процедуры, так и функции. Код содержит участки, в которых могут произойти ошибки, и участки, в который ошибок мы не ожидаем. Вложенность вызовов может быть произвольной. В то же самое время хочется легким способом получить диагностику по ошибке настолько подробной, чтобы все цепочки вызовов были «как на ладони».

Исходя из этих соображений и возникает желание определить чёткие критерии того, в каком случае стоит использовать Процедуры, а в каком случае Функции.

Небольшой опрос среди своих сослуживцев выявил несколько разных подходов к этой проблеме.
Но из позитивных замечаний получилось выделить несколько идей.

Подход 1. Исходя из определения Процедуры и Функции
Тут всё просто, читаешь документацию и, помня, что процедура отличается от функции только возвращаемым значением, решаешь — если возврат значения не нужен, то Процедура, если нужен, то Функция. Тем не менее, процедура может изменять значения параметров, переданных по Ссылке.

В контексте данного подхода, есть два разветвления на тему, как Фукнция должна возвращать параметры:

Подход 1.1 Функция возвращает один параметр через возврат, остальные через переменные, переданные по ссылке. На выходе процедуры мы включаем некую обработку ошибок, зависящую от возвращаемого значения.

Подход 1.2 Функция не может возвращать значения через свои параметры и должна это делать только через значение возврата. Если необходимо вернуть более одного значения, то эти значения необходимо упаковать в массив, список значений, прочее.
Если в ходе работы появилась ошибка, то будет возвращено значение Неопределено.

Подход 2. Процедуры — они как МАКРОСЫ
При этом подходе Процедура используется всего лишь для того, чтобы объединить несколько вызовов однотипных действий.
В этом подходе использование Процедуры носит локальный характер — просто для того, чтобы сократить код.

Подход 3. Всё на свете — Функции, но без идиотизма
1. Всегда используются функции, процедуры не используются.
2. Функция возвращает либо «», либо строковое описание ошибки, все изменения данных идут по ссылке через выходные параметры
3. Для исключения идиотизма в применении правила 2, для функций, возвращающих гарантировано одно значение, без ошибок внутри функции, используется передача значения через возврат функции. Например, ЭтоКорректнаяДата(вхДата)

Вот пока что получилось. А какие есть подходы у вас?

infostart.ru

Функции и процедуры 1С Предприятие 7.7

В этой статье описываются полезные функции и процедуры, помогающие эффективно работать с различными типами данных в системе «1С:Предприятие 7.7».

//функция проверяет, является ли переданный в функцию Символ числом
Функция ЭтоЧисло ( Символ ) Экспорт
Если (КодСимв( Символ )>= 48 ) И (КодСимв( Символ ) 0 Тогда
Документ = Документ + » (строка » + НомерСтроки + «)» ;
КонецЕсли;
//сообщение
Сообщить( Документ + «: » + Текст , Символ );
КонецПроцедуры

//процедура выполняется при добавлении нового значения в интерактивный список значений
Процедура сзДобавить ( Список , Тип , Вид , Длина , Точность , Подсказка ) Экспорт
//тип
Если ( Тип = «Справочник» ) Или ( Тип = «Документ» ) Тогда
Тип = Тип + «.» + Вид ;
КонецЕсли;
//значение
Если Список . ТекущаяСтрока ()= 0 Тогда
Значение = «» ;
Иначе
Значение = Список . ПолучитьЗначение ( Список . ТекущаяСтрока ());
КонецЕсли;
//выбор
Если ВвестиЗначение( Значение , Подсказка , Тип , Длина , Точность )= 1 Тогда
Список . ДобавитьЗначение ( Значение );
КонецЕсли;
КонецПроцедуры

//процедура выполняется для изменения значения интерактивного списка значений
Процедура сзИзменить ( Список ) Экспорт
Позиция = Список . ТекущаяСтрока ();
Если Позиция = 0 Тогда
Возврат;
КонецЕсли;
//
Значение = Список . ПолучитьЗначение ( Список . ТекущаяСтрока ());
Тип =ТипЗначенияСтр( Значение );
Если ( Тип = «Справочник» ) Или ( Тип = «Документ» ) Тогда
Тип = Тип + «.» + Значение . Вид ();
Подсказка = Значение . Вид ();
Иначе
Подсказка = Тип ;
КонецЕсли;
Если ВвестиЗначение( Значение , Подсказка , Тип )= 1 Тогда
Список . УстановитьЗначение ( Позиция , Значение );
КонецЕсли;
КонецПроцедуры

//процедура выполняется при удалении значения из интерактивного списка значений
Процедура сзУдалить ( Список ) Экспорт
Если Список . ТекущаяСтрока ()> 0 Тогда
Список . УдалитьЗначение ( Список . ТекущаяСтрока ());
КонецЕсли;
КонецПроцедуры

//процедура изменяет позицию значения интерактивного списка значений
Процедура сзСдвинуть ( Список , Количество ) Экспорт
Если ( Количество > 0 ) И ( Список . ТекущаяСтрока ()= Список . РазмерСписка ()) Тогда
Количество = 1 — Список . РазмерСписка ();
ИначеЕсли ( Количество Размер Тогда
Количество = Список . РазмерСписка ()- Размер ;
Список . УдалитьЗначение ( Размер + 1 , Количество );
КонецЕсли;
КонецПроцедуры

//функция выгружает значения колонки таблицы значений в список значений
Функция сзКолонка ( М , Колонка ) Экспорт
Список =СоздатьОбъект( «СписокЗначений» );
//
В =СоздатьОбъект( «ТаблицаЗначений» );
М . Выгрузить ( В . Колонка );
В . Свернуть ( Колонка ,);
В . Выгрузить ( Список . Колонка );
Возврат( Список );
КонецФункции

//процедура преобразует строку со значениями в список значений
Процедура сзПарсить ( Список , Текст ) Экспорт
Если ПустаяСтрока( Текст )= 0 Тогда
Если Найти( Текст , «=» )= 0 Тогда
//делитель — Запятая
Значение =СтрЗаменить(СокрЛП( Текст ), «,» ,Симв( 34 )+ «,» +Симв( 34 ));
Значение =Симв( 34 )+ Значение +Симв( 34 );
Список . ИзСтрокиСРазделителями ( Значение );
Иначе
//делитель — Точка с запятой
Текст =СтрЗаменить( Текст , «;» ,РазделительСтрок);
Для й = 1 По Текст . КоличествоСтрок () Цикл
Стр = Текст . ПолучитьСтроку ( й );
Если ПустаяСтрока( Стр )= 0 Тогда
Позиция =Найти( Стр , «=» );
Если Позиция > 0 Тогда
Идентификатор =Лев( Стр , Позиция — 1 );
Значение =Сред( Стр , Позиция + 1 );
Список . Установить (СокрЛП( Идентификатор ),СокрЛП( Значение ));
Иначе
Список . ДобавитьЗначение (СокрЛП( Стр ));
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

//процедура позиционирует строку списка значений на заданном значении
Процедура сзУстановить ( Список , Значение ) Экспорт
Позиция = Список . НайтиЗначение ( Значение );
Если Позиция > 0 Тогда
Список . ТекущаяСтрока ( Позиция );
КонецЕсли;
КонецПроцедуры

//процедура сдвигает строку в таблице значений;
//если сдвигается последняя строка вниз, то строка становится первой;
//если сдвигается первая строка вверх, то строка перемещается в конец таблицы значений
Процедура Количество = 1 — М . КоличествоСтрок ();
ИначеЕсли ( Количество Процедура тзУдалитьСтроку ( М ) Экспорт
//запоминание текущей строки
ТекСтрока = М . ТекущаяСтрока ()- 1 ;
//удаление
М . УдалитьСтроку ();
//позиционирование
Если М . КоличествоСтрок ()> 0 Тогда
ТекСтрока =Мин( ТекСтрока , М . КоличествоСтрок ());
М . ТекущаяСтрока ( ТекСтрока );
КонецЕсли;
КонецПроцедуры

//процедура находит документ с заданным номером в таблице значений с документами
Процедура гЖурнал_Найти ( М ) Экспорт
НомерДок = 0 ;
Если ВвестиЧисло( НомерДок , «Номер документа» , 5 , 0 )= 1 Тогда
//поиск по номеру в выборке
Если М . НайтиЗначение ( НомерДок ,, «Номер» )= 0 Тогда
Предупреждение( «Документ № » + НомерДок + » не найден» );
Возврат;
КонецЕсли;
//поиск документа
Список =СоздатьОбъект( «СписокЗначений» );
М . ВыбратьСтроки ();
Пока М . ПолучитьСтроку ()= 1 Цикл
Если М . Номер = НомерДок Тогда
Список . ДобавитьЗначение ( М . ТекущийДокумент );
КонецЕсли;
КонецЦикла;
//выбор
Значение = «» ;
Если Список . РазмерСписка ()= 1 Тогда
Значение = Список . ПолучитьЗначение ( 1 );
ИначеЕсли Список . ВыбратьЗначение ( Значение , «Выбор документа» )= 0 Тогда
Возврат;
КонецЕсли;
//позиционирование
НомерСтр = 0 ;
М . НайтиЗначение ( Значение , НомерСтр , «ТекущийДокумент» );
М . ТекущаяСтрока ( НомерСтр );
КонецЕсли;
КонецПроцедуры

//установление автоширины колонок таблицы
Процедура гАвтоШиринаКолонок ( Таб , НачКол , НачСтр ) Экспорт
Для НомерКол = НачКол По Таб . ШиринаТаблицы () Цикл
МаксШирина = 0 ;
Для НомерСтр = НачСтр По Таб . ВысотаТаблицы () Цикл
ТекШирина =СтрДлина( Таб . Область ( НомерСтр , НомерКол ). Текст );
МаксШирина =Макс( МаксШирина , ТекШирина );
КонецЦикла;
Таб . Область (, НомерКол ). ШиринаСтолбца ( МаксШирина + 2 );
КонецЦикла;
КонецПроцедуры

//функция проверяет, равен ли месяцу интервал между заданными датами
Функция ЭтоМесяц ( ДатаН , ДатаК ) Экспорт
Если Не( ДатаН =НачМесяца( ДатаН )) Тогда
Возврат( 0 );
ИначеЕсли Не( ДатаК =КонМесяца( ДатаК )) Тогда
Возврат( 0 );
ИначеЕсли ДатаН =НачМесяца( ДатаК ) Тогда
Возврат( 1 );
Иначе
Возврат( 0 );
КонецЕсли;
КонецФункции

//функция возвращает количество полных месяцев между датами
Функция гМесяцев ( ДатаН , ДатаК ) Экспорт
Если ДатаН гСрокДействия ( ДатаДок , Период , Вид = «Основной» ) Экспорт
К =СоздатьОбъект( «Календарь.» + Вид );
К . УчитыватьПраздники ( 1 );
Если К . Автозаполнение ( ДатаДок ,ДобавитьМесяц( ДатаДок + Период , 1 ))= 1 Тогда
Возврат К . ПолучитьДату ( ДатаДок , Период );
КонецЕсли;
КонецФункции

//функция определяет количество рабочих дней в интервале дат
Функция гРабочиеДни ( ДатаН , ДатаК , Вид = «Основной» ) Экспорт
К =СоздатьОбъект( «Календарь.» + Вид );
К . УчитыватьПраздники ( 1 );
Если К . Автозаполнение ( ДатаН , ДатаК )= 1 Тогда
Возврат К . Дней ( ДатаН , ДатаК );
КонецЕсли;
КонецФункции

//функция определяет количество праздничных дней в интервале дат
Функция гПраздники ( ДатаН , ДатаК ) Экспорт
Кол = 0 ;
//
П =СоздатьОбъект( «Праздники» );
П . ВыбратьДаты ( ДатаН , ДатаК );
Пока П . СледующаяДата ()= 1 Цикл
Если НомерДняНедели( П .Дата) 0 Тогда
Если А . ВыбратьЗначение ( Ответ . 1 )= 1 Тогда
Значение . Выгрузить ( гПакет );
гПакет . Установить ( «Таблица» , «» );
ОткрытьФормуМодально( «Отчет.» + Ответ , 1 + гПользователь . ФлагОтчет );
КонецЕсли;
КонецЕсли;
Иначе
//обработка — Кнопка
Значение . Выгрузить ( гПакет );
гПакет . Установить ( «Таблица» , Таблица );
Отчет = Значение . Получить ( «Отчет» );
ОткрытьФормуМодально( «Отчет.» + Отчет , Кнопка );
гПакет . Установить ( «Таблица» , «» );
КонецЕсли;
ИначеЕсли ТипЗначенияСтр( Значение )= «Строка» Тогда
Если ВРег(Лев(СокрЛП( Значение ), 6 ))= «ССЫЛКА» Тогда
СтрокаЗапуска =СокрЛП(Сред( Значение , 7 ));
ЗапуститьПриложение( СтрокаЗапуска );
Иначе
Флаг = 1 ;
КонецЕсли;
Иначе
//расшифровка — Стандартная обработка ячейки
Флаг = 1 ;
КонецЕсли;
КонецПроцедуры

//функция определяет сумму первого события за период по заданным остаткам на начало и конец периода
Функция гПервоеСобытие ( НачД , НачК , КонД , КонК ) Экспорт
//первое событие
СуммаД =Макс( КонД — НачД , 0 );
СуммаК =Макс( КонК — НачК , 0 );
//сумма
Возврат( СуммаД + СуммаК );
КонецФункции

В статье описаны функции и процедуры, используемые в программе «1С:Предприятие 7.7» для работы со справочниками, документами, списками значений, таблицами значений и с прочими агрегатными типами данных. Образцы практического применения описанных средств Вы сможете найти в статьях «Отчёты для 1С» и «Обработки для 1С».

www.sibeaz.ru

В краткой статье описаны функции для для работы с ёкселем (оригинал: http://www.infostart.ru/blogs/718/ )
// функция устанавливает связь с EXCEL
// в качестве параметра требуется имя открываемого файла
// в случае удачи возвращает соответствие из обьектов ОЛЕ, в случае не удачи — неопределено
Функция EXCEL_УстановитьСвязь (ИмяФайла)Экспорт
Результат = Неопределено;
#Если Клиент Тогда
Состояние(«Идет установка связи, ждите. «);
#КонецЕсли
Попытка
Результат = Новый Соответствие();
BaseOLE = Новый COMОбъект(«Excel.Application»);
Результат.Вставить(«EXCEL», BaseOLE);
ExcelФайл = BaseOLE.WorkBooks.Open (ИмяФайла);
Результат.Вставить(«ExcelФайл», ExcelФайл);
МассивЛистов = Новый Массив();
КоличествоЛистов = ExcelФайл.Sheets.Count;
Для е = 1 по КоличествоЛистов Цикл
МассивЛистов.Добавить(ExcelФайл.Sheets(е));
КонецЦикла;
Результат.Вставить(«Листы», МассивЛистов);

Исключение
Результат = Неопределено;
#Если Клиент Тогда
Сообщить(«Ошибка создания обьекта Microsoft Excel» + ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
Возврат Результат;
КонецФункции

// функция разрывает связь с 1с 7.7
// в качестве параметра требуеться структура созданая при установке соединения
Процедура EXCEL_РазорватьСвязь (Соответстие) Экспорт
Попытка
Соответстие[«EXCEL»].DisplayAlerts = 0;
Соответстие[«ExcelФайл»].Close();
Соответстие[«EXCEL»].DisplayAlerts = 1;
Соответстие[«EXCEL»].Quit();
Соответстие[«EXCEL»] = Неопределено;
Исключение
#Если Клиент Тогда
Сообщить(ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
КонецПроцедуры

// функция получает данные ячейки и возвращаеть структуру соответствий, или неопределено в случае неудачи
//
// В любом случае возвращаем соостветствие «Значение» и «ЭтоФормула», остальное по флагам
//
Функция EXCEL_ПолучитьЗначениеЯчейки (ExcelЛист, НомерСтроки, НомерКолонки, ПолучатьТекстФормулы = ложь, ПолучатьОформление = ложь)
Результат = Новый Соответствие();
Попытка
ТекущееЗначениеФормулы = ExcelЛист.Cells(НомерСтроки, НомерКолонки).Formula;
Если ТекущееЗначениеФормулы <> «» Тогда
Если Лев(ТекущееЗначениеФормулы, 1) <> «=» Тогда
Результат.Вставить(«ЭтоФормула», Ложь);
Результат.Вставить(«ЗначениеЯчейки», ExcelЛист.Cells(НомерСтроки, НомерКолонки).value);
Иначе
Результат.Вставить(«ЭтоФормула», Истина);
Если Лев(СокрЛП(ExcelЛист.Cells(НомерСтроки, НомерКолонки).text),1) = «#» Тогда
Результат.Вставить(«ЗначениеЯчейки», Неопределено);
Иначе
Результат.Вставить(«ЗначениеЯчейки», ExcelЛист.Cells(НомерСтроки, НомерКолонки).value);
КонецЕсли;

Если ПолучатьТекстФормулы Тогда
Результат.Вставить(«ТекстФормулы», СокрЛП(ТекущееЗначениеФормулы));
КонецЕсли;
КонецЕсли;
Иначе
Результат.Вставить(«ЭтоФормула», Ложь);
Результат.Вставить(«ЗначениеЯчейки», ExcelЛист.Cells(НомерСтроки, НомерКолонки).value);
КонецЕсли;
Если ПолучатьОформление Тогда
Результат.Вставить(«ЦветЯчейки», СокрЛП(ExcelЛист.Cells(НомерСтроки, НомерКолонки).Interior.ColorIndex));
// здесь можно добавить и другие.
КонецЕсли;
Исключение
Результат = Неопределено;
КонецПопытки;
Возврат Результат;
КонецФункции

// функция получает данные ячейки и значение
//
// В любом случае возвращаем соостветствие «Значение» и «ЭтоФормула», остальное по флагам
//
Функция EXCEL_ПолучитьЗначениеЯчейки2 (ExcelЛист, НомерСтроки, НомерКолонки)
Результат = EXCEL_ПолучитьЗначениеЯчейки (ExcelЛист, НомерСтроки, НомерКолонки);
Если Результат = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
Возврат Результат[«ЗначениеЯчейки»];
КонецФункции

// будем подключаться
СоответстиеЗагрузки = EXCEL_УстановитьСвязь (ТекущийФайл.ПолноеИмя);
Если СоответстиеЗагрузки = Неопределено тогда
Возврат;
КонецЕсли;
Для каждого ТекущаяСтраница из СоответстиеЗагрузки[«Листы»] Цикл
Значение_X1Y1 = EXCEL_ПолучитьЗначениеЯчейки2 (ТекущаяСтраница, 1, 1);
КонецЦикла;

www.1c1c1c.ru

Это интересно:

  • Закон от 19051995 81 фз 19051995 о государственных пособиях гражданам имеющим детей ОТПУСК ПО БЕРЕМЕННОСТИ И РОДАМ российском законодательстве данный вопрос регулирует ст 255 Трудового кодекса работающие женщины, находящиеся в состоянии беременности, или имеющие малолетнего ребенка, получают право на […]
  • 110 приказ по рецептам Новые правила отпуска лекарственных препаратов. Приказ 403н После принятия приказа Минздрава России от 20 декабря 2013 г. № 1175н «Об утверждении порядка назначения и выписывания лекарственных препаратов, а также форм рецептурных бланков на лекарственные препараты, порядка оформления […]
  • Закон рф 2003-1 от 09121991 г Закон рф 2003-1 от 09121991 г О НАЛОГАХ НА ИМУЩЕСТВО ФИЗИЧЕСКИХ ЛИЦ (в ред. Закона РФ от 22.12.1992 N 4178-1; Федеральных законов от 11.08.1994 N 25-ФЗ, от 27.01.1995 N 10-ФЗ, от 17.07.1999 N 168-ФЗ, от 24.07.2002 N 110-ФЗ, от 22.08.2004 N 122-ФЗ, от 05.04.2009 N 45-ФЗ, от 28.11.2009 […]
  • Нотариусы белгород тютюнов Нотариусы города Белгород Ниже представлен список нотариусов в выбранной категории. Чтобы посмотреть подробную информацию по конкретному нотариусу, кликните по ФИО нотариуса. Нотариус Бондарь Валентина Павловна Телефон: +7 (4722) 54-92-75 Адрес: 308012, г. Белгород, ул. Костюкова, д. 34 […]
  • 190 лС сколько налог Транспортный налог Автомобили легковые с мощностью двигателя (с каждой лошадиной силы): - до 100 л.с. включительно - свыше 100 л.с. до 125 л.с. включительно - свыше 125 л.с. до 150 л.с. включительно - свыше 150 л.с. до 175 л.с. включительно - свыше 175 л.с. до 200 л.с. включительно - […]
  • Нотариус в волжском районе самарской области Нотариус в волжском районе самарской области СПИСОК НОТАРИУСОВ САМАРСКОЙ ОБЛАСТИ (по состоянию на 17.11.2014) N п/п Фамилия, имя, отчество нотариуса Адрес и телефон нотариальной конторы Выдача свидетельств о праве на наследство (по первым буквам фамилии наследодателя) НОТАРИУСЫ г. […]
  • Выплаты единовременного пособия при усыновлении Выплаты, пособия и жилищные льготы Выплаты усыновителям - от Российской Федерации В зависимости от возраста ребенка усыновители имеют право на следующие федеральные (т.е. общероссийские) выплаты : (1) Пособие по беременности и родам, которое выплачивается за период со дня усыновления и […]
  • Приказ федеральной службы по н Приказ федеральной службы по н ФЕДЕРАЛЬНАЯ ТАМОЖЕННАЯ СЛУЖБА ПРИКАЗ от 24 ноября 2010 г. № 2187 Об отзыве свидетельства о включении в Реестр таможенных брокеров (представителей) ЗАО «Балтик Лэнд Брокер» В связи с отсутствием обеспечения уплаты таможенных пошлин, налогов на основании […]