Расчет количества дней между датами ЗАПРОСОМ в 1С 8.3
👉@DevLab1C
&НаКлиенте
Процедура РасчетКоличестваДнейМеждуДатамиЗапросом(Команда)
ДатаНач = '20200415';
ДатаКон = '20200417';
Сообщить(РазницаДатНаСервере(ДатаНач, ДатаКон, "ДЕНЬ")); //2 дня
КонецПроцедуры
&НаСервере
Функция РазницаДатНаСервере(ДатаНач, ДатаКон, СтрПериод)
//СтрПериод - может быть "ДЕНЬ", "НЕДЕЛЯ", "МЕСЯЦ", "ГОД"
Запрос = Новый Запрос("ВЫБРАТЬ РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, "+СтрПериод+") КАК РазностьДат");
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
Возврат Запрос.Выполнить().Выгрузить()[0].РазностьДат;
КонецФункции
👉@DevLab1C
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
ПЕРЕТАСКИВАНИЕ В 1С
Используя в пользовательском режиме перетаскивание в 1С, можно облегчить и ускорить работу пользователей. В этой статье рассмотрим реализацию механизма перетаскивания в управляемых формах 1С. В основном, этот механизм применяется для перетаскивания значений с одной таблицы на форме в другую. Классический пример – это форма подбора, когда номенклатуру с формы подбора нужно перетащить мышкой в табличную часть какого-то документа. Это не будет нудная статья с теорией, а в этой статье будут показаны некоторые практические способы перетаскивания как внутри формы, так и между формами.
https://telegra.ph/PERETASKIVANIE-V-1S-07-16
👉@DevLab1C
Используя в пользовательском режиме перетаскивание в 1С, можно облегчить и ускорить работу пользователей. В этой статье рассмотрим реализацию механизма перетаскивания в управляемых формах 1С. В основном, этот механизм применяется для перетаскивания значений с одной таблицы на форме в другую. Классический пример – это форма подбора, когда номенклатуру с формы подбора нужно перетащить мышкой в табличную часть какого-то документа. Это не будет нудная статья с теорией, а в этой статье будут показаны некоторые практические способы перетаскивания как внутри формы, так и между формами.
https://telegra.ph/PERETASKIVANIE-V-1S-07-16
👉@DevLab1C
👍8
Получить web-cсылку на объект метаданных
Примеры использования: для запуска ДО из других конфигураций или из Битрикс24 и т.п. интеграций
👉@DevLab1C
Примеры использования: для запуска ДО из других конфигураций или из Битрикс24 и т.п. интеграций
Функция ПолучитьWebСсылкуНаОбъект(Объект) Экспорт
НавСсылка = ПолучитьНавигационнуюСсылку(Объект);
ДлинаСтроки = СтрДлина(НавСсылка);
ПозицияРеф = СтрНайти(НавСсылка, "?ref");
НавСсылка = Прав(НавСсылка, ДлинаСтроки - ПозицияРеф + 1) + "#" + Лев(НавСсылка, ПозицияРеф - 1);
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
srv = НСтр(СтрокаСоединения, "Srvr");
ref = НСтр(СтрокаСоединения, "Ref");
НавСсылка = "e1c://server/"+ srv + "/" + ref + НавСсылка;
Возврат НавСсылка;
КонецФункции
Если ссылки e1c не открываются, то необходимо текст ниже сохранить в файл с расширением reg и запустить его:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
"EditFlags"=hex:02,00,00,00
"URL Protocol"="e1c"
@="URL:e1c"
[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="C:\\Program Files (x86)\\1cv8\\common\\1ceunt.dll,17"
[HKEY_CLASSES_ROOT\e1c\shell]
[HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@=""C:\Program Files (x86)\1cv8\common\1cestart.exe" /URL "%1""
👉@DevLab1C
👍2
🔥3👍1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Уроки мобильной разработки на 1С
Знакомство
Подготовка окружения перед началом разработки на мобильной платформе 1С
Первые шаги разработчика мобильного приложения 1С
Запуск и отладка приложения прямо на смартфоне
Урок 4 Разработка уникального мобильного приложения (Часть 1)
Урок 4 Разработка уникального мобильногоприложения (Часть 2)
Урок 5 Приложение и смартфон (Часть 1)
Урок 5 Приложение и смартфон (Часть 2)
Урок 6. Веб-сервисы и фоновые задания
Урок 7 Сборка приложения для Google Play Market
Урок 8 Публикация приложения в Google Play Market
Урок 9 Монетизация приложений
Урок 9 Монетизация приложений. Подписка
Все видео на youtube
👉@DevLab1C
Знакомство
Подготовка окружения перед началом разработки на мобильной платформе 1С
Первые шаги разработчика мобильного приложения 1С
Запуск и отладка приложения прямо на смартфоне
Урок 4 Разработка уникального мобильного приложения (Часть 1)
Урок 4 Разработка уникального мобильногоприложения (Часть 2)
Урок 5 Приложение и смартфон (Часть 1)
Урок 5 Приложение и смартфон (Часть 2)
Урок 6. Веб-сервисы и фоновые задания
Урок 7 Сборка приложения для Google Play Market
Урок 8 Публикация приложения в Google Play Market
Урок 9 Монетизация приложений
Урок 9 Монетизация приложений. Подписка
Все видео на youtube
👉@DevLab1C
🔥6❤2👍2
Склонение ФИО, числа, слова по падежам в 1С 8.3
👉@DevLab1C
&НаСервере
Процедура Склонение()
// доступна с версии 8.3.13
ФИО_Падеж = ПолучитьСклоненияСтроки("Ковалевская Софья Васильевна", "Л=ru_RU;ПЛ=Женский", "ПД=Творительный");
// ПД: Именительный, Родительный, Дательный, Винительный, Творительный, Предложный
Для Индекс = 0 По ФИО_Падеж.Количество() - 1 Цикл
Сообщить(ФИО_Падеж[Индекс]); // Ковалевской Софьей Васильевной
КонецЦикла;
// доступна с версии 8.3.14
Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("золото", 2.75, "килограмм, грамм, 2", "ЧС=Количественное", "ПД=Предложный; ПЧ=ЧислоПрописью");
Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
Сообщить(Число_Падеж[Индекс]); // Двух килограммах семидесяти пяти граммах золота
КонецЦикла;
Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("человек", 3, "", "ЧС=Порядковое", "ПД=Дательный; ПЧ=ЧислоСОкончанием");
Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
Сообщить(Число_Падеж[Индекс]); // 3-му человеку
КонецЦикла;
Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("счастливый утёнок", 13, "", "ЧС=Порядковое", "ПД=Родительный; ПЧ=ЧислоПрописью");
Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
Сообщить(Число_Падеж[Индекс]); // Тринадцатого счастливого утёнка
КонецЦикла;
Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("дом", 7, "", "ЧС=Порядковое", "ПД=Винительный; ПЧ=ЧислоСОкончанием");
Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
Сообщить(Число_Падеж[Индекс]); // 7-ой дом
КонецЦикла;
КонецПроцедуры
👉@DevLab1C
❤3👍1
Как разрешить выбирать в поле на форме номенклатуру только типа «Комплект» (или другое условие)
Рассмотрим на примере документа «Изменение состава комплекта» из сертификационного экзамена 1С: Специалист по платформе. У него есть реквизит «Комплект» с типом «Номенклатура». Нужно сделать так чтобы в этом поле пользователь мог выбирать номенклатуру только с видом номенклатуры «Комплект».
Для этого нужно у этого реквизита в свойствах указать Параметры выбора
Таким образом больше не нужно ничего писать в коде для гарантии того что пользователь сможет выбирать только комплекты.
👉@DevLab1C
Рассмотрим на примере документа «Изменение состава комплекта» из сертификационного экзамена 1С: Специалист по платформе. У него есть реквизит «Комплект» с типом «Номенклатура». Нужно сделать так чтобы в этом поле пользователь мог выбирать номенклатуру только с видом номенклатуры «Комплект».
Для этого нужно у этого реквизита в свойствах указать Параметры выбора
Отбор.ВидНоменклатуры(Комплект):
Таким образом больше не нужно ничего писать в коде для гарантии того что пользователь сможет выбирать только комплекты.
👉@DevLab1C
❤4🔥3
1C медленно работает по сети с базой на SQL Server
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL.
Перечислим неоптимальности в настройке:
1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. После установки, SQL пытается использовать для связи протокол "Named Pipes", который не обеспечивает быстрый обмен данными. Советуем изменить протокол по умолчанию на "TCP/IP". Изменить протоколы для связи с SQL сервером можно запустив утилиту SQL Server Configuration Manager. Обратите внимание - интересующие нас протоколы расположены в группе SQL Server network configuration. Протоколы из группы SQL native client configuration 1С не использует. Важно! Если программа 1С запускается на том же сервере, на котором запущен SQL-сервер,используйте для связи протокол "Shared Memory". Этот протокол обеспечит максимальную пропускную способность.
2) Включенные опции базы данных "Auto сreate statistics", "Auto update statistics". Данные опции разрешают SQL собирать статистику распределения данных в таблицах, обновляя статистику автоматическим образом. Отключите обе опции, т.к. создание и обновление статистики создает дополнительную загрузку сервера. Создайте задание на создание и обновление статистики, запускающееся в нерабочее время - например ночью.
3) Значение Checksum для опции Recovery->Page Verify. Во многих случаях достаточный контроль ошибок в страницах дисковой памяти обеспечивает значение данной опции - TornPageDetection. В этом случае контроль ошибок в страницах дисковой памяти использует иной вариант, более простой и быстрый нежели при значении опции - Checksum. Значение опции None - хоть и обеспечивает максимальное быстродействие, лучше не использовать, т.к. контроль ошибок страниц дисковой памяти средствами SQL сервера вообще производиться не будет.
4) Включенная опция полнотекстового индекса. Для ИБ 1С данная опция не требуется. Отключите её.
👉@DevLab1C
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL.
Перечислим неоптимальности в настройке:
1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. После установки, SQL пытается использовать для связи протокол "Named Pipes", который не обеспечивает быстрый обмен данными. Советуем изменить протокол по умолчанию на "TCP/IP". Изменить протоколы для связи с SQL сервером можно запустив утилиту SQL Server Configuration Manager. Обратите внимание - интересующие нас протоколы расположены в группе SQL Server network configuration. Протоколы из группы SQL native client configuration 1С не использует. Важно! Если программа 1С запускается на том же сервере, на котором запущен SQL-сервер,используйте для связи протокол "Shared Memory". Этот протокол обеспечит максимальную пропускную способность.
2) Включенные опции базы данных "Auto сreate statistics", "Auto update statistics". Данные опции разрешают SQL собирать статистику распределения данных в таблицах, обновляя статистику автоматическим образом. Отключите обе опции, т.к. создание и обновление статистики создает дополнительную загрузку сервера. Создайте задание на создание и обновление статистики, запускающееся в нерабочее время - например ночью.
3) Значение Checksum для опции Recovery->Page Verify. Во многих случаях достаточный контроль ошибок в страницах дисковой памяти обеспечивает значение данной опции - TornPageDetection. В этом случае контроль ошибок в страницах дисковой памяти использует иной вариант, более простой и быстрый нежели при значении опции - Checksum. Значение опции None - хоть и обеспечивает максимальное быстродействие, лучше не использовать, т.к. контроль ошибок страниц дисковой памяти средствами SQL сервера вообще производиться не будет.
4) Включенная опция полнотекстового индекса. Для ИБ 1С данная опция не требуется. Отключите её.
👉@DevLab1C
👍3🔥1