0. zfilin 2092 05.08.12 23:08 Сейчас в теме

1С 8.3: немного подробностей

Некоторые вещи, которые заинтересовали меня в новой платформе 1С 8.3. Форматированные строки, хеш-функции и прочее.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. djd.sf 06.08.12 10:35 Сейчас в теме
замечательно, но насколько мне известно, описания о новшествах есть в установленной папке в html файле. также есть бесплатный курс об этом http://www.spec8.ru/1c-83-new-review . но в любом случае спасибо за краткий обзор.
2. zfilin 2092 06.08.12 11:31 Сейчас в теме
(1) djd.sf, Конечно есть. Обязательно посмотрите эти файлы, там интересно.
А это то что лично мне понравилось и то что захотелось сразу попробовать. Такие "вкусные мелочи".

А вообще там изменений намного больше и есть просто-таки глобальные связанные с внешними источниками данных, например. Но я, например, внешними источниками сейчас не пользуюсь. Может, кто-то другой сделает про них обзор подробнее? Я бы почитал.
3. djd.sf 06.08.12 13:22 Сейчас в теме
(2) а я смотрел. из того, что я заприметил - почта теперь поддерживает SSL и TLS. Правда там некоторые новшества поддерживаются только в режиме "Без совместимости". А вот, кто решится сразу переходить на такой режим, даже не знаю.
4. serg_gres 140 06.08.12 13:24 Сейчас в теме
А для чего можно в 1С использовать хэширование?
5. zfilin 2092 06.08.12 13:32 Сейчас в теме
(4) serg_gres, Если вы храните какие-то двоичные данные в базе и они же есть где-то на диске. Хеш поможет выяснить одинаковые они или нет. Например.

Работа с разными другими автоматами бывает удобной с использованием хешей. Если нужно поддерживать синхронизацию с какими-то внешними службами каких-то данных удобнее обменяться хешами и понять что отличается, чем тянуть все данные.
Пример - сайт с небольшими файлами (делал такой). Сайт на PHP как фронт-енд и база 1С для аналитики, истории и т.д. Сравнить что пользователи обновили, что заказчали. PHP умеет получить MD5, 1С умеет получить MD5 - они подружатся. =)
6. Yashazz 2854 06.08.12 13:41 Сейчас в теме
Хе, я МД5 безо всяких внешних всегда вычислял. Немного математики, и всё.
7. zfilin 2092 06.08.12 13:55 Сейчас в теме
(6) Yashazz, Дык, ессно, что можно. =)
Не уверен наверняка, но мне кажется, что платформой просто быстрее будет.
8. Yashazz 2854 06.08.12 14:22 Сейчас в теме
(7) Это да, вероятнее всего. И, кстати, хорошо бы, чтоб сделали возможность задания типа "Произвольный" для колонки таблицы значений в режиме конфигуратора. Надоело уже динамически их добавлять для самых простейших случаев.

...А вот когда сделают групповые операции с хранилищем по множественному выделению в дереве метаданных, вот тогда будет мне щастье...
9. zfilin 2092 06.08.12 14:29 Сейчас в теме
(8) Yashazz, О, да! Захватить, а потом вкоммитить десяток объектов - очень утомительное занятие.
С другой стороны можно чесать левое ухо правой рукой через голову - конфа теперь разбирается на текстовики. И собирается, что не маловоажно! Да здравствует SVN.
10. pumbaE 628 06.08.12 14:50 Сейчас в теме
(9) не все так радужно...
* n*1000 файлов в одном каталоге, хуже не придумаешь. Необходима пост обработка, которая будет разбивать на папки "Справочники", "Документы".
* Формы (неуправляемые), интрефесы - во внутреннем формате, diff сильно и не просмотришь.
* Забыли про внешние обработки, в некоторых конфигурациях до 50% доработок, на внешних отчетах/обработках завязано. Как вести историю? Никак.
11. zfilin 2092 06.08.12 15:02 Сейчас в теме
(10) pumbaE, Да, это-то понятно. Но было ж вобще никак. Разбиралось только сторонними.
А про кучу файлов. Вот прямо сейчас навскидку пришла такая схема.
Человек работает с конфой, она к хранилищу не подключена, правит объекты, делает что угодно. Потом надо закомитить результат, соответственно перед комитом конфа автоматом разбирается и комитится. Ну, и в обратную сторону так же - получаем, собираем, открываем в конфигураторе. Так что сколько там файлов не так уж и важно, они ж не для ручного редактирования в основном. Естественно, где-то будут возникать коллизии, тут придется руками, да. Но зато проблема захвата нескольких объектов не стоит. Т.е. работается не по старой блокирующей схеме а-ля CVS а по новой, с мерджами.
Ну, это так, на глаз. Наверняка проблемы будут, пробовать надо.
12. pumbaE 628 06.08.12 16:10 Сейчас в теме
(11) эх далеко до идеала.
Выгрузка - на УПП до 10 минут, главную фишку "атомарный" commit (минимальные изменения для одной задачи) не сильно используешь. Т.е. выгрузить cf и сделать commit - значительно быстрее и в фоне на post-commit(или отдельным регламентным заданием) вешаем хук, который будет этот cf загружать в пустую базу и потом выгружать на исходники.

