Некоторые ПОЛЕЗНОСТИ, в т.ч. не связанные с ФАБИУС

Материал из Фабиус wiki
Перейти к: навигация, поиск

MS Office - интерфейс кардинально изменился с 2007

в т.ч. Excel

Переместить/Скопировать лист
Главная - Ячейки - Формат
Поменять местами строки и столбцы
- выделить и скопировать исходный фрагмент
- на чистом месте (чтоб не пересекались) ткнуть в верхнюю левую ячейку будущего повернутого фрагмента
- меню Главная, закладка Буфер обмена, стрелка вниз под словом Вставить и ТРАНСПОНИРОВАТЬ!!!
Отобразить закладку Разработчик (макросы, VB)
Параметры Excel, Основные (слева), "Показывать вкладку Разработчик на ленте" (справа)
Включить/отключить макросы
Закладка Разработчик, первый фрагмент справа внизу "Безопасность макросов"
Создать новый список, например, #i1, #i2, ..., #i0, #ia, #ib
Параметры Excel. Слева Основные, справа - Основные параметры работы с Excel. Кнопка Изменить списки.
Убрать апострофы (') у целой колонки
Выделить колонку, скопировать, вставить КАК ЗНАЧЕНИЕ.
Вместо 0 выводить пустую строку
Формат ячеек, закладка Число, (все форматы) - внизу, справа Тип
вместо Основной вставить 0;-0;;
### ### ##0,###;-### ### ##0,###;;@ = триадами только значащие + после зпт
Excel.VBA - примеры кода http://excelvba.ru/code
Описание - http://www.askit.ru и http://www.firststeps.ru/vba/excel
http://www.programm-school.ru/excel_vba Программирование для начинающих, раздел про Excel VBA.
ДЮЖЕ полезный сайт http://www.excel-vba.ru/chto-umeet-excel/
В Excel МесяцГод перенёсся как '20140301 в колонку Е3-E..., а хочется видеть Март 2014 года
новая колонка, ячейки которой
=ТЕКСТ(ДАТА(ПСТР(E3;1;4);ПСТР(E3;5;2);ПСТР(E3;7;2));"ММММ ГГГГ")&" года"
Определить номер последней ЗАПОЛНЕННОЙ строки/колонки на листе
Dim last_col as Integer 'пока максимум 256, а Integer - до 32К
Dim last_row as Long 'м.б. до 64К
вариант 1
last_col = Cells(1, Columns.Count).End(xlToLeft).Column 'встать в 1-й строке на последнюю из 256 колонок и метнуться влево до первой (самой правой от начала листа) непустой
last_row = Cells(Rows.Count, 1).End(xlUp).Row 'встать в 1-й колонке на последнюю из 64К строк и метнуться вверх до первой (самой нижней от начала листа) непустой
вариант 2
last_col [last_row] = Cells.SpecialCells(xlLastCell).Column [или .Row] 'SpecialCells - отбор ячеек по некоторому признаку-параметру (есть ещё константа xlCellTypeLastCell и у неё иное значение,чем у xlLastCell)
и ещё есть варианты
Некоторые функции EXCEL
substr = Mid
pos = InStr
replicate = String
at,rat,позиция подстроки в строке = InStrRev
str = Str, CStr
преобразования CStr, CBool, ...
Архитектура Excel
Application
Workbooks
Worksheets
Cells
Константы Excel
https://msdn.microsoft.com/ru-ru/library/office/microsoft.office.interop.excel.constants.aspx

в т.ч. Word

Помечать цветом ИСПРАВЛЕНИЯ
Вкладка Рецензирование (в Help обозвали Обзор)
Группа Отслеживание (в Help обозвали Регистрация изменений)
Исправления
Внизу на строке состояния rght btn галка на Исправления для отображения процесса

Порядок указания реквизитов доступа к FTP

протокол: // user : pswrd @ host [:port] [path]
ftp://visor:xxxyyy@212.248.40.154
Узнать свой ip-адрес (динамический): 2ip.ru

Для работы с .rdp (mstsc)

Посмотреть статический IP-адрес (Windos 7)
Windows 7: Панель упр. - Центр упр. сетями и общим доступом - (слева) Изменение пар-ров адаптера - rght btn на Подключение по лок.сети - Св-ва - встать на "Протокол интернета версии..." (=IPv4/6) - кнопка Св-ва
XP: На рабочем столе иконка Сетевое окр: rght btn Св-ва - Local Св-ва - Протокол TCP/IP Св-ва
Пуск - Настройка - Сетевые подкл - Local ... остальное так же.
Подключение к удал. раб. столу
mstsc.exe = MS Terminal Service Client - вызывается в cmd.exe
или Пуск - ПРОГРАММЫ - Стандартные (а вовсе не Настройка - Сетевые подключения)
Плавающее соединение через VPN (Белгород, f/e)
Изменение маршрута выполняется командой route, параметрами которой будут ip-адреса destination и gateway.
destination (узел) - смотрим в самом rdp: rght btn, Изменить, окно "Компьютер"
192.168.xx.yyy
gateway (шлюз) - смотрим справа внизу на значке резидентных сетей (монитор+вилка-трезубец)
click, встали на нужную сеть (Подключено), rght btn, "Состояние", закладка Подробно,
IPv4-адрес клиента 192.168.aa.bb
В строке поиска (поиск в Windows) набираем cmd, затем выше - на найденном cmd.exe - rght btn Запуск от имени Администратора.
Удаляем существующий маршрут командой (как определить gateway, см. выше)
route DELETE gateway
route DELETE 192.168.aa.bb
Добавляем новый маршрут, который сохранится при перезагрузке (ключ -p), командой
route ADD destination gateway -p
route ADD 192.168.xx.yyy 192.168.aa.bb -p
15-08-2016 15-10-25.png
Посмотреть существующие маршруты
все: route PRINT
начинающиеся с xxx: route PRINT xxx*

Операционная система и сторонние программы

Отключить звуки-предупреждения с клавиатуры
Настройка - Панель управ. - Звуки и аудиоуст., закладка Звуки,
Программные события (раздел Windows), а внизу в разделе Звуки выбрать Нет.
Посмотреть имя компьютера
иконка Мой компьютер, rght btn - Св-ва, закладка Имя комп.
РасShare'ить диск
иконка Мой компьютер, rght btn - Открыть. На нужном диске снова rght btn - Общий доступ и безопасность.
Закладка Доступ, галка Открыть общий доступ к этой папке.
Запустить процесс на другом компе сети
WMIC /NODE:target_ip PROCESS CALL CREATE имя_exe_с_путём
Расположена в Windows\System32\WBEM (help = WMIC /?)
Предупреждение об окончании лицензии через NN дней (когда соединяешься по rdp)
regedit - HKEY_LOCAL_MACHINE - SOFTWARE - MicroSoft - MSLicensing. Удалить по rght btn.
Про сообщение ошибки создания хранилища лицензий rdp - см. R273 28.10.13
Отключить "автоматическое обновление" системы через INet. Заходить с учётной записью Администратор.
а) Пуск - Настройка - Панель управления - Автоматическое обновление.
б) Пуск - Настройка - Панель управления - Система. Закладка Автоматическое обновление.
в) Мой компьютер - rght btn Св-ва). Закладка Автоматическое обновление.
г) Пуск - Настройка - Панель управления - Центр обеспечения безопасности. Внизу "Настройка параметров безопасности", Автоматическое обновление.
А ежели всё равно не снимается "(.) Автоматически", т.е. вроде я и не Администратор:
Пуск - Выполнить - gpedit.msc
Политика Локальный компьютер
Конф-я пользователя
Админ. шаблоны
Компоненты Win
Win Update
ПОКАЗЫВАТЬ СКРЫТЫЕ файлы
в Windows7
Пуск - Компьютер - Упорядочить (кнопка слева вверху) слева от "Свойств системы"
в Упорядочить есть пункт про Свойства папки - где-то посерёдке.
в Windows10
Открываем (в explorer'е) любую папку. Если сверху нет закладок Файл, Главная, Поделиться, Вид, Управление, жмём Alt или Ctrl, - панель с этим меню должна появиться в верхней части экрана.
Шагаем в Вид и ищем Скрытые элементы, ставим галку.
Редактирование Автозагрузки в Windows 7
http://w7q.ru/windows7/upravlenie-avtozagruzkoy-programm-v-windows-7/
Перекодировка - декодер кириллицы http://2cyr.com/decode/
On-line сервисы, bl2.ru Например, кодирование/раскодировние русских букв в строке адреса браузера:
http://www.bl2.ru/programing/urlencode.html
Список служб Windows http://shera-em85.narod.ru/data/sluz.htm
http://www.asf.ru/docs/services/index.html
http://webhamster.ru/mytetrashare/index/mtb0/1366368330ignxo81rsx
Управление дисками
cmd>DiskPart
Расшифровка системных переменных
Панель упр. - Система - (слева) Дополн.пар-ры системы, (внизу) кнопка Переменные среды
Где расположен сист. реестр?
 %systemroot%\system32\config (windows\system32\config)
Создать/скопировать Профиль пользователя
XP: Мой компьютер (пуск) - rght btn - Свва - вкладка Дополнительно - прямоугольник Профили польз.
- кнопка Параметры - кнопки создать и скопировать.
Формы деклараций
http://mvf.klerk.ru/blank/1152004.htm
http://www.buhsoft.ru/blanki
POWERSHELL (аналог cmd)
http://powershell-guru.com/faq-powershell-in-russian/
Полное описание TotalCmd http://flint-inc.ru/tcinfo/all_cmd.ru.htm со встроенными командами!!
Например, для расширенного по функционалу сравнения панелей набираем прямо в строке коммандера cm_FileSync.
cm_CommandBrowser - вызов списка всех встроенных команд.
Почта Windows Live Mail
ПУТЬ доступа к каталогу с собщениями. Слева от меню Главная непонятный значок со стрелкой вниз.
Параметры (Options) - Почта. Закладка Дополнительно, кнопка Обслуживание (Maintainence), кнопка Банк сообщений.
arc32.exe ADS Architect
AdsSys без пароля, AdmUser ora=1
Help & Manual
Картинка слева вверху с зелёным треугольником, Open: сервер\HELP_FABIUS\fablis.hmxp
Слева в дереве Стандартные модули комплекса.
Свойства - внизу экрана закладка Topic Options.
Откомпилировать - сверху закладка Project, кнопка Publish, HTML Help.

в т.ч. НЮЛ

НЮЛ на Windows7
Драйверы - наш ftp\temp\distrib\Vfp-odbc\*.* - в любой каталог. Установить .msi.
Через нашу программу (закладка НЮЛ - Имя источника...) или Program files\Windows\System32\odbcad32.exe
добавляем в Пользовательский DSN драйвер Microsft Visual FoxPro. 2 раза Таблицы Visual FoxPro + тчк на Free...
НЮЛ - при переносе декл по прибыли период 46 вместо 34 оттого, что сначала зашли через декабрь (в самом НЮЛ) вместо квартала.
В самом НЮЛ - Настройки - Отчётные формы. Стоя на нужной вторая иконка - Периоды представлений:
Периоды представлений
Период Код периода
Год 1
1-е полугодие 2
2-е полугодие 3
Январь 4
Февраль... 5...
Декабрь 15
1-й квартал 16
...4-й квартал ...19
Код формы da - для декл по прибыли
Хранится это в BASES\formsperiod.dbf
arc32.exe
Вторая строка иконок
New Connection Wizard - создать соединение
Test Queries select * from formsperiod where kodf='da'
там строки с датой конца 9999 года про 4 (январь), 5 (февраль), ..., 4 квартал (19).
Стираем на фиг 4-15 и оставляем только кварталы.
НЮЛ - Как скопировать Реквизиты предприятия-плательщика во вновь установленный "с чистого листа" НЮЛ из существующего каталога НЮЛ.
копируем ...\INPUTDOC\BASES\payerscur, rgst .dbf/.cdx
...\INPUTDOC\FILIAL\P00000х\consts, ifnsinfo .dbf/.cdx
ВАЖНЫЙ файл ещё ...\INPUTDOC\FILIAL\P00000х\krmnreg.dbf/.cdx
НЮЛ - Где регистрируются внесённые в НЮЛ декларации, их периоды и номера уточнений.
...\INPUTDOC\FILIAL\P00000х\j_state01s(02s).dbf, scales.dbf, (ndslist.dbf - для декл.НДС)
...\INPUTDOC\BASES\jur001.dbf
и, наверняка, какие-то ещё - перечислены те, что удалось идентифицировать.

Работаем в ФАБИУС

Оттенки для Grid, например, {'clWhite','clBlack','$00D6D6D6'}. Код оттенка можно получить
в нашей программе Настройки - Цвета и шрифты, Поль-ль + все задачи.
Заголовок окна - Фон. Кнопка Определить цвет (внизу) - добавить его в Допцвета и выбрать.
Потом лезем в R204: Set Filttr UserCode=Поль-ль, IdName TitleFont, FontColor $шестнадцатеричное_число.
или http://ahead.org.ua/palette.php
Определить 16-ричный код цвета
Сервис ... Цвета и шрифты ... - Фон. Кнопка "Определить цвет >>".
Выбрать нечто OK слева внизу.
Теперь - в R204 по max SittingNum ищем FontColor.
В ФАБИУС'е в тексте сделать фразу выделенной, а при нажатии на неё что-то высветить
Пишем текст (например, в Хронологии изменений), в нём <:Message('сам дурак')~'Жми сюда'>.
Тогда читатель увидит в нашем тексте ПОДСВЕЧЕННОЕ Жми сюда, а нажав получит Message... .
При разработке печ.форм .rtm перенос выделенного фрагмента из Excel (НЕ выделение части экрана ScreenHunter'ом, а именно область ячеек и Ctrl-C)
в RichEdit на печатной форме (в меню - Edit, Вставить, Windows BitMap) - всегда не помещается на лист.
Чтобы при сокращении области (в режиме Edit) не пропадали вертикальные и горизонтальные разметки ячеек под цифры/буквы:
- либо прямо в Excel вместо точек нарисовать тонкие линии (Границы - Все границы)
- либо в сначала Excel выделить (все или правые - где цифири) вертикали ячеек и уменьшить их ширину (обычно 2.14, а задаём 2 или 1.9).
В arc32 не посмотришь одновременно и названия полей, и их тип/размер в структуре базы
Вызываем в любом месте ФАБИУС (Ctrl-Alt-E) ф-ю STRUCT_EXCEL_R261(), задаём имя базы и путь.
Получаем Excel-файл со структурой. Изначально написала для копирования стр-р НЮЛ в R261.
Сделать в эталоне частным для кого-то
Стоя на их данных - сравнение с эталоном, синим, замок (сверху иконка), а уже потом "положить в эталон" (светящийся листок).
Чтобы распространить частность ещё на кого-то: Эталона с рабочим - Частные данные - иконка сороконожка либо в R248
дописывать аббревиатуры через ;.
ИСКЛЮЧИТЬ ИЗ ДЕРЕВА МОДУЛЕЙ какой-то пункт
R174, на нужной записи Shift-F6.
Эта ссылка добавится в их R304 (НЕ эталонный).
Стереть из R174 эту запись. ЭТО СПОСОБ С ИХ СТОРОНЫ.
СПОСОБ 2: сделать то же самое в эталоне.
Вроде, так: на их данных Alt-M. Удалить пункт.
Сравнение Рабочего с Эталоном. Повесить замок. Тогда это запишется в эталонный R248.
Спр-к, отображаемый (через R174) НЕ представлением, хочется видеть изначально таблицей - без разделения.
в R174: GetReferns аргументы: (1-я строка) R13 (строк 2 3 4 5 нет) строка 6 2(двойка)
Определить имя компа по сетевому адресу
RunProcess('cmd /c nbtstat -a 192.168.199.100 > z:\Fabius_TD\_Софтсервис6\tt.txt 2>z:\Fabius_TD\_Софтсервис6\tte.txt ')
Порядок отработки формирования проводок (Ctrl-F5) по УРОВНЯМ док-та.
Документ:
На уровне шапки документы А и Б. У документа А 3 дочерних записи на уровне 2 (а1,а2,а3), у документа Б - 2 дочерних записи б1 и б2.
Шаблоны R221 для этого типа документа:
1. проводка уровня 1
2. проводка уровня 1
3. проводка уровня 2
4. проводка уровня 2
По Ctrl-F5:
3 для а1, 4 для а1
3 для а2, 4 для а2
3 для а3, 4 для а3
1 для А
2 для А
3 для б1, 4 для б1
3 для б2, 4 для б2
1 для Б
2 для Б
В ФАБИУС проверить, новая ли версия Excel
iif(Progr('NewExcel'), 'vvv.xltx', 'vvv.xlt') + ф-я OfficeKind()
Максимово частичное обновление
У РАЗРАБОТЧИКА в fabius.ini вставить
MAKER=Softs
ServicePath=\\SERVER\vol1\SERVICE\DB
У РАЗРАБОТЧИКА В меню Справка сверху появится пункт Поддержка. Там Выложить версию (z:\SERVICE\FTP\PARTIAL\).
У ПОЛЬЗОВАТЕЛЯ Справка - Центр поддержки - Проверить наличие версии и обновлений.
У РАЗРАБОТЧИКА Посмотреть, кто из пользователей обновился:
Справка - Поддержка - Таблица версий F7,F9.
Если разработчику нужно отменить своё обновление:
Справка - Поддержка - Таблица версий. Запоминаем имя файла архива, стираем его с диска, и удаляем строку в таблице версий.

в т.ч. SQL-запросы

Отобрать записи R08 с задвоенными кодами
select rr08.kod from
(select kod, count(kod) kk from r08 group by kod) rr08
where rr08.kk>1
или
select kod, count(kod) ccc from r08 group by kod having ccc>1
Отобрать из спр-ка с хронологией значения с датой не более заданной
select RR.KODPROD, RR.ISSUE from R191 RR, (select MAX(DATDOC) DATDOC, KODPROD from "+;
(select DATDOC, KODPROD, ISSUE from R191 where DATDOC<='"+SQLDate(BoM(CurDate))+"') SS group by KODPROD) DD
where RR.DATDOC=DD.DATDOC and RR.KODPROD=DD.KODPROD
Проанализировать причины длительного формирования запроса
Запускаем запрос (R238 или через дерево модулей)
Параллельно запускаем arc32.exe (\Fabius\Program).
Сверху слева Remote Server Info (лицо с экраном).
Указываем Server Drive и кнопка Connect.
На закладке Active Queries в таблице встаём на нужный запрос. Внизу выделяем цветом и копируем текст под Current Query.
Завершаем arc32.exe.
Идём в OpData, встаём на DICT.ADD, ENTER = открываем его в arc32 (AdsSys без пароля).
Слева в дереве встаём на DICT и сверху нажимаем на иконку Test Queries (cетка с SQL).
Вставляем из буфера текст (меняя insert на select при необходимости), а перед вставленным текстом пишем SHOW PLAN FOR (далее текст запроса).
Запускаем выполнение зелёным треугольником (Executes or continues...)
Смотрим внизу закладку Data (если там пусто - закладку Messages): обращаем внимание на
EstimatedExecution - в попугаях предполагаемое время выполнения
Warning

в т.ч. EXLReport (в .rpt вызывается ExcelReport())

Описание EXLReport
запускаем (на раб. станции) c:\_dt\winhlp32.exe.
Предлагается выбрать .hlp-файл, выбираем расположенный там же EXLReport.hlp.
В нём идём на ЗАКЛАДКУ Содержание, а там TEXLReport component.

EXLReport01.PNG

Там перечень Свойств, Методов, Событий.
Если интересует событие, смотрим - какие параметры переданы на вход,
например, при отработке <FORMATCELL> (= событие OnFormatCell) доступны

EXLReport02.PNG

The following band types are available: Title, Group Header, MasterData, Detail Header, Detail Data, Detail Footer, Group Footer, and Summary.
Для ПРИМЕРОВ ищи *.rpt c <SETCELLVALUE>, <FORMATCELL>, <AFTERBUILD>.
Нужно АВТОМАТОМ сохранить получаемую распечатку.
1) Visual Basic (НЕ забудь добавить Module1) Эта книга - ViewCode примерно так:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'cur_file = Application.AltStartupPath 'Neaaa Ieaao - au? ia?aa ioe?uoeai WorkBook.Open iianiauaaao n?aa 2 ?iaiuo "iooy".
'cur_file = Left(cur_file, InStr(cur_file, ";") - 1) & "\hdrs.txt"
'fl = FreeFile
'Open cur_file For Input As #fl
ActiveWorkbook.SaveCopyAs "H:\YY.XLS"
'Set NewBook = Workbooks.Add
'NewBook.SaveAs Filename:="H:\tt.xlt" FileFormat:=xlNormal
End Sub
2) ЛИБО в самом .rpt
<AFTERBUILD>
Local fl:=SeekRef('R221', ReportCode(), 'FILENAME', 1)
CopyFile(EtalonPath+'\dummy.xls', fl) //dummy.xls - обычный пустой файл Excel
OleRun(WorkSheet,'SaveAs("'+fl+'")')