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

Хранилище

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

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



История благодарностей участнику AnryMc ::: Спасибо сказали: 136 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
30.05.25, 7:30 В якій процедурі проходить стандарне заповнення випадаючого списку номенклатури?
andytg @ Вчера, 15:58 * ,

Делал:

1) VBScript.RegExp - довольно быстро

    МойОтбор1 = Новый СписокЗначений;
    
    Если ОдноЧисло Тогда
        
        СтрокаШаблона = "ЧЧЧ1\s{0,2}[mм][mм].?";
        
    Иначе
        
        СтрокаШаблона = "ЧЧЧ1\s{0,2}[xх\*\/]\s{0,2}ЧЧЧ2\s{0,2}[mм][mм].?";
        
    КонецЕсли;
    
    RegExp = Новый COMОбъект("VBScript.RegExp");
    RegExp.MultiLine = ЛОЖЬ; //Многострочный
    RegExp.Global = Истина;
    RegExp.IgnoreCase = Истина; //Регистр верхний/нижний или не учитывать

/////////////////////////////

    RegExp.Pattern = СокрЛП(СтрокаШаблона);
    
    ВыборкаПродуктов = Справочники.Продукт.Выбрать();
    
    Пока ВыборкаПродуктов.Следующий() Цикл
        
        Matches=RegExp.Execute(СокрЛП(ВыборкаПродуктов.Наименование));
        
        Если Matches.Count > 0 Тогда
            
            МойОтбор1.Добавить(ВыборкаПродуктов.Ссылка);
            
        КонецЕсли;
        
    КонецЦикла;
    
    НовыйЗапрос = РеквизитТекстЗапроса + "
    |ГДЕ
    |СправочникПродукт.Ссылка В(&МойОтбор1)";
    
    Список.ПроизвольныйЗапрос = Истина;
    Список.ТекстЗапроса = НовыйЗапрос;
    Список.ОсновнаяТаблица = Список.ОсновнаяТаблица;
    Список.ДинамическоеСчитываниеДанных = Истина;
    
    Список.Параметры.УстановитьЗначениеПараметра("МойОтбор1", МойОтбор1);


2) Запрос - ПОДОБНО - довольно тормознуто
    Запрос.УстановитьПараметр("ИскомоеСодержимое", "%"+СокрЛП(ПоискПоИзвлеченномуТексту)+"%");


3) Нечеткий поиск - средненько, но терпимо
    Для каждого тек Из тз_Отбора Цикл
        
        НаимСЖ=СтрокаСжать(тек.Наименование);          
        Нашли="";
        
        РезТек=НечеткоеСравнение(НаимСЖ,ИскСЖ,Нашли,Ранг);
        
        РезТек=2*РезТек-СтрДлина(Нашли);
        РезТек=Цел(100*РезТек/СтрДлина(ИскСЖ));
        
        Если РезТек >= Достоверность Тогда
            
            ДобавитьВРезультаты(Нашли,РезТек, Результаты2, тек.Ссылка, тЭлем, Искомое);
            
        КонецЕсли;
        
        Если ТекущаяДата()>=Лимит Тогда
            
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "ПРЕРВАНО! Перевищено тайм-аут!";
            Сообщение.Сообщить();
            
            Прервать;
            
        КонецЕсли;    
        
    КонецЦикла;

//***************************
&НаСервере
Функция НечеткоеСравнение(Строка1,Строка2,Строка3,Ранг=0)
    
    Дл=СтрДлина(Строка2);
    
    Если Строка1=Строка2 Тогда
        
        Если Строка3="" Тогда Строка3=Строка1 Иначе Строка3=Строка3+","+Строка1 КонецЕсли;
        
        Возврат(Дл);
        
    КонецЕсли;
    
    Огр=Цел(Дл/10); Если Огр>2 Тогда Огр=2 КонецЕсли;
    От=0;
    
    Если Ранг>0 Тогда
        
        От=Дл-Ранг;
        
    КонецЕсли;
    
    Для Сч1=От По Дл-2 Цикл
        
        Для Сч2=1 По Сч1+1 Цикл
            
            Иск=Сред(Строка2,Сч2,Дл-Сч1);
            
            Если(Найти(Строка1,Иск)<>0) Тогда
                
                Рез=СтрДлина(Иск);
                
                Если Строка3="" Тогда
                    
                    Строка3=Иск;
                    
                Иначе
                    
                    Строка3=Строка3+","+Иск;
                    
                КонецЕсли;    
                
                Если (Рез>Огр) или ((Строка3<>Иск) и (Рез>2)) Тогда
                    
                    Стр1=СтрЗаменить(Строка1,Иск,"");
                    Стр2=СтрЗаменить(Строка2,Иск,"");               
                    Рез1=НечеткоеСравнение(Стр1,Стр2,Строка3,Рез);      
                    Рез=Рез+Рез1;
                    
                КонецЕсли;
                
                Возврат(Рез);
                
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЦикла;
    
    Возврат(0);
    