Инструмент вроде как есть, но как им пользоваться еще не придумали. Так сказать не понятен workflow по работе с выгрузкой/загрузкой. Конечно если хранилище от 1С не будет развиваться, то надо думать об организации процесса выгрузки/загрузки кофнигурации и правильного мержа - микро коммиты/ветки/патчи альтернативных систем контроля версий очень интересны.
15. zfilin 2092 06.08.12 23:03 Сейчас в теме
16. kuntashov 364 07.08.12 10:26 Сейчас в теме
(8), (9) Групповые операции с объектами Хранилища (с множественным выделением) возможны с самого появления хранилища, но не в основном окне конфигуратора, а в окне "Хранилише". Рекомендую ознакомиться с штатной документацией.

По поводу удобной настройки окна хранилища можно почитать здесь http://compaud.ru/blog/2012/06/designer-setup/
Lion heart; Spacer; hulio; zfilin; +4 Ответить
20. hulio 56 08.08.12 09:27 Сейчас в теме
(16) kuntashov, множественное выделение, конечно, есть в отдельном экране, но там очень не хватает отбора по подсистемам, который есть в обычном дереве конфигурации :) Это очень обидно :)
13. maleshov.maxim 06.08.12 21:39 Сейчас в теме
В обзоре по 8.3 от spec8.ru обращается внимание, что это некорректный код.
Нельзя обращаться к ссылке или ее реквизитам в ОбработкаПолученияПредставления

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    Представление = "(" + Данные.Ссылка.Артикул + ") " + Данные.Наименование;

КонецПроцедуры


Надо получать представление полей, а потом формировать представление ссылки:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;

    Представление = "(" + Данные.Артикул + ") " + Данные.Наименование;
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
	
    Поля.Добавить("Артикул");
    Поля.Добавить("Наименование");
КонецПроцедуры
Показать
mirco; dour-dead; Spacer; zfilin; awk; +5 Ответить
14. zfilin 2092 06.08.12 23:03 Сейчас в теме
(13) Sax-mmS, Спасибо, поправлю.
17. Yashazz 2854 07.08.12 13:43 Сейчас в теме
Вопрос: как себя поведёт 8.3, если в каталоге установки уже есть папка 1cv8, принадлежащая успешно используемой 1С 8.0 - как она поступит с устаревшими, по её мнению, файлами?
Вообще считаю усечение номера с 8.3 на 8 ошибкой - путаница в восприятии будет.
DrAku1a; ShantinTD; +2 Ответить
18. serg_gres 140 07.08.12 15:23 Сейчас в теме
Добавлю немного подробностей о 8.3:

1. Отчет на СКД, при размещении пользовательских полей в реквизитах формы (не в таблице), если есть связь по типу с субконто счета - вылетает без всяких сообщений.

2. При использовании "МенеджерВременныхТаблиц" - вываливается ошибка, которой не было в 8.2 - "Ошибка SDBL. Ожидается CREATE, DROP, RENAME или SELECT"

3. При помещении ДокументаОбъекта во временное хранилище :
ПоместитьВоВременноеХранилище(ДанныеФормыВЗначение(Объект,Тип("ДокументОбъект."+Объект.Ссылка.Метаданные().Имя)),Новый УникальныйИдентификатор));

выдает:
Переданное значение не может быть помещено во временное хранилище

хотя:
Синтаксис:
ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
Описание:
Сохраняет сериализуемое значение во временное хранилище.
---------------------------
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Доступность:
Сервер, толстый клиент, внешнее соединение.
Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/enterprise/current-config}. Имя типа XDTO: ДокументОбъект.<Имя документа>.
19. LelikOFF 08.08.12 00:38 Сейчас в теме
21. EvgeniuXP 08.08.12 12:41 Сейчас в теме
Ну можно менять представление, но это не то, что мы хотели.... а именно, НА ДАТУ, т.е. на одну дату представление такое, на другую дату - представление другое в зависимости от периодического регистра сведений - т.е., например ФИО. Согласитесь, на одну дату список одних фамилий должен выводиться, на другую дату - список фамилий у некоторых лиц может быть другой. При открытии документа и выбора сотрудника - вот бы и выводился список от даты и формировал бы на дату фио по каждому сотруднику.
22. Varies 09.08.12 07:38 Сейчас в теме
(21) EvgeniuXP, это вполне реализуемо. Но как писали выше повлияет на производительность.
23. EvgeniuXP 09.08.12 12:13 Сейчас в теме
(22) через динамические списки, да это можно.
24. EmpireSer 09.08.12 21:05 Сейчас в теме

И вот по администрированию еще. Процитирую...

Ужас! Вот при таких "сахарочках" нафига они тогда на линукс клиент портировали?

