Автоматизация ввода адреса в справочник Контрагенты

В 1с существует возможность подключить базу адресов КЛАДР и при вводе использовать адрес из этой базы. В компоненте 1с 77 «Зарплата и кадры», в справочнике сотрудники есть спец. кнопка, которая открывает диалог с выбором значений из КЛАДР и помещает затем адрес в нужном формате в соответствующее поле справочника сотрудники. Эту кнопку можно скопировать в форму справочника Контрагенты, чтобы автоматизировать ввод адреса и в нем. При этом нужно не забыть поменять входной параметр функции, которая вызывается из кнопки вызова классификатора: «глВводАдреса(ПочтовыйАдрес)», здесь ПочтовыйАдрес имя переменной, куда будет помещаться строка с адресом в нужном формате.

39 comments Март 26th, 2008

Способы подготовки отчетов. Использование таблицы значений.

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

Тз = СоздатьОбъект(«ТаблицаЗначений»);

Тз.НоваяКолонка(«Колонка1»);

Тз.НоваяКолонка(«Колонка2»);

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

Так, например, таблицу значений можно использовать, для обобщения результатов из двух запросов.

При этом чтобы добавить новое значение (новую строку) в таблицу нужно выполнить две команды:

Тз.НоваяСтрока();

Тз.Колонка1 = Значение1;

Тз.Колонка2 = Значение2;

Чтобы сортировать таблицу значений по Колонке1, а затем по Колонке2:

Тз.Сортировать(«Колонка1, Колонка2»);

Для того, чтобы сжать таблицу по Колонке1, просуммировав Колонку2:

Тз.Свернуть(«Колонка1», «Колонка2»);

Для того, чтобы найти строку по значению Колонки1 (значение возвращается в переменную НомерСтрокиГдеНайдено, если значение не найдено НайтиЗначение()=0):

Тз.НайтиЗначение(Значение, НомерСтрокиГдеНайдено, НомерКолонки);

56 comments Февраль 18th, 2008

Взаимодействие двух таблиц значений в форме 1С 7 версии.

tz.jpg

Формы (диалоги) в программе 1с отличаются от форм, которые используются в Visual Basic’е или VC++, прежде всего тем, что имеют меньше свойств. С одной стороны это упрощает работу, поскольку такие формы легче настраивать, с другой такие формы лишены функционала. Так я столкнулся с небольшой проблемой, когда мне понадобилось поместить на форму две таблицы значений, которые должны взаимодействовать друг с другом. Другими словами, при выборе строки в одной таблице значений, должна меняться (заполняться нужными значениями) вторая таблица значений.

Но поскольку форма в 1с (в отличие от привычной формы в Access например), не имеет свойства «при изменении» (так же как и элемент «таблица значений») эта задача превратилась в небольшую проблему.

Решить ее получилось, используя элемент текст, в который я, в поле формула вставил функцию «Обновить()», в которую, в свою очередь, прописал алгоритм обновления Элемента «Таблицы Значений». Эта функция всегда, возвращает пустое значение («»), поэтому на внешний вид формы не влияет.

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

148 comments Январь 15th, 2008

Как вывести текст по вертикали в таблице 1с

1С не имеет стандартных средств для вывода текста по вертикали. Тем не менее существует два решения этой проблемы:
1. Использовать внешнюю компоненту ActiveText
2. Использовать объект “Excel Лист”, который можно вставить через панель инструментов программы. 

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


 

140 comments Декабрь 28th, 2007

Отличия конфигураций 1с версии 8

Базовая версия:
закрыта от внесения в нее изменений пользователями. Тем не менее, пользователи базовой версии имеют возможность редактировать шаблоны печатных форм первичных документов. Здесь же существуют ограничения Стандартной версии.
 

Отличие возможностей Cтандартной версии от возможностей версии ПРОФ:
1. в стандартной версии может быть использован только один план счетов;
2. количество субконто для каждого счета (то есть количество разрезов аналитики по каждому счету) в стандартной версии не может быть более 3;
3. уровень иерархии элементов справочников не может превышать 4;
4. в стандартной версии не поддерживаются “сложные проводки”, то есть проводки, имеющие один счет дебета и несколько счетов кредита или наоборот;
5. в стандартной версии не поддерживается “разделитель учета” - средство, позволяющее в одной информационной базе вести бухгалтерский учет по нескольким предприятиям. Разумеется, существует возможность с помощью стандартной версии вести учет по нескольким предприятиям на одном компьютере в отдельных информационных базах.