КонецФункции


Другой вариант - тоже терпимо
    ТекстПоиск = "0";
    
    Для Индекс = 1 По ДлинаСтроки - 3 Цикл
        
        ТекстПоиск = ТекстПоиск + " + ВЫБОР КОГДА ИсточникДанных." + ИмяРеквизит + " ПОДОБНО ""%" + Сред(СтрокаПоиска, Индекс, 3) + "%"" ТОГДА 1 ИНАЧЕ 0 КОНЕЦ";
        
    КонецЦикла;
    
    ТекстДерево = Дерево("ИсточникДанных." + ИмяРеквизит, -1, 300);
    
    ТекстРанг = "ВЫБОР КОГДА ПОДСТРОКА(ИсточникДанных." + ИмяРеквизит + ", " + (ДлинаСтроки + 1) + ", 3) = """" ТОГДА " + ДлинаСтроки + " ИНАЧЕ " + ТекстДерево + " КОНЕЦ";
    
    Запрос = Новый Запрос;
    
    Запрос.Текст = "
    |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 500
    |    ИсточникДанных.Ссылка КАК Ссылка,
    |    ИсточникДанных." + ИмяРеквизит + " КАК Реквизит,
    |    100*(" + ТекстПоиск + ")/(" + ТекстРанг + " - 2) КАК Ранг
    //|ИЗ " + ЭтаФорма.ИмяИсточникДанных + " КАК ИсточникДанных
    |ИЗ Справочник.Продукт КАК ИсточникДанных
    |ГДЕ " + ТекстПоиск + " > 0
    |УПОРЯДОЧИТЬ ПО
    |    Ранг УБЫВ";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка = РезультатЗапроса.Выбрать();
    
    Результат = "<html><body><table><tr><td><b>Ранг</b></td><td><b>Найденная строка<b></td></tr>";
    
    Пока Выборка.Следующий() Цикл
        
        Индекс = 1;
        НайденнаяСтрока = Выборка.Реквизит;
        
        Пока Индекс < ДлинаСтроки Цикл
            
            Длина = 2;
            
            Пока Индекс + Длина <= ДлинаСтроки Цикл
                
                Если Найти(НайденнаяСтрока, Сред(СтрокаПоиска, Индекс, Длина + 1)) > 0 Тогда
                    
                    Длина = Длина + 1;
                    
                Иначе
                    
                    Прервать;
                    
                КонецЕсли;
                
            КонецЦикла;
            
            Если Длина > 2 Тогда
                
                Подстрока = Сред(СтрокаПоиска, Индекс, Длина);
                НайденнаяСтрока = СтрЗаменить(НайденнаяСтрока, Подстрока, "<b>" + Подстрока + "</b>");
                
            Иначе
                
                Длина = 0;
                
            КонецЕсли;
            
            Индекс = Индекс + Длина + 1;
            
        КонецЦикла;
        
        Результат = Результат + "<tr><td><button id=" + ЗначениеВСтрокуВнутр(Выборка.Ссылка) + ">...</button>&nbsp;";
        Результат = Результат + Цел(Выборка.Ранг);
        Результат = Результат + "</td><td>";
        Результат = Результат + НайденнаяСтрока;
        Результат = Результат + "</td></tr>";
        
    КонецЦикла;
    
    Результат = Результат + "</table></body></html>";



andytg,
29.05.25, 15:29 Обработка пометки удаления по организации
НайтиПоСсылкам(<СписокСсылок>, <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)

СписокСсылок - массив с вашей организацией
ОбластьПоиска - Метаданные - документы

Затем обход таблицы значений
получение объекта
установка отметки на удаление
запись объекта
(режим обмен данными)
kihor,
07.04.25, 13:35 Нумерація документів реалізації
Цитата(sava1 @ 07.04.25, 12:52) *
Это немного не оттуда


Функция с префиксом не работает... Поэтому я и описал метод с перенумерацией, но это отвечает на вопрос
Цитата
Наскільки я розумію, нумератор зберігається десь у пам'яті/кеші сервера для бази (у нас клієнт-серверний варіант). Якщо це так, то не підкажете, як мені переініціалізувати нумератор для робочої бази?

kihor,
07.04.25, 12:13 Нумерація документів реалізації
Цитата(kihor @ 07.04.25, 11:47) *
Наскільки я розумію, нумератор зберігається десь у пам'яті/кеші сервера для бази (у нас клієнт-серверний варіант).


Ищется МАКСИМУМ и + 1

Так что:
1) Исправить 9999999 на последний правильный +1
2) перенумеровать все неправильные (9999999)

З.Ы, Автору надавать по рукам - чтоб впредь неповадно было...

З.Ы,Ы.
Цитата
Глобальный контекст (Global context)
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)
Синтаксис:
ОбновитьНумерациюОбъектов(<Метаданные>)


!!!!!!!!!!!!!!!
Цитата
Описание:
Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но незаписанные номера, становятся невалидными т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.
kihor,
07.04.25, 10:42 Внешння печатная форма и 2 команды печати
Profi_1C77 @ Сегодня, 10:35 * ,

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    
    Наименование = УказатьНаименованиеВнешнейПечатнойФормы();
    
    МассивНазначений.Добавить(ПолучитьМетаданныеДокументаПечати());
    //может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("Наименование", Наименование);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    //так будет выглядеть описание печ.формы для пользователя
    ПараметрыРегистрации.Вставить("Информация", Наименование);
    
    [b]ТаблицаКоманд = ПолучитьТаблицуКоманд();[/b]
    ДобавитьКоманду(ТаблицаКоманд, Наименование, УказатьНаименованиеКомандыПечати(), "ВызовСерверногоМетода", Истина, "ПечатьMXL");
    
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

[b]Функция ПолучитьТаблицуКоманд()[/b]
    
    Команды = Новый ТаблицаЗначений;
    //как будет выглядеть описание печ.формы для пользователя
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    //имя макета печ.формы
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    //ВызовСерверногоМетода
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    
    Возврат Команды;
КонецФункции
Profi_1C77,
27.02.25, 11:19 Как создать "константы" в расширении до версии 8.3.16
Profi_1C77 @ Сегодня, 10:54 * ,

В обычной конфигурации вы обращаетесь к константам по имени

Константы.ИмяНужнойКонстанты.Получить()


В расширении для справочника "Константы" можно использовать составные имена (двойные)

Справочники.Константы.НужныоеИмяКонстанты.НужныйРеквизитНужногоТипа


Например для элемента справочника задать Реквизиты:
- РеквизитБулево
-РеквизитЧисло
-РеквизитСтрок
-РеквизитЛюбаяСсылка
Profi_1C77,
12.02.25, 16:33 Де налаштовується розрадність розрахунку формул в 1С?
Petre @ Сегодня, 16:29 * ,

Цитата
чому саме на калькуляторі правильно?


Потому что у бухгалтера калькулятор...
mvo2008, TohaMonster,
03.02.25, 11:35 сколько нужно зарезервировать места на сервере под установку BAS которая будет разрастаться на сервере
То что могу увидеть:

Бухгалтерия БАС (плательщик, НДС, купля-продажа крупный опт): в среднем за месяц
списание с РС - 600
поступление на РС - 100
РТУ - 55 (5 позиций)
ПТУ - 382 (2 позиции)
Куча ОС (недвижимость, автомобили)
Очень много командировок
До 200 сотрудников
База SQL за 4 года 3,5 Гб + 1,2 Гб лог

ЗУП (До 200 сотрудников, довольно разнообразные начисления)
База SQL за 8 лет 3,5 Гб + 0,2 Гб лог
Ch2025,
29.01.25, 14:45 Когда нужен план счетов
xlmel @ Сегодня, 14:10 * ,

Цитата
то надо брать типовую конфигурацию


===>>>

Цитата
Zippy-склад - безкоштовна облiкова система з вiдкритим кодом i веб-iнтерфейсом для автоматизації малого бізнесу
UmbertoVasyl`ovich,
29.01.25, 8:28 Действия на сервере при выходе из программы! Как?
Vofka @ Вчера, 19:10 * ,

Я вижу такое решение - "шара" на сервере и класть с Клиента туда...
Ну и на сервере - искать в "шаре"
alex-l1904,
27.01.25, 15:28 Вивести в табличний документ два макети з різною орієнтацією
denis84 @ Сегодня, 14:56 * ,

Можно 2 макета вывести в один табличный документ

Макет1=ПолучитьМакет("макет1");
Макет2=ПолучитьМакет("макет2");
Область1Макета1=Макет1.ПолучитьОбласть("Область1");
Область1Макета2=Макет2.ПолучитьОбласть("Область1");
ТабДокумент.Вывести(Область1Макета1);
ТабДокумент.Вывести(Область1Макета2);


Вариант вместо "вывести":
ВставитьОбласть

Но более "кошерно":

Пакет = Новый ПакетОтображаемыхДокументов;
ЭлементПакета1 = Пакет.Состав.Добавить();

ТабДок = Новый ТабличныйДокумент;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабДок);

ЭлементПакета2 = Пакет.Состав.Добавить();

ТабДок2 = Новый ТабличныйДокумент;
ТабДок2.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабДок2);


здесь печать с разной ориентацией сразу из двух разных макетов (табличных документов)
denis84, Vofka,
27.01.25, 10:28 Чем заменить из УТП1.2 " глЗначениеПеременной" для BAS КУП
Цитата(Ch2025 @ 26.01.25, 15:54) *
ЗначенияДополнительныхПравПользователя



РольДоступна("НужнаяРоль")
Ch2025,
08.01.25, 16:38 Не получается обновить конфигурацию УТП 2
Цитата(Svetas2025 @ 08.01.25, 16:13) *
не "заремлены" - уточните пожалуйста это как


Не имеет значения т.к. Ві пишите что ставили последовательно обновление 71 - запуск программы под пользователем, 72 - запуск программы под пользователем, 73 - запуск программы под пользователем, 74 - запуск программы под пользователем

Так? запуск под пользователем после установки каждого обновления?

З.Ы. Если нет то конечно не отработает там есть проверка какая версия на какую обновляется.....

В таком случае - либо повторить обновление
Либо смотреть в коде что обновлялось и обработкой "НачальноеЗаполнениеИОбновлениеОбъектов" обновить "ручками"
Svetas2025,
16.12.24, 11:31 Сумма умножается на количество строк
Shiwchik @ Сегодня, 11:28 * ,


Последний рисунок колонка - "Рассчитівать по..."
Shiwchik,
12.11.24, 12:22 Як уникнути двомовності в найменуваннях елементів довідника
Подключить Искусственный интеллект и обучить его...
twilight_dream,
17.09.24, 11:06 Как поменять представление с русского языка на украинский в форме документа и печатной форме?
Mr_Daniel_Khorn @ Сегодня, 11:50 * ,

А внизу справа "часики" - на каком языке показывают?

Это самое простое...

Ну или можно в формуле формирования строки производить замену...
...
    МояСтрока = СтрЗаменить(МояСтрока, "Сентябрь", "Вересень");
    МояСтрока = СтрЗаменить(МояСтрока, "Октябрь", "Жовтень");
...

Mr_Daniel_Khorn,
22.08.24, 15:49 Работа с прайс листом
fargus7367 @ Сегодня, 15:58 * ,

А если сохранить во внешний - откроется?

"Почистить" типа справочника "Пользовательские настройки"
ИЛИ
Где то "гуляла" обработка по копированию/очистке системных хранилищ настроек (я когда то писал но для обычных форм)

Типа
ХранилищеСистемныхНастроек.Удалить("Отчет.МойОтчет/МойВариантОтчета/ТекущиеПользовательскиеНастройки" ,,"ИмяПользователя")
fargus7367,
12.08.24, 16:13 Виконати фонове завдання на сервері з обробки
Цитата(Slon747 @ 12.08.24, 16:54) *
А где взять пароль на архив?


Прочитать правила форума 32542460.gif

Правила и условия публикации сообщений на форуме

Пункт: 14

Заодно: Возможность поблагодарить отвечающего
Slon747, Vofka,
12.08.24, 14:49 Виконати фонове завдання на сервері з обробки
Slon747 @ Сегодня, 12:45 * ,

Кусок рабочего кода:
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    ДлительнаяОперация=ПечатьВФоне(ОбъектыНазначенияМассив[0]);
    ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
    ПараметрыОжидания.ВыводитьПрогрессВыполнения = Истина;
    ПараметрыОжидания.Интервал = 10; //Небольшое значение - для теста
    
    ДлительныеОперацииКлиент.ОжидатьЗавершение(
    ДлительнаяОперация,
    Новый ОписаниеОповещения("ПечатьЗавершение", ЭтотОбъект),
    ПараметрыОжидания);

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

&НаСервере
Функция ПечатьВФоне(СсылкаНаОбъект)
    ОбъектВПФ=РеквизитФормыВЗначение("Объект");
    ////////////СсылкаНаВПФ=Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта","ВПФФоном");
    СсылкаНаВПФ=Параметры.ДополнительнаяОбработкаСсылка;
    Макет=ОбъектВПФ.ПолучитьМакет("МакетПечати");
    
    //Это что вызываем
    ПараметрыЗадания = Новый Структура;
    ПараметрыЗадания.Вставить("ИмяОбработки", "ВнешняяОбработка.ВПФФономИсторияОбъекта");
    ПараметрыЗадания.Вставить("ИмяМетода", "Печать");
    ПараметрыЗадания.Вставить("ПараметрыВыполнения", Новый Структура("СсылкаНаОбъект,Макет", СсылкаНаОбъект,Макет));
    ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);
    ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка",СсылкаНаВПФ);
    
    //Это как вызываем
    ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
    ПараметрыВыполнения.НаименованиеФоновогоЗадания = "Запуск длительного формирования ВПФ";;
    ПараметрыВыполнения.ЗапуститьВФоне = Истина;
    ПараметрыВыполнения.ОжидатьЗавершение=0.1;    //Нет смысла ждать!!!
    
    //запускаем выполнение фонового задания
    Возврат ДлительныеОперации.ВыполнитьВФоне("ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки", ПараметрыЗадания, ПараметрыВыполнения);
КонецФункции // ЗапуститьФормированиеВПФ()


&НаКлиенте
Процедура ПечатьЗавершение(Результат, ДополнительныеПараметры) Экспорт
     Если Результат = Неопределено Тогда
        Возврат;
    ИначеЕсли Результат.Статус = "Ошибка" Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Результат.ПодробноеПредставлениеОшибки);
    ИначеЕсли Результат.Статус = "Выполнено" Тогда
        ТабДок=ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
        ТабДок.Показать();
    КонецЕсли;    
КонецПроцедуры


Обратите внимание на:
//запускаем выполнение фонового задания
Возврат ДлительныеОперации.ВыполнитьВФоне("ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки", ПараметрыЗадания, ПараметрыВыполнения);

//Это что вызываем
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяОбработки", "ВнешняяОбработка.ВПФФономИсторияОбъекта");
ПараметрыЗадания.Вставить("ИмяМетода", "Печать");
ПараметрыЗадания.Вставить("ПараметрыВыполнения", Новый Структура("СсылкаНаОбъект,Макет", СсылкаНаОбъект,Макет));
ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);
ПараметрыЗадания.Вставить("ДополнительнаяОбработкаСсылка",СсылкаНаВПФ);

Пример можно скачать: Внешня печатная форма "История объекта фоном"


Slon747,
06.08.24, 13:10 Видимость поля в зависимости от выбора пользователя
Mr_Daniel_Khorn @ Сегодня, 13:49 * ,

Да.

Проверить просто: В конфигураторе Форма. Вверху справа окошко. Открываем Корень Объект, ищем нужные данные (ПутьКДанным из реквизита) и смотрим их тип

З.Ы.

Неправильно но сработает если только одно написание (один язык)

Если СокрЛП(Ст) = "Заробітна плата" Тогда


Если несколько языков
... = НСтр(.......)
Mr_Daniel_Khorn,
06.08.24, 11:49 В какой процедуре устанавливается номера документа?
Есть несколько механизмов:
- автонумерация (+ 1 от max в пределах периодичности: без, год, квартал, месяц, день)
- в "ветке" документы есть "подветвь" - Нумераторы - если надо обеспечить одну сквозную нумерацию нескольким видам документов (например налоговым - Налоговая накладная и Приложение 2)
- произвольный алгоритм в принципе можно расположить где угодно, но посмотрите:
- Модуль объекта: ПриУстановкеНовогоНомера
- Модуль объекта: ПередЗаписью
- Модуль формы: ПередЗаписью

P.S. Не забыть что есть куча подписок на событие с проверкой номера в совокупностью с Организацией, Датой...

P.P.S. Обычно при входе в ПриЗаписи из модуля объекта НОМЕР уже установлен
P.P.P.S. Смотреть кучу общих модулей: ПрефиксацияОбъектов.......
kostya77,
23.07.24, 16:47 Поочередное открытие документов
Цитата(Alex007 @ 23.07.24, 16:50) *
ПараметрыФормы = Новый Структура("Ключ", ДопПараметры.МассивСсылок[0]);


А в отладчике здесь что?

Похоже вы передали 1 (!!!) ссылку а не массив...
Alex007,
17.07.24, 12:02 Универсальный обмен данными в формате xml: как сделать так чтобы после загрузки документ проводился?
kostya77 @ Сегодня, 12:29 * ,

Подозреваю что:

- Выгружать/Загружать - движения документа
ИЛИ
- после загрузки вызвать для Объекта - "Провести"
Цитата
Записать(<РежимЗаписи>, <РежимПроведения>)
kostya77,
11.07.24, 14:26 Как связать Регистр Накопления с Регистром бухгалтерии?
kostya77 @ Сегодня, 14:23 * ,

Примерно так:
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    Хозрасчетный.Регистратор КАК РегистраторБух,
|    СУММА(Хозрасчетный.Сумма) КАК СуммаБух,
|    партионный .Регистратор КАК РегистраторРег,
|    СУММА(партионный .СуммаВзаиморасчетов) КАК СуммаРег
|ИЗ
|    РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
// Выберем все чтобы попали Регистраторы у которых движения только по одному учетному механизму (бух или Рег)
|        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.партионный КАК партионный
|        ПО Хозрасчетный.Регистратор = партионный .Регистратор
|
// если у одного Регистратора несколько движений получим одно (итоговая сумма)
// ??? если есть сторнировки ???
|СГРУППИРОВАТЬ ПО                    
|    Хозрасчетный.Регистратор,
|    партионный .Регистратор";


Получим таблицу:

Регистратор Бух | Регистратор Рег | Сумма Бух | Сумма Рег |

Обычно "Регистратор Бух" = "Регистратор Рег" совпадают (всегда) и заполнены оба,
но если Регистратор делал движения только в одном учётном механизме - один из них будет "пустым"


kostya77,
10.07.24, 11:48 НачалоВыбора или НачалоВыбораизСписка ? (1c 8.3 УФ)
andrew76 @ Сегодня, 12:24 * ,

Возможно как то так:

&НаКлиенте
//Замена стандартного выбора элементов
Процедура ХХХХХХХХХХХХХХХНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;

ВариантыВыбора = СписокМоихЗачений();

    Оповещение = Новый ОписаниеОповещения("ВыполнитьПослеВыбораНужного", ЭтотОбъект,  Элемент);

        ПоказатьВыборИзСписка(Оповещение, ВариантыВыбора, Элемент);

//*************

&НаКлиенте
Процедура ВыполнитьПослеВыбораНужного(РезультатВыбора, ДополнительныеПараметры) Экспорт
    
    Если РезультатВыбора = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Объект.МойРеквизит= РезультатВыбора.Значение;
    
КонецПроцедуры

&НаСервер
Функция СписокМоихЗачений()
    
    ВариантыВыбора = Новый СписокЗначений();

//заполнить как надо - например запросом
    
    ВариантыВыбора.Добавить(НужноеМнеЗначение_1, "Представление нужного мне значения № 1 для отображения при выборе");

    Возврат ВариантыВыбора;
    
КонецФункции
andrew76,

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