Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику Batchir ::: Спасибо сказали: 1426 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
02.08.23, 9:18 Як в запросі сформувати рейтинг ?
Привет.
В платформе есть АВТОНОМЕРЗАПИСИ и неявная сортировка временных таблиц

ВЫБРАТЬ ПЕРВЫЕ 999999999999
    ВнутреннийЗаказ.Сформировал КАК Сформировал,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВнутреннийЗаказ.Ссылка) КАК КолВоДокументов,
    АВТОНОМЕРЗАПИСИ() КАК Рейтинг
ПОМЕСТИТЬ ВрТабл
ИЗ
    Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ
ГДЕ
    ВнутреннийЗаказ.Дата >= &Дата
    И ВнутреннийЗаказ.Сформировал <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
    ВнутреннийЗаказ.Сформировал

УПОРЯДОЧИТЬ ПО
    КолВоДокументов УБЫВ
;    
Выбрать * Из ВрТабл


UPD: Не обратил внимание что должен выводиться одинаковый рейтинг для одинаковых количеств документов.
В случае выше просто увеличивается номер согласно сортировки, но запрос оставил для истории, может кому пригодиться.
Если по задаче, то можно сформировать отдельную таблицу рейтингов согласно количеству документов и уже с ней соединяться

ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВнутреннийЗаказ.Ссылка) КАК КолВоДокументов,
    ВнутреннийЗаказ.Сформировал КАК Сформировал
ПОМЕСТИТЬ ВрТабл
ИЗ
    Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ
ГДЕ
    ВнутреннийЗаказ.Дата >= &Дата
    И ВнутреннийЗаказ.Сформировал <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)

СГРУППИРОВАТЬ ПО
    ВнутреннийЗаказ.Сформировал
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 999999999
    ВрТабл.КолВоДокументов КАК КолВоДокументов,
    АВТОНОМЕРЗАПИСИ() КАК Рейтинг
ПОМЕСТИТЬ ВрРейтинг
ИЗ
    ВрТабл КАК ВрТабл

СГРУППИРОВАТЬ ПО
    ВрТабл.КолВоДокументов

УПОРЯДОЧИТЬ ПО
    КолВоДокументов УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВрТабл.Сформировал КАК Сформировал,
    ВрТабл.КолВоДокументов КАК КолВоДокументов,
    ВрРейтинг.Рейтинг КАК Рейтинг
ИЗ
    ВрТабл КАК ВрТабл
        ЛЕВОЕ СОЕДИНЕНИЕ ВрРейтинг КАК ВрРейтинг
        ПО ВрТабл.КолВоДокументов = ВрРейтинг.КолВоДокументов
TohaMonster,
30.03.23, 6:43 BAS Бухгалтерия. После обновления конфигурации пропали кнопки ввода на основании
Для начала всегда нужно чистить кеши.
Любые непонятные полтергейсты с формами в 99% это проблема кеша.
kihor,
01.04.22, 18:20 Война с Россией
Я не знаю на каких правах делаются локализации. Если кто знает, пишите. Могу предположить что всё заплачено ещё до того как какая-либо конфигурация вышла на рынок.
Уходит что-либо с САБ на росию или нет СЕЙЧАС - это пусть наши органы изучают. Если уходит, то по всей строгости закона их разнести - как раз под это дело законы и вышли. Если весь безнал будет в Украине, то на росию деньги только в чемоданах возить смогут.

На сегодняшний день нет адекватной замене этому софту на рынке.

p.s. Сам то я сейчас учу другой язык и другую платформу для бизнес решений (европейскую).
Acid,
22.12.21, 14:18 Насколько сейчас актуально начать изучение программирования 1С?
Ну это я к тому что возраст не проблема если голова правильно работает.

Цитата(Vofka @ 22.12.21, 14:01) *
Он, наверное, кайфует, когда пишет Запрос.Выполнить().

Наверное, это ж не на плацу маршировать и выполнять команды
Взвод.Равняйсь(); Взвод.Смирно();