84 comments Декабрь 26th, 2007

Изменение атрибута «код» у элементов всего справочника

Предположим, по каким либо причинам, появилась необходимость изменить атрибут «Код» у всех элементов справочника. Например, у элементов справочника «Товар» был текстовый код АБ0001 – АБ9999.  Его необходимо изменить на АС0001 – АС9999. При попытке изменить код стандартным перебором элементов, произойдет ошибка «Не удается изменить код элемента, нарушена последовательность выборки».

Для обхода этой проблемы, можно использовать таблицу значений (тз). Т.е. загрузить в тз «Коды» всех элементов справочника, затем, организовать перебор строк тз, и при этом находить и изменять элементы справочника по одному, используя метод справочника «НайтиПоКоду(…)» .

 

99 comments Декабрь 26th, 2007

Изменение элементов справочника из модуля формы документа

Описание проблемы.

Предположим, есть документ, в котором в качестве одного из элементов табличной части, используется справочник. Элемент справочника, в свою очередь, необходимо изменять в зависимости от документа. Например: есть документ «Прием Полисов из Страховой компании», один из атрибутов не табличной части документа является поле «Страховая Компания». В табличной части документа есть поле «Полис». В «Полисе» в свою очередь, есть также атрибут «Страховая компания». Для автоматизации процесса приема Полисов из страховой компании, требуется сделать так, чтобы при добавлении «Полиса» в табличную часть документа, атрибут «Страховая Компания» в полисе, заполнялся автоматически.

Следует отметить, что если элемент справочника «Полис» создается и заполняется до добавления в табличную часть документа, то проблем не возникает. Если же «Полис» уже выбран и находится в табличной части документа, изменить его, просто, обратившись из модуля формы к элементу, не удастся. При попытке выполнения следующего кода, будет сгенерирована ошибка «Объект заблокирован»:

            Полис.СК = «Росгосстрах»;
            Полис.Записать();
Обойти эту проблему, можно используя временную переменную и метод справочника «НайтиЭлемент». Следующий пример кода, не вызовет ошибок:

            п= СоздатьОбъект(”Справочник.Полисы”);
           
п.НайтиЭлемент(Полис);
            
п.СК = «Росгосстрах»;
            Полис.Записать();

49 comments Декабрь 26th, 2007

Работа в 1C 7.7 под Unix системами

 

Компания Etersoft, предложила программный продукт WINE@Etersoft, для работы с программой 1С в Unix среде. Как следует из названия, WINE@Etersoft, реализована в виде доработанного пакета WINE и отличается от обычной сборки WINE способностью поддерживать коммерческие российские продукты, например «1С:Предприятие 7.7».

Для запуска Windows-приложений не требуется установленная ОС Windows или библиотеки DLL из нее — в WINE самостоятельно реализованы все функции WinAPI, необходимые для работы программ.

Для обеспечения многопользовательского режима работы, существует сетевая версия WINE@Etersoft 1.0 Network.

Кроме того эти программные продукты поддерживают так же и работу правовых баз «Консультант» и «Гарант».

1 comment Декабрь 6th, 2007

Клавиатурные сокращения 1с (Горячие клавиши 1с, Клавиши быстрого запуска)

Предприятие
Документ
Ctrl + Enter Кнопка по умолчанию

F4 Выбор поля (альтернатива мыши)

Shift + F4 Очистить поле

Tab Прямой обход полей

Shift + Tab Обратный обход полей

Справочник
Действия
Ins Новый элемент

Ctrl + F9 Новая группа

Shift + Enter Изменить элемент

Alt + Д + Р Просмотр элемента или группы

F9 Копировать элемент или группу

Del Пометить элемент/Снять пометку

F5 История значения

Alt + Д + А Найти в дереве

Ctrl + F5 Перенести в другую группу

Alt + Д + Ч Подчиненный справочник

Сортировка
Ctrl + 1 Сортировка справочника по коду

Ctrl + 2 Сортировка справочника по наименованию

Ctrl + 3 Сортировка справочника по реквизиту

Ctrl + стрелка вверх На уровень вверх

Ctrl + стрелка вниз На уровень вниз

Управление иерархией справочника

 

Конфигуратор
Конфигурация
Alt + К + Enter Открыть конфигурацию

Alt + К + Т Поиск во всех текстах

Alt + К + О Объединение конфигураций

Alt + K + З Загрузить измененную конфигурацию

Alt + К + Е Конвертирование данных

Администрирование
Alt + А + П Пользователи

Alt + А + Х Сохранить данные