Когда я обновлять "Астрал отчётность" в школах/дет.садах мне бухгалтера жаловались, что и так в программах запутались, а им министерство, порой, сюрпризы подносит: они (в министрестве образования) частенько задумываются все школы и сады на линукс перевести (что бы сэкономить).


Средствами платформы он позволяет получить хеш MD5 или CRC32.


"Класс"... лучше бы SHA-256/512/1024 сделали. MD5 и CRC32 уже кучу лет как уязвим. Ими нельзя пользоваться в критических ситуациях (связанных с безопасностью).
25. zfilin 2092 09.08.12 21:30 Сейчас в теме
(24) EmpireSer, По линуксу еще подтянется, я думаю. Это э только начало.
А по хешам... Ну, для MD5 хоть и нашли способ поиска коллизий, но все-равно к самым популярным способам лома, типа радужных таблиц он вполне устойчив. Особенно, если "присолить". Но вообще, мне кажется, это не для шифрования. Это больше для верификации и сравнения больших объемов двоичных данных. Хеши-то проще сравнивать, чем сами данные.
27. EmpireSer 09.08.12 21:52 Сейчас в теме
(25)
Ну коллизии в MD5 ищутся быстро соответствующими утилитами. И взлом MD5 хеша на современных машинах - вообще минутное дело и ни какие радужные таблицы не нужны, а нужны только... видиокарты и по новее и в спарином режиме.
А если известен шаблон использования соли, то её применение сходит на "нет".

Это больше для верификации и сравнения больших объемов двоичных данных.

Вот я и говорю, что главное это сравнение проводить не в критичных, для безопасности, местах (это не только шифрование, а например ключи, подгрузка внешних источников и т.п.).
Я просто указываю на это тем, кто до сих пор этого не знает. А то начнут "пихать" его применение везде куда смогут.

А так MD5 и CRC32 на сегодняшний момент - самые быстрые алгоритмы хеширования. Т.к. их уже давным давно перевели на чистый асм и по максимуму используют расширенные инструкции процессоров.
28. zfilin 2092 09.08.12 21:58 Сейчас в теме
29. serg_gres 140 12.08.12 23:49 Сейчас в теме
(25) а если хэшировать с солью несколько раз (MD5), такая шифрация тоже взламывается?
31. EmpireSer 24.08.12 13:04 Сейчас в теме
(29) serg_gres,
Все алгоритмы можно взломать как минимум "тупым" перебором. И это самый долгий метод. И применение "соли" только делают невозможность применения "взлома по словарю" и перебор с ограничением по длине или символам пароля.

Так что отвечая прямо на вопрос: "тоже взламывается?" - ДА. Но если ни кто не сможет узнать какую "соль" Вы применяете - то его даже взламывать не подумают.
Тут главное время. Как я знаю - если добывают какие-то секретные ключи/пароли в захешированном виде то их ставят на взлом (используя всякие инструменты), а сами ищут другие "дыры" безопасности.
26. agulaev 33 09.08.12 21:37 Сейчас в теме
30. mc1c80 22.08.12 08:12 Сейчас в теме
Спасибо за краткий обзор.
32. SergDi 25.08.12 12:26 Сейчас в теме
вопрос по поводу "представления" подскажите как реализовать такой момент

предположим:
мне нужно в одном документе в поле контрагент выводить "наименование",
а в тругом документе в поле контрагент выводить "наименование"+"рейтинг"

подскажиет как реализовать?
33. zfilin 2092 25.08.12 13:24 Сейчас в теме
В моем понимании собственное представление это какая-то более глобальная вещь. Если во всей системе надо поменять представление.

Если вам в одном документе в плюс к наименованию нужно выводить еще и рейтинг, не проще ли сделать отдельное поле для вывода рейтинга?
34. SergDi 25.08.12 13:29 Сейчас в теме
задумка такая что при нажатии на поле "контрагент" выпадает список вида: контрагент (рейтинг) и пользователь отталкиваясь от рейтинга выбирает того или иного...
так как появилось "представление", думал что возможно реальзовать в поле с типом справочник.контрагенты, а если это только глобально то буду думать....
35. zfilin 2092 25.08.12 13:42 Сейчас в теме
Погодите, так формировать список подбора в поле это совсем другая задача.
Во-первых можно решать "в лоб". Добавить кнопку выбора из списка на поле ввода и использовать событие: НачалоВыбораИзСписка. Список, как вы понимаете, формируется руками в любом виде. Но если справочник большой, то это будет не удобно.
Во-вторых можно использовать событие ОкончаниеВводаТекста. Там опять-таки можно формировать вид выпадающего списка самостоятельно, но оно работает только когда пользователь вводит в поле текст с клавиатуры.
А для выбора интерактивно, просто используйте НачалоВыбора и вручную вызывайте другую (не стандартную) форму подбора в которой будет колонка "Рейтинг".
36. SergDi 25.08.12 13:50 Сейчас в теме
да, спасибо

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

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 200 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день