Под виндой я, например, сталкивался с проблемой, что в кодировке UTF8 без BOM подпись WinForm кнопки, в которой использовались юникод символы, отображается не корректно.
Вот тут, как программист, я ожидал бы создание массива массивов с одним элементом.
А вообще, я почти 5 лет плотно работал с PowerShell и почти всегда матерился. Ну не понимаю я логики этого языка, и раздражение синтаксисом я так и не поборол, хотя часто удивляло, насколько легко на нем писать всякие системные штуки.
Прекрасно понимаю вас, сам регулярно сталкиваюсь с этим чувством. Удобство работы с конвейером в PowerShell имеет обратную сторону - кажущуюся нелогичность поведения PowerShell. Вы, кстати, затронули интересный момент.
Вот такой код, как и указано в статье, вернет массив из 3-х элементов:
$array = @("A", "B", "C")
return , $array
А теперь заменим return на присвоение:
$array = @("A", "B", "C")
$newArray = , $array
И вот теперь в $newArray будет массив массивов, как вы и говорили. Почему? А потому, что return это просто вывод в конвейер. А когда PowerShell выводит массивы в конвейер, он каждый элемент элемент массива выводит отдельно, то есть просто разворачивает массив. А вот при при присвоении разворачивания массива нет.
Как по мне, такое поведение может показаться нелогичным и приводить к багам. Но так уж устроен PowerShell.
MS в документации пишет, что в PowerShell 7.5 они все-таки оптимизировали добавление массива и "+=" больше не создает новый массив для каждой операции.
Согласен. Плюс к тому DataTable имеет развитый функционал фильтрации и сортировки данных. Ну и напрямую может быть использован как DataSource для DataGridView
Да, спасибо, вы правы! И даже скажу более - для корректной работы скрипта MS рекомендует использовать UTF8 именно с BOM, или UTF16. Если скрипт сохранен как UTF8 без BOM, однозначно будут проблемы с русским языком и спецсимволами.
Поставил, потестил. Очень даже не плохо!
Но нашел сразу, чего не хватает.
1. Адресную книгу приходится каждый раз открывать вручную после каждого запуска приложения. Нигде в настройках не нашел возможности при запуске приложения автоматической подгрузки последней адресной книги.
2. Если на удаленном хосте разрешение экрана больше, чем на хосте с консолью, то для того, чтобы охватить весь экран приложение скроллит изображение. Было бы не плохо, если была бы возможность масштабирования изображения, чтобы экран удаленного хоста полностью «вписался» в экран хоста с консолью.
Добавьте к этому еще 1-2 т.р. за ЭЦП, с помощью которого все это нужно регистрировать в налоговой. Плюс с некоторыми типами ФР (например, производства Штрих) добавьте тысяч 5-6 сервисным организациям за обслуживание ФР, обновление прошивки и замену ФН. Ибо версия протокола фискальных документов изменилась, необходимо обновить прошивку ФР. А, например, Штрих не выкладывает прошивки в свободный доступ, а дает доступ только партнерам. И вы, даже имя необходимые компетенции, все равно вынуждены переплачивать. А если учесть, что за год понавыпускали 10-15 видов ФН, каждый со своими нюансами, версиями, сроками действия, то предпринимателю придется либо тратить уйму времени, разбираясь во всем этом огороде решений, либо еще платить сервисной организации. Плюс большой риск ошибок, что что-то будет сделано не так или куплено не то и придется покупать еще один ФН.
Я, как столкнувшийся с этой темой расскажу Вам из первых уст, как оно все на самом деле.
ККМ с ФН — от 20 тысяч. ФН — 8 тысяч, но в наличии их нигде нет и в ближайшее время не предвидится. Можно купить у спекулянтов за 15, но тут возникает вторая проблема. Так как ЦТО теперь не обязательны, а жить им тоже как то хочется, то происходит навязывание услуг. Многие, например не продадут вам ККМ или ФН, если вы не заключите с ними договор на ТО или на регистрацию ККМ. Кстати, за регистрацию, которая по идее может быть осуществлена за 15 минут самим пользователем через интернет, многие требуют 9 000. По идее для ИП на УСН можно менять ФН раз в 36 месяцев, но по факту таких в продаже нет. В итоге все все равно будут их менять на следующий год.
Далее ОФД — 3000 в год. Не знаю, как в других, а в Такскоме привязка осуществляется по номеру регистрации ККМ в налоговой. Перенос денег со счета на счет не предусмотрен. Соответственно, перерегистрировал ККМ, или она сломалась и решили ее заменить — еще 3000 в год. На счет запасных ККМ тоже проблема. Во-первых, даже если она лежит, ее нужно регистрировать (а значит и платить ОФД), иначе в ответственный момент могут быть проблемы. А во-вторых ККМ должна как минимум раз в месяц отправлять данные. Иначе блокируется. То есть предприниматели должны либо работать на одной кассе, молясь, чтобы она не сломалась, либо держать и платить за две, каждый месяц их ротируя.
Дальше, для ККМ нужен интернет. Для организаций интернет предлагают по диким ценам. Например, нам дешевле 10 000 в месяц за мегабит в Москве ничего найти не удалось. 4G ловит не везде.
Ну и самое веселое — никто не готов к переходу на новые ККМ, ни налоговая, ни ОФД, ни ЦТО. Никто ничего не знает. Если при регистрации все прошло гладко — повезло. А если нет — устанете бороться. Чуть что — готовь 8000 на новый ФН (которых нет). В частности мы уже 2 недели пишем и звоним во все инстанции, не вылезаем из налоговой, но никто нам ни чем помочь не может. Сгорел ФН, заменили на новый и при перерегистрации в личном кабинете налоговой процедура зависла. И ни туда и ни сюда. Никаких вариантов. Хоть новую кассу покупай. Все только разводят руками и футболят из отдела в отдел. Техподдержка не отвечает. Телефоны сбрасывают. Вот такая у нас поддержка малого бизнеса.
В целом я с вами полностью согласен.
Под виндой я, например, сталкивался с проблемой, что в кодировке UTF8 без BOM подпись WinForm кнопки, в которой использовались юникод символы, отображается не корректно.
Прекрасно понимаю вас, сам регулярно сталкиваюсь с этим чувством.
Удобство работы с конвейером в PowerShell имеет обратную сторону - кажущуюся нелогичность поведения PowerShell. Вы, кстати, затронули интересный момент.
Вот такой код, как и указано в статье, вернет массив из 3-х элементов:
А теперь заменим
returnна присвоение:И вот теперь в
$newArrayбудет массив массивов, как вы и говорили.Почему? А потому, что
returnэто просто вывод в конвейер. А когда PowerShell выводит массивы в конвейер, он каждый элемент элемент массива выводит отдельно, то есть просто разворачивает массив. А вот при при присвоении разворачивания массива нет.Как по мне, такое поведение может показаться нелогичным и приводить к багам. Но так уж устроен PowerShell.
MS в документации пишет, что в PowerShell 7.5 они все-таки оптимизировали добавление массива и "+=" больше не создает новый массив для каждой операции.
К сожалению, не разрулит. Без BOM и под виндой будут проблемы с русской кодировкой
Согласен. Плюс к тому DataTable имеет развитый функционал фильтрации и сортировки данных. Ну и напрямую может быть использован как DataSource для DataGridView
Да, спасибо, вы правы! И даже скажу более - для корректной работы скрипта MS рекомендует использовать UTF8 именно с BOM, или UTF16. Если скрипт сохранен как UTF8 без BOM, однозначно будут проблемы с русским языком и спецсимволами.
Но нашел сразу, чего не хватает.
1. Адресную книгу приходится каждый раз открывать вручную после каждого запуска приложения. Нигде в настройках не нашел возможности при запуске приложения автоматической подгрузки последней адресной книги.
2. Если на удаленном хосте разрешение экрана больше, чем на хосте с консолью, то для того, чтобы охватить весь экран приложение скроллит изображение. Было бы не плохо, если была бы возможность масштабирования изображения, чтобы экран удаленного хоста полностью «вписался» в экран хоста с консолью.
ККМ с ФН — от 20 тысяч. ФН — 8 тысяч, но в наличии их нигде нет и в ближайшее время не предвидится. Можно купить у спекулянтов за 15, но тут возникает вторая проблема. Так как ЦТО теперь не обязательны, а жить им тоже как то хочется, то происходит навязывание услуг. Многие, например не продадут вам ККМ или ФН, если вы не заключите с ними договор на ТО или на регистрацию ККМ. Кстати, за регистрацию, которая по идее может быть осуществлена за 15 минут самим пользователем через интернет, многие требуют 9 000. По идее для ИП на УСН можно менять ФН раз в 36 месяцев, но по факту таких в продаже нет. В итоге все все равно будут их менять на следующий год.
Далее ОФД — 3000 в год. Не знаю, как в других, а в Такскоме привязка осуществляется по номеру регистрации ККМ в налоговой. Перенос денег со счета на счет не предусмотрен. Соответственно, перерегистрировал ККМ, или она сломалась и решили ее заменить — еще 3000 в год. На счет запасных ККМ тоже проблема. Во-первых, даже если она лежит, ее нужно регистрировать (а значит и платить ОФД), иначе в ответственный момент могут быть проблемы. А во-вторых ККМ должна как минимум раз в месяц отправлять данные. Иначе блокируется. То есть предприниматели должны либо работать на одной кассе, молясь, чтобы она не сломалась, либо держать и платить за две, каждый месяц их ротируя.
Дальше, для ККМ нужен интернет. Для организаций интернет предлагают по диким ценам. Например, нам дешевле 10 000 в месяц за мегабит в Москве ничего найти не удалось. 4G ловит не везде.
Ну и самое веселое — никто не готов к переходу на новые ККМ, ни налоговая, ни ОФД, ни ЦТО. Никто ничего не знает. Если при регистрации все прошло гладко — повезло. А если нет — устанете бороться. Чуть что — готовь 8000 на новый ФН (которых нет). В частности мы уже 2 недели пишем и звоним во все инстанции, не вылезаем из налоговой, но никто нам ни чем помочь не может. Сгорел ФН, заменили на новый и при перерегистрации в личном кабинете налоговой процедура зависла. И ни туда и ни сюда. Никаких вариантов. Хоть новую кассу покупай. Все только разводят руками и футболят из отдела в отдел. Техподдержка не отвечает. Телефоны сбрасывают. Вот такая у нас поддержка малого бизнеса.