Alt + А + В Восстановить данные

Alt + А + Ы Выгрузить данные

Alt + А + Г Загрузить данные

Alt + А + Н Настройка журнала регистрации

Alt + А + Р Распределенная ИБ

Alt + А + Р + У Управление

Alt + А + Р + А Автообмен

Действия
Alt + Д + Т Открыть в отладчике

Alt + Д + К Синтаксический контроль запросов

Alt + Д + И Синтаксический контроль

Alt + Д + Р Процедуры и функции модуля

Файл
Ctrl + N Новый

Ctrl + O Открыть

Ctrl + S Сохранить

Ctrl + P Печать

Alt + Ф + Р Сравнить файлы

Alt + Ф + З Закрыть

Ctrl + P Печать

Alt + Ф + Р + Р + Enter Просмотр

Alt + Ф + М Параметры страницы

Работа с закладками
Shift + F2 Предыдущая закладка

Alt + F2 Закладка

F2 Следующая закладка

Работа с блоком

Ctrl + Shift +F Форматировать

Tab Сдвинуть вправо

Shift + Tab Сдвинуть влево

Ctrl + Num / Добавить комментарий

Ctrl + Shift + Num / Удалить комментарий

Окна
Ctrl + F4 Закрыть окно

Ctrl + Shift + F6 Следующее окно

Ctrl + F6 Предыдущее окно

Alt + О + К Каскадом

Ctrl + Shift + z Закрыть окно сообщений

Ctrl + Alt + F Следующая страница

Ctrl + Alt + B Предыдущая страница

Alt + О + Р Разделить окно

Поиск и замена
Ctrl + Shift + F3 Заменить

Ctrl + F3 Искать

F3 Повторить поиск

Alt + F3 Искать назад

Shift + F3 Искать вперед

Ctrl + Shift + L Переход к строке

Сервис
Ctrl + F2 Калькулятор

Alt + С + С Синтаксис помощник

Alt + С + Н Настройка шаблонов

Alt + С + В Временная блокировка

F11 Запуск предприятия

F12 Запуск отладчика

Помощь
F1 Помощь

Shift + F1 Содержание

Ctrl + F1 Поиск в Синтакс-Помощнике

Alt + П + О О программе

Общие
Alt + Enter Свойства

Alt + F4 Выход

 

93 comments Ноябрь 7th, 2007

Параметры командной строки для запуска 1С

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

В 1с есть возможность, запускать программу, не выбирая режим работы, базу, пользователя и даже пароль. Сделать это можно с помощью параметров командной строки.

Для тех, кто не знает, как использовать параметры командной строки для программы, я поясню, добавить параметры можно двумя способами:

  1. изменить ярлык (или копию ярлыка) программы (что быстрее, но на мой взгляд не удобно);
  2. создать текстовый файл в блокноте с расширением “.cmd” или bat и в нем написать команду для запуска программы.

 

Программа 1с имеет следующие параметры:
1cv7.exe MODE [ /M | /D | /U | /N | /P ],

 где MODE - режим запуска, может принимать только одно из трех значений:

config - режим конфигуратора;

debug - режим отладчика;

enterprise - нормальный (рабочий) режим 1С.

 

Режим enterprise можно применять со следующими ключами:

 /M - запуск программы в монопольном режиме;

/D - каталог базы данных;

/U - рабочий каталог пользователя (каталог из списка пользователей игнорируется);

/N - имя пользователя;

/P - пароль пользователя;

/T<путь> - путь к временным файлам

/@<ИмяФайла> - для режима конфигуратора с указанием файла пакетного запуска

/W - инициализация Web расширения

Пример:

 

@echo off
Set pr=”C:\Program Files\1Cv77\BIN\” //путь к программе
Set db=”D:\archive\2SBDB\” //путь к базе
 

cd %pr% //переход в папку программы

start 1cv7s.exe config /D%db% /NUser1 /PPass1

 

 //запуск конфигуратора для пользователя User1 с паролем Pass1

 

P.S. команда start используется для того, чтобы не выводилось черное окошко командной строки windows.

Если заменить последнюю команду на:

start 1cv7s.exe enterprise /D%db% /NUser1 /PPass1
то будет выполнен простой запуск программы 1с.

 

2 comments Октябрь 31st, 2007

Previous Posts


Рубрики

Ссылки

Лента


[removed] (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter47677693 = new Ya.Metrika({ id:47677693, clickmap:true, trackLinks:true, accurateTrackBounce:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n[removed].insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); [removed]