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

Хранилище

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

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



История благодарностей участнику AnryMc ::: Спасибо сказали: 114 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
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,
26.06.24, 16:08 Формування SAF-T UA
denis84 @ Сегодня, 14:39 * ,

Для 8.3 BAS
CONTO. Модуль «Формування SAF-T UA»



Цитата
144 000 грн


Цитата
CONTO. Модуль «Формування SAF-T UA». Налаштування та адаптація до заповнення даними з облікових систем підприємства***

144 000 – 336 000
denis84,
10.06.24, 12:26 Работа с объектами конфигурации, помеченных префиксом «Устарело….»
Я бы посмотрел сюда ----->>>>

Общий модуль "УправлениеДоступомПереопределяемый"

// доступа в модулях менеджеров или переопределяемом модуле.
//
// В модулях менеджеров указанных списков должна быть размещена процедура обработчика,
// в которую передаются следующие параметры.
//
//  Ограничение - Структура - со свойствами:
//    * Текст                             - Строка - ограничение доступа для пользователей.
//                                            Если пустая строка, значит доступ разрешен.
//    * ТекстДляВнешнихПользователей      - Строка - ограничение доступа для внешних пользователей.
//                                            Если пустая строка, значит доступ запрещен.
//    * ПоВладельцуБезЗаписиКлючейДоступа - Неопределено - определить автоматически.
//                                        - Булево - если Ложь, то всегда записывать ключи доступа,
//                                            если Истина, тогда не записывать ключи доступа,
//                                            а использовать ключи доступа владельца (требуется,
//                                            чтобы ограничение было строго по объекту-владельцу).
///   * ПоВладельцуБезЗаписиКлючейДоступаДляВнешнихПользователей - Неопределено, Булево - см.
//                                            описание предыдущего параметра.
//
// Далее пример процедуры для модуля менеджера.
//
//// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
//Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
//    
//    Ограничение.Текст =
//    "РазрешитьЧтениеИзменение
//    |ГДЕ
//    |    ЗначениеРазрешено(Организация)
//    |    И ЗначениеРазрешено(Контрагент)";
//    
//КонецПроцедуры
//
// Параметры:
//  Списки - Соответствие - списки с ограничением доступа:
//             * Ключ     - ОбъектМетаданных - список с ограничением доступа.
//             * Значение - Булево - Истина - текст ограничения в модуле менеджера.
//                                 - Ложь   - текст ограничения в этом переопределяемом
//                модуле в процедуре ПриЗаполненииОграниченияДоступа.
//
Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки) Экспорт


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

И "УправлениеДоступомБП" Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки)
RedCat77,
27.05.24, 10:28 Печать документов на два разных принтера
Цитата
ТабличныйДокумент (SpreadsheetDocument)
ИмяПринтера (PrinterName)
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит имя принтера, известного в системе, на который будет выводиться табличный документ при печати.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер).
Использование в версии:
Доступен, начиная с версии 8.0.
kostya77,
01.05.24, 16:05 Помилка SDBL при створення нової УТП з .cf
Talkman @ Сегодня, 16:00 * ,

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

Загрузить в СУБД... из .dt
Talkman,
02.04.24, 14:33 Работа с объектом ДанныеФормыКоллекция 1С 8.3 (УФ)
Цитата(andrew76 @ 02.04.24, 14:58) *
Для каждого стр из РеквизитТЗ Цикл
//вот здесь отладчик пишет что стр =ДанныеФормыЭлементКоллекции
//как можно вытащить название колонки и ее значение ?
КонецЦикла


!!!
???
Не РеквизитТЗ
А РЕЗУЛЬТАТ

Для каждого стр из РЕЗУЛЬТАТ Цикл

нс = РеквизитТЗ .Добавить();

ЗаполнитьЗначенияСвойств(нс, стр);

КонецЦикла


З.Ы, Если "колонки" определены в РеквизитТЗ


ИЛИ

    ТекДок = РеквизитФормыВЗначение("Объект");
    тз_Продукты = ТекДок.ПодробностиЗапроса.Выгрузить(,);
    
    Для КАЖДОГО текПродукт ИЗ тз_Продукты Цикл
        

        
    КонецЦикла;
    
    ТекДок.ПодробностиЗапроса.Загрузить(тз_Продукты);
    ЗначениеВРеквизитФормы(ТекДок, "Объект");
andrew76,
27.03.24, 11:08 Умова ИЛИ у швидкому відборі універсального звіту
zay @ Сегодня, 10:59 * ,

Если честно, то ничего не понял...

Но:
В стандартных отборах можно создать:
1) Отборы по контрагенту (2 отбора, 2 строки отбора)
2) Выделить оба отбора (обе строки) и объединить их (через правый клик) в группу "ИЛИ"
zay,
15.03.24, 10:06 Загрузка документа в Excel. Формат файла не поддерживается

Цитата(Slon747 @ 15.03.24, 10:55) *
А как в потоке загружать данные в ТабличныйДокумент?


Цитата(AnryMc @ 15.03.24, 10:46) *
Что-то типа

ТабличныйДокумент = Новый ТабличныйДокумент;
дд = Новый ДвоичныеДанные("D:\Temp\123.xls");
ТабличныйДокумент.Прочитать(дд, СпособЧтенияЗначенийТабличногоДокумента.Значение, ТипФайлаТабличногоДокумента.XLS97);

Slon747,
12.03.24, 14:00 Нужно найти КонечнаяДата = ДатаДокумента + КоличествоДней
Shiwchik @ Сегодня, 14:31 * ,

ДОБАВИТЬКДАТЕ(ДатаДокумента, "ДЕНЬ", КоличествоДней)

З.Ы, Не обратил внимания на раздел - СКД
Shiwchik,
12.03.24, 12:12 Нужно найти КонечнаяДата = ДатаДокумента + КоличествоДней
Просто добавить количество дней в секундах

НО! Если ДатаДокумента = Начало дня

ИНАЧЕ

НачалоПериода(ДатаДокумента, "ДЕНЬ") + КоличествоДнейВСекундах

Возможно при выводе нужно будет указать формат для даты
Shiwchik,
11.03.24, 13:45 Сумма документа выводится ресурсом не правильно
Shiwchik @ Сегодня, 14:10 * ,

Наверно:

Два документа (ДокументПродажи и ДокументПродажиЗаказПокупателя) - две суммы

З.Ы,
Два запроса через "ОБЪЕДИНИТЬ" ?
Или "связать" по ним?
Shiwchik,
11.03.24, 12:47 Сумма документа выводится ресурсом не правильно
Shiwchik @ Сегодня, 13:12 * ,

Запрос всё делает правильно т.к. вы выбираете документ и строки таблицы...

Разбейте на два запроса
Shiwchik,
07.03.24, 14:55 Видимость элемента справочника по вхождению пользователя в табличную часть (RLS)
Talkman @ Сегодня, 15:19 * ,

Насколько я помню роли "складываются" по "доступ или"
т.е. если в любой из ролей есть доступ - он предоставляется
Talkman,
26.02.24, 16:51 Поиск подобных товаров по артикулам из перечня артикулов
СтрокаАртикулов = Зап.Номенклатура.Артикул;

мАртикулов = НОВЫЙ ТалицаЗначений;
мАртикулов.Колонки.Добавить("Артикул");

ЕстьРазделитель = СтрНайти(СтрокаАртикулов , "/");

Пока ЕстьРазделитель  > 0 Цикл

//выделяем текущий артикул

текАртикул = Лев(СтрокаАртикулов , ЕстьРазделитель - 1);

//Проверим и обработаем "-"

ЕстьДефис = СтрНайти(текАртикул , "-");

Если ЕстьДефис > 0 Тогда

текАртикул = Лев(текАртикул, ЕстьДефис -1);

КонецЕсли;

нс = мАртикулов.Добавить(текАртикул );

нс.Артикул = текАртикул;

СтрокаАртикулов = ПРав(СтрокаАртикулов, СтрДлина(СтрокаАртикулов) - ЕстьРазделитель;

ЕстьРазделитель = СтрНайти(СтрокаАртикулов, "/");

КонецЦикла;

//Удалим повторы артикулов
мАртикулов.Свернуть("Артикул");

//Если надо преобразуем в массив

МойМассив = мАртикулов.ВыгрузитьКолонку("Артикул")


Как то так....
Talkman,
26.02.24, 15:12 Поиск подобных товаров по артикулам из перечня артикулов
Цитата(Talkman @ 26.02.24, 15:50) *
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Номенклатура.Артику ПОДОБНО ""%"" + мАртикулов"+Ном+" + ""%"") КАК ТоварыНаСкладахОстатки";



Так правильно
Ну и устанавливать параметр тоже с Ном.
Talkman,
26.02.24, 14:20 Поиск подобных товаров по артикулам из перечня артикулов
КолвоЭл = мАртикулы .Количество;

Запрос.Текст =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |   ТоварыНаСкладахОстатки.Номенклатура,
        |   ТоварыНаСкладахОстатки.КоличествоОстаток,
        |   ТоварыНаСкладахОстатки.Номенклатура.Артикул
        |ИЗ
        |   РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Номенклатура.Артику ПОДОБНО ""%"" + мАртикулов + ""%"") КАК ТоварыНаСкладахОстатки";

Запрос.УстановитьПараметр("мАртикулов", мАртикулы[0]);

Ном= 1;

Пока Ном <= КолвоЭл  Цикл

Запрос.Текст = Запрос.Текст +
        "ОБЪЕДИНИТЬ
        |ВЫБРАТЬ
        |   ТоварыНаСкладахОстатки.Номенклатура,
        |   ТоварыНаСкладахОстатки.КоличествоОстаток,
        |   ТоварыНаСкладахОстатки.Номенклатура.Артикул
        |ИЗ
        |   РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Номенклатура.Артику ПОДОБНО ""%"" + мАртикулов + ""%"") КАК ТоварыНаСкладахОстатки";

Запрос.УстановитьПараметр("мАртикулов", мАртикулы[Ном ]);

Ном = Ном + 1;

КонецЦикла;
    
    Запрос.УстановитьПараметр("Дата", Док.Дата);

Talkman,

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