32541510.gif
Inkognito,
03.12.21, 23:00 Заполнение РС (независимый, непериодический)
andr_andrey @ Сегодня, 11:00 * ,
На самом деле так и делается))) В самой транзакции проведения фиксируется сам факт необходимости формирования отложенных движений в отдельном регистре сведений. А затем стартует алгоритм формирования движений. Этот алгоритм уже обрабатывает эту очередь многопоточно N фоновыми заданиями.
Сам алгоритм управления фоновыми достаточно сложный. Если в двух словах, то он должен уметь запускать определённое количество фоновых и так что бы наборы не пересекались чтоб не ловить блокировки. Огромная куча фоновых заданий так же положит систему. В общем как я и написал - это отдельная история)))
andr_andrey,
30.11.21, 14:44 Как оптимально выбрать остатки на указанные дни?
Если на входе таблица значений и на выходе тоже должна быть таблица значений и не принципиально использовать именно запрос, тогда можно и с помощью СКД сделать

        
        // создаем схему
    СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;

        // Добавляем Источник данных.
    ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
    ИсточникДанных.Имя = "ИсточникДанных";
    ИсточникДанных.ТипИсточникаДанных = "Local";
    
    // Добавляем наборы данных.
    // тз - это наша таблица значений с колонками ДатаОстатков и Договоры, используем в качестве внешнего набора данных
    НаборДанныхОбъектСхемыКомпоновкиДанных1 = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
    НаборДанныхОбъектСхемыКомпоновкиДанных1.Имя = "НаборДанных1";
    НаборДанныхОбъектСхемыКомпоновкиДанных1.ИмяОбъекта = "тз";
    НаборДанныхОбъектСхемыКомпоновкиДанных1.ИсточникДанных = "ИсточникДанных";

    // это запрос к нашему регистру для получения остатков на каждую дату таблицы первого набора
    НаборДанныхОбъектСхемыКомпоновкиДанных2 = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
    НаборДанныхОбъектСхемыКомпоновкиДанных2.Имя = "НаборДанных2";
    НаборДанныхОбъектСхемыКомпоновкиДанных2.ИсточникДанных = "ИсточникДанных";
    НаборДанныхОбъектСхемыКомпоновкиДанных2.Запрос =
    "ВЫБРАТЬ
    |    &ДатаОстатков КАК ДатаОстатков,
    |    рнОстатки.Договор,
    |    рнОстатки.Сумма КАК СуммаОстаток
    |ИЗ
    |    РегистрНакопления.НашРегистрСОстаткамиПоДоговорам.Остатки(&ДатаОстатков, ) КАК рнОстатки";
    НаборДанныхОбъектСхемыКомпоновкиДанных2.АвтоЗаполнениеДоступныхПолей = Истина;

    // добавляем связи наборов с передачей параметров
    СвязьНабораДанных = СхемаКомпоновкиДанных.СвязиНаборовДанных.Добавить();
    СвязьНабораДанных.НаборДанныхИсточник = "НаборДанных1";
    СвязьНабораДанных.НаборДанныхПриемник = "НаборДанных2";
    СвязьНабораДанных.ВыражениеИсточник = "Договор";
    СвязьНабораДанных.ВыражениеПриемник = "Договор";
    
    СвязьНабораДанных = СхемаКомпоновкиДанных.СвязиНаборовДанных.Добавить();
    СвязьНабораДанных.НаборДанныхИсточник = "НаборДанных1";
    СвязьНабораДанных.НаборДанныхПриемник = "НаборДанных2";
    СвязьНабораДанных.ВыражениеИсточник = "ДатаОстатков";
    СвязьНабораДанных.ВыражениеПриемник = "ДатаОстатков";
    СвязьНабораДанных.Параметр = "ДатаОстатков";

    
    // Добавляем поля набора данных
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных1.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле             = "Договор";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным     = "Договор";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок     = "Договор";
    
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных1.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле             = "ДатаОстатков";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным     = "ДатаОстатков";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок     = "ДатаОстатков";
    
    ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных2.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабораДанныхСхемыКомпоновкиДанных.Поле             = "СуммаОстаток";
    ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным     = "СуммаОстаток";
    ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок     = "СуммаОстаток";
    
    // добавляем ресурс
    Ресурс = СхемаКомпоновкиДанных.ПоляИтога.Добавить();
    Ресурс.ПутьКДанным = "СуммаОстаток";
    Ресурс.Выражение = "Сумма(СуммаОстаток)";
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    
    // формируем структуру выходящих данных
    НастройкиКомпоновки = КомпоновщикНастроек.Настройки;
    
    ГруппировкаКомпоновкиДанных = НастройкиКомпоновки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ГруппировкаКомпоновкиДанных.Использование = Истина;
    
    ПолеГруппировкиКомпоновкиДанных = ГруппировкаКомпоновкиДанных.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиКомпоновкиДанных.Использование = Истина;
    ПолеГруппировкиКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Договор");
    
    ПолеГруппировкиКомпоновкиДанных = ГруппировкаКомпоновкиДанных.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировкиКомпоновкиДанных.Использование = Истина;
    ПолеГруппировкиКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("ДатаОстатков");
    
    АвтоВыбранноеПолеКомпоновкиДанных = ГруппировкаКомпоновкиДанных.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
    АвтоВыбранноеПолеКомпоновкиДанных.Использование = Истина;
    
    ВыбранноеПолеКомпоновкиДанных = НастройкиКомпоновки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
    ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("СуммаОстаток");
    
    // инициализируем макет, выполнем в коллекцию
    ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений");
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки,,,ТипГенератора);
    ВнешниеНаборы = Новый Структура("тз", тз);
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборы);
    ОбъектДляЗагрузки = Новый ТаблицаЗначений;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ПроцессорВывода.УстановитьОбъект(ОбъектДляЗагрузки);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Vofka,
29.11.21, 11:05 как обойти ошибку при подключении внешней печФормы
А что синтаксис контроль говорит по поводу модуля объекта?

А, ну и обратите внимание на то что у Вас
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();


Печатная форма - это не дополнительный отчет, скорее всего нужно использовать ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма
lolmatrix,
02.11.21, 9:54 Проблема с расходом оперативной памяти на сервере 1C
Возможно переезд на новый сервер нужно начать с чек листа настройки самого сервера.
Например,
https://fs.kursypo1c.ru/PDFs/Check-list-MS-...-setting-up.pdf
https://habr.com/ru/post/538848/
rlinks,
29.10.21, 8:08 Ожидается ли развитие BAS ERP до функционала ERP 2.4.4 И Если да, то когда?
Ожидается выход 2.5 ориентировочно в декабре (информация с официального турецкого форума)
Кому интересно детальнее пишите в личку
Секрети та "фічі" редакції 2.5 "BAS ERP"
Фінансовий облік у редакції 2.5 "BAS ERP"
Управління виробництвом у редакції 2.5 "BAS ERP"
.
Могу предоставить более широкую информацию
gorak,
25.10.21, 13:15 Инвертаризация основных средств в УТП 1.2
andr_andrey @ Сегодня, 10:59 * ,

Последние проекта 3 на котором автоматизировали склад использовали CipherLab RK25
andr_andrey,
25.10.21, 12:53 Объединение строк в запросе
Я Вас прекрасно понял. Для того что бы в запросе что-либо сгруппировать, необходимо иметь это поле по которому можно группировать

Вы привели пример на "кубиках", я и привел так же для примера запрос, в котором для "Група1" и "Група3" есть общее поле с наименованием "Група1+Група3"
В "Група2" и "Група4" оно равно NULL.
Далее в запросе проверяем что если заполнено объединяющее поле, то используем его для получения итогов. Если не заполнено, то используем поле Группа.

Возможно если бы Вы привели точный пример запроса, то и ответ получили бы более точный)
ZenBi,
20.10.21, 9:43 Дата окончания поодержки УТП
Официальных данных и информации нет об этом.
Если коротко - все говорят что закончиться поддержка, чтоб продавать быстрее другое ПО.

Когда выйдет официально инфа об этом, то будет минимум год переходного периода.
При этом обычный ИТС скорее всего не сможете купить. Сейчас это называется "ИТС ретро", который стоит на порядок выше.
т.е. поддержку получать будете, но и платить соответственно будете больше.
Но что САБ придумает по этому поводу на самом деле знает только САБ.

Вот как-то так)
sergey0703,
18.10.21, 9:00 Скрыть розничные накладные
Попробуйте следующее:
- включите ограничение доступа на уровне записей (должно быть в разделе администрирования/ настройка пользователей и прав)
- настроить профили групп доступа (после включения пункта выше). Установить ограничение данных по складам. Возможно потребуется скопировать предопределенные группы
- создать группы доступа на основании профилей и включить в них своих пользователей.
2510506,
05.08.21, 7:54 1С 8.3. Не работает карточка счета после того как убрал режим совместимости
Цитата(Cos @ 28.07.21, 14:12) *
Тоже интересует моб. клиент. Какой мин режим совместимости нужен для моб. клиента ?

Я поднимал на ERP до совместимости с версией 8.3.7, при это есть статья
Методика адаптации конфигураций под Мобильный клиент

Полностью снимал режим совместимости на УПП пару лет назад, пользовался так же информацией с ИТСа, скорей всего той что скидывали выше.

1 лайфхак для мобильного клиента. Это создание параметра сеанса ЭтоМобильныйКлиент типа Булево.
При инициализации параметров сеанса его устанавливаем и потом проверяем там где нужно.
Связано это с тем что когда мы находимся на сервере, то нельзя определить мобильный это клиент или нет и для того что бы не заморачиваться с передачей параметров в процедуры/функции и используется параметр сеанса, который доступен на сервере.
2 лайфхак для мобильного клиента. Берем библиотеку подключаемого оборудования для мобильных приложений и выдергиваем из неё общий макет Драйвер1ССканерШтрихкода
Добавляем его в нашу конфигурацию, например, Драйвер1ССканерШтрихкодаАндроид. Переопределяем процедуры инициализации драйвера оборудования если ЭтоМобильныйКлиент = Истина
И тогда нормально заработает и сканер штрихкодов (делалось для ТСД на андроиде)

По проблеме топик стартера, по памяти тоже сталкивался с тем что перестали работать бух отчеты.
Проблема была в том что там какие-то данные перестали сериализоваться (т.е. в старой платформе они серилизовались, а в новой уже нет).
Я в отладчике нашел место и переписал передачу этих данных в виде строки с помощью:
ЗначениеВСтрокуВнутр()
ЗначениеИзСтрокиВнутр()
и заработало
andr_andrey, Cos,
28.09.20, 9:43 Преобразование значения к типу Дата не может быть выполнено
А ДнейБезЗаказа без заказа это случайно не реквизит с типом Дата?
Или может проблема в ДатаПоследнейРеализации = Выборка.Дата;
В результате запроса нет данных поэтому ДатаПоследнейРеализации это не дата, которую пытаетесь привести к началу дня
odzolalvl,
03.08.20, 13:29 Особенности сортировки в POSTGRE SQL
У нас нет проблем с сортировками на POSTGRE, админы вроде средствами СУБД с сортировками поигрались и всё.
onsamuy,
03.08.20, 11:14 Обработка XML большого объема
Упрощенно код который разбивает файл на куски выглядит так:
                ИмяБезРасширения     = ""; // Чистое имя используется для генерации новых файлов
        ИмяФайла             = ""; // ИмяФайла - закачанный и разархивированный файл XML
        ПутьКНовымФайлам    = ""; // путь куда будут сохраняться новые файлы
        
        Если ЭтоLinuxСервер() ТОгда // отдельная функция которая распознает где крутится сервер 1С
            Слеш = "/";
        Иначе
            Слеш = "\";
        КонецЕсли;
        
        // читаем файл,
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(ИмяФайла);
        //Разделяем указанный файл на несколько частей заданного размера, по 100000 записей.
        НомерФайла = 0;
        КоличествоСтрокФайла = 0;
        КоличествоЗаписейДляПрерыванияАлгоритма = 100000;
        
        ЗаписьXML = Неопределено;
        Пока ЧтениеXML.Прочитать() Цикл  //Цикл по структуре
            ИмяЧтения             = ЧтениеXML.Имя;
            ТипУзлаЧтения         = ЧтениеXML.ТипУзла;
            Если ИмяЧтения = "DATA" Тогда
                // этот тег нам не нужен, пропускаем и переходим к записям
                Продолжить;
            КонецЕсли;
            Если ИмяЧтения = "RECORD" И ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
                // увеличиваем счетчик обработанной записи для того что бы как только достигнет нужного числа мы запишем файл и начнем новый
                КоличествоСтрокФайла = КоличествоСтрокФайла + 1;
            КонецЕсли;
            
            // инициируем запись нового файла
            Если КоличествоСтрокФайла = 1 И ЗаписьXML = Неопределено Тогда
                НомерФайла = НомерФайла + 1;
                ЗаписьXML = Новый ЗаписьXML;
                ИмяНовогоФайла = ПутьКНовымФайлам + Слеш + ИмяБезРасширения + "_"+ НомерФайла + ".xml";
                ЗаписьXML.ОткрытьФайл(ИмяНовогоФайла, "UTF-8");
                ЗаписьXML.ЗаписатьОбъявлениеXML(); //
                ЗаписьXML.ЗаписатьНачалоЭлемента("DATA"); // начинаем общий тег для хранения списка записей
            КонецЕсли;
            
            // в упращенном файле используются только начало, конец элемента и текст
            Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
                ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяЧтения);
            ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
                ЗаписьXML.ЗаписатьКонецЭлемента();
            ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
                ЗаписьXML.ЗаписатьТекст(ЧтениеXML.Значение);
            КонецЕсли;
            
            // определяем что в новом файле уже нужное нам количество записей
            Если КоличествоСтрокФайла = КоличествоЗаписейДляПрерыванияАлгоритма И ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента И ИмяЧтения = "RECORD" Тогда
                ЗаписьXML.ЗаписатьКонецЭлемента(); // DATA
                ЗаписьXML.Закрыть();
                // обнуляем значения для того чтоб попало в проверку генерации нового файла
                КоличествоСтрокФайла = 0;
                ЗаписьXML = Неопределено;
            КонецЕсли;
        КонецЦикла;
        
        Если ЗаписьXML <> Неопределено Тогда
            // последний файл с вероятностью 99.99% не записан
            ЗаписьXML.ЗаписатьКонецЭлемента(); // DATA
            ЗаписьXML.Закрыть();
            КоличествоСтрокФайла = 0;
            ЗаписьXML = Неопределено;
        КонецЕсли;


Вырезал куски, у меня просто там куча всего ещё написано для отладки и настройки алгоритмов загрузки.
Но для понимания должно хватить)
Vond,
03.08.20, 10:45 Возможно ли задать переменную в вычисляемые поля в схеме СКД
Вы можете в функцию передать все ваши параметры плюс один дополнительный, например:
Функция ВычислитьСумму(Сумма1, Сумма2, Сумма3, Сумма4, МетодСуммирования) Экспорт
    
    Если МетодСуммирования = 1 Тогда
        Результат = Сумма1 + Сумма2;
    ИначеЕсли МетодСуммирования = 2 Тогда
        Результат = Сумма3 + Сумма4;
    ИначеЕсли МетодСуммирования = 3 Тогда
        Результат = Сумма1 + Сумма2 + Сумма3 + Сумма4;
    Иначе
        Результат = 0;
        // ну и т.д. как душе угодно
    КонецЕсли;
    Возврат Результат;

Конецфункции;


Тогда код в выражениях будет почти всегда один и тот же для облегчения написания, а управлять расчетом будет отдельный параметр
Gigi,
30.07.20, 14:34 Возможно ли задать переменную в вычисляемые поля в схеме СКД
В схеме компоновки данных есть возможность определения вычисляемого поля. Вычисляемые поля представляют собой дополнительные поля схемы, значения которых будут вычисляться по некоторой формуле. Вычисляемые поля можно создавать для того, чтобы использовать поля из различных наборов данных, выполнять операции над полями наборов данных - объект, и для других целей. В настройках компоновки данных вычисляемое поле будет фигурировать под именем, указанным в пути к данным этого поля. Пользователь сможет работать с вычисляемым полем точно так же, как и с полем набора данных.

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

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

Р.S. Информация взята с сайта ИТС.
Как вариант можно написать свою функцию общего модуля и передавать в неё значения в качестве параметров, а она пусть уже считает как Вам хочется.
Gigi,
30.07.20, 10:20 Обработка XML большого объема
Vond,
Фишка в том что есть огромный файл.
Его нужно читать последовательно, а не целиком.
Алгоритм следующий:
1. Читаешь последовательно строки XML с помощью
ЧтениеXML = Новый ЧтениеXML; 
ЧтениеXML.ОткрытьФайл(ИмяФайла);
ЧтениеXML.Прочитать();
// начинаем читать дальше строки файла
        
Пока ЧтениеXML.Прочитать() Цикл  //Цикл по структуре
// .........
КонецЦикла;

В этом случае оперативная память не загружается и в ней находятся только прочитанные на момент чтения строки.
Минус в том что мы не можем контролировать что загружено из файла что нет и если что-то пойдет не так то нам нужно начинать сначала.
2. Поэтому перед тем как выполнять записи в базу я этот большой XML дробил программно на кучу (по 100000 записей, это на усмотрение)
В результате у меня было N количество небольших файлов ожидающих загрузки данных.
3. После того как новые файлы сформированы запускаем уже разбор этих отдельных файлов.
Читаю каждый файл и гружу по нему данные. Если успешно загрузился, то грохаю его, если прошла какая-то ошибка, то пропускаю (перемещаю в отдельный каталог. что бы потом выяснить на чем прошел затык)
И так выполняется пока все они не будут обработаны.
Макс1С,
15.07.20, 10:42 Почему не сходится управленческий баланс?
Обработка для российских конфигураций. Лучше задавать вопросы по ней автору непосредственно на инфостарте. Опыта нет с этой обработкой.
Из описания я понял что вроде как должна работать. С одним НО: без разработчика не обойтись - он должен настроить статьи и алгоритмы получения данных по статьям.
Обработка всего-лишь инструмент, основным источником получения данных являются запросы, которые пишутся под каждую статью.
Когда-то давно для УПП я делал нечто подобное что описано в обработке.
Определялся список статей расходов и доходов и описывались источники получения данных для этих статей (правда у меня могли обходиться без программиста, нужен был просто продвинутый пользователь 1С)

А управленческий баланс дело очень интимное. У каждой организации он считается по разному и почему он не сходится - нужно разбираться непосредственно в базе.

olatim, TohaMonster,
19.05.20, 15:27 Пактум контрагент
alex-rc @ 13.05.20, 15:43 * ,
Самому написать. Все данные есть в открытых источниках на официальных сайтах, например, тут https://data.gov.ua/dataset/1c7f3815-3259-4...f1-64dca07ddc10
alex-rc,
20.11.19, 16:47 Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Давайте без "допустим"? ТипЗнч возвращает тип переданного в неё значения (неожиданно, да?).

ТипЗнч("СправочникСсылка.Справочник1") - это строка, какую информацию Вы хотите получить от параметра типа "Строка"?
Для того что бы получить всё что слева нужно использовать методы, которые предназначены для строк.
ЧтотоСлева = СтрРазделить("СправочникСсылка.Справочник1",".")[0];

или вот, основываясь на посте Vofka,
ПроверяемыйТип = Метаданные.Справочники.ВидыОплатОрганизаций.Реквизиты["ДоговорКонтрагента"].Тип;
ЧтотоСлева = СтрРазделить(Метаданные.НайтиПоТипу(ПроверяемыйТип .Типы()[0]).ПолноеИмя(),".")[0];

(это сарказм если что)


Поэтому, укажите конкретно относительно чего вы хотите получить ту информацию которую просите от ТипЗнч?
А то опять 1000 букв, но одна вода.
Gigi,
19.11.19, 17:07 Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Цитата(Vofka @ 19.11.19, 16:18) *
Если регистр периодический, то обращаясь к таблицам СрезПервых/СрезПоследних там разве доступны реквизиты?

Да, доступны. Так же как и в ресурсах регистра сведений (в отличии от других регистров) можно указывать не только числа
Макс1С,
08.11.19, 13:26 Системная функция "ТипЗнч()" - не вопрос, а просто мнение
Gigi,
ЖКК
Глобальный контекст (Global context)
ТипЗнч (TypeOf)
Синтаксис:
ТипЗнч(<Значение>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный.
Значение, тип которого необходимо получить.
Возвращаемое значение:
Тип: Тип.
Описание:
Получает тип значения.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:
Если ТипЗнч(ТекОбъект) = Тип("СправочникСсылка.Номенклатура") Тогда
...
КонецЕсли;


Тип (Type)
Описание:
Значения данного типа используются для идентификации типов значений. Это необходимо для определения и сравнения типов. Данный тип не имеет литералов и возвращается функциями встроенного языка ТипЗнч и Тип.
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер). Возможен обмен с сервером. Сериализуется.
Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: Type


Вопрос. С чего Вы взяли что метод который ТипЗнч должен быть именно такой как Вам он нужен?

Вы там упоминали о том что инструмент не важен для открытия бутылки (с таким подходом Вы б у меня не работали, повзрослеете как специалист - поймете, даже стараться объяснять это не буду).
Но у меня почему-то другая ассоциация возникает:
Купив велосипед Вы предъявляете производителю претензию к тому что велосипед не летает. И самостоятельно начинаете приваривать крылья к велосипеду, пытаясь доказать всем что именно такими и должны быть велосипеды. Хотя даже с приваренными крыльями он всё-равно летать не станет.
MATEVI,

22 страниц V   1 2 3 > » 
RSS Текстовая версия Сейчас: 19.03.24, 12:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!