184
Рейтинг

M_A_D



  •   Регистрация: 14.06.2016 (7 лет назад)

  •   Был(а) на сайте: сегодня в 00:53

Друзья
  • Иван Титов
  • Art Fa
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Сергей
  • Любовь
  • Виталий Ангелов
  • Артем
  • Виктор Брага
Подписчики 16

Группы

Партнер IS-SP

Профессиональный разработчик

Рейтинг 184

Телеграм-бот как инструмент

Статья Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Мессенджеры и боты

Статья больше для начинающих программистов о том, как можно помочь самому себе при доработке 1С или при разработке собственных решений.

21.07.2021    6978    M_A_D    19       

101

Анализ продаж на розничной точке в 1С: Розница

Отчеты и формы Бизнес-аналитик Пользователь Платформа 1С v8.3 1С:Розница 2 Управленческий учет Абонемент ($m) Внешний отчет (ert,erf) Розничная торговля

Отчет для получения информации о том, сколько товара было продано на точке, какой остаток был на начало периода, конец периода, сколько дней товар был на остатке и сколько дней из периода его не было, и еще пару мелочей, полезных для хорошего анализа работы РТ.

1 стартмани

15.10.2020    2785    22    M_A_D    3       

3

Загрузка из Еxcel списка заказов. 1С: УТ 11

Инструменты и обработки Программист Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Абонемент ($m) Расширение (cfe) Оптовая торговля Загрузка и выгрузка в Excel

Обработок для выгрузки прайс-заказа много, но еще больше обработок для загрузки этих данных обратно в 1С. Было принято решение создавать заказ и заполнять в него товары из формы бланка заказа, но чтобы кнопка была сразу на форме списка документов, т.к. манагеры часто теряют или забывают про обработки.

1 стартмани

02.10.2020    4248    7    M_A_D    5       

2

Заполнение Табличной части Списания и Оприходованиия Копипастом

Инструменты и обработки Системный администратор Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m) Внешняя обработка (ert,epf) Загрузка и выгрузка в Excel Мастера заполнения

Обработка для УТ. Т.к. в документах Списания и оприходования нет возможности заполнять ТЧ товаров более чем одной позицией за раз, поэтому была создана обработка для заполнения ТЧ "КопиПастом".

1 стартмани

16.09.2020    2100    5    M_A_D    0       

1

Остатки и цены на товар в справочнике Номенклатура

Инструменты и обработки Бухгалтер Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Абонемент ($m) Расширение (cfe) Оптовая торговля Логистика, склад и ТМЦ Ценообразование, анализ цен

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

1 стартмани

28.07.2020    8066    6    M_A_D    0       

7

Возврат товаров между организациями

Инструменты и обработки Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m) Внешняя обработка (ert,epf) Оптовая торговля

Т.к. в УТ 11.3 нет возможности создать на основании перемещения возврат между юр.лицами, был реализован механизм создания возврата на основании перемещения.

1 стартмани

27.04.2020    2627    1    M_A_D    0       

1

ABC анализ продаж

Отчеты и формы Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Абонемент ($m) Внешний отчет (ert,erf) Анализ продаж

В отчете ведется динамический расчет Категорий "АВС" по сумме и по количеству, которое было продано.

1 стартмани

20.02.2020    8319    22    M_A_D    11       

4

Комментарии

DevКорзина для справочника Номенклатура#8 20.02.24 7:49
(7) такой механизм не предусматривался изначально.
В теории могу написать под запрос, при наличии ТЗ.
Зарплата1С ЗУП Исчисление НДФЛ#3 08.08.23 11:54
(2)Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.27.23)
Зарплата1С ЗУП Исчисление НДФЛ#1 08.08.23 10:41
НЕ могу понять куда копать и как найти проблему.
В прошлом месяце НДФЛ корректно исчислялся, а в этом месяце появились какие-то минуса.
Может кто-то подскажет в какую сторону копнуть, что бы найти откуда появились эти минуса?
1С ЗУП.

Прикрепленные файлы:

YLAK.png
DevПолучение Токена ЧестныйЗнак#8 26.07.23 14:19
(6)м, даже проверять не нужно, небыло бы компоненты, валилось бы на верном вызове комОбъекта)
DevПолучение Токена ЧестныйЗнак#7 26.07.23 14:17
(6) вы имеете ввиду COM-компоненту?
Если, да, то не знаю, сейчас проверим
DevПолучение Токена ЧестныйЗнак#5 26.07.23 13:54
(4) как поступить, если вход осуществляется с системной учётной записью?
Служба работает под этой учётной)))
DevПолучение Токена ЧестныйЗнак#3 26.07.23 9:47
(2)
Тачка которая является сервером, на ней же и база развернута у клиента, все подписи там и сам КриптоПро, как следствие там же...
DevПолучение Токена ЧестныйЗнак#1 26.07.23 9:04
Пытаюсь получить токен в 1С для отправки запросов, для получения статусов КИЗ в ЧЗ.

Код
&НаСервере
Процедура ПолучитьТокенНаСервере()
   
   Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
   Заголовки = Новый Соответствие;
   Заголовки.Вставить("Content-Type", "application/json");
   Заголовки.Вставить("Accept", "application/json");
   HTTPЗапрос = Новый HTTPЗапрос("/api/v1/auth",Заголовки);
   ЗаписьJOIN = Новый ЗаписьJSON;
   ЗаписьJOIN.УстановитьСтроку();
   ДанныеДляЗапроса = Новый Структура;
   ДанныеДляЗапроса.Вставить("client_id",client_id);
   ДанныеДляЗапроса.Вставить("client_secret",client_secret);
   ДанныеДляЗапроса.Вставить("user_id",user_id);
   ДанныеДляЗапроса.Вставить("auth_type",auth_type);   
   ЗаписатьJSON(ЗаписьJOIN,ДанныеДляЗапроса);
   СтрокаДляЗапроса = ЗаписьJOIN.Закрыть();
   
   HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаДляЗапроса,КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
   Ответ = Соединение.ВызватьHTTPМетод("POST",HTTPЗапрос);
   ЧтениеJSON = Новый ЧтениеJSON;
   ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
   Структура = ПрочитатьJSON(ЧтениеJSON, Ложь);
   УИД = Структура.code;
   
   // Подписание данных для получения токена
   ДанныеДляПолученияТокена = ПодписатьТекст(ЗашифроватьBase64(УИД,"UTF-8"),СертификатДляОбмена,Истина);
   //ДанныеДляПолученияТокена = СтрЗаменить(ДанныеДляПолученияТокена,,"");
   ЗаписатьВЖурнал("Подписано сертификатом " + СертификатДляОбмена + Символы.ПС + ДанныеДляПолученияТокена);
   
   // Получение токена с использованием подписанных данных
   Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
   Заголовки = Новый Соответствие;
   Заголовки.Вставить("Content-Type", "application/json");
   Заголовки.Вставить("Accept", "application/json");
   HTTPЗапрос = Новый HTTPЗапрос("api/v1/token",Заголовки);
   ЗаписьJOIN = Новый ЗаписьJSON;
   ЗаписьJOIN.УстановитьСтроку();
   ДанныеДляЗапроса = Новый Структура;
   ДанныеДляЗапроса.Вставить("code",УИД);
   ДанныеДляЗапроса.Вставить("signature",ДанныеДляПолученияТокена);   
   ЗаписатьJSON(ЗаписьJOIN,ДанныеДляЗапроса);
   СтрокаДляЗапроса = ЗаписьJOIN.Закрыть();
   
   HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаДляЗапроса,КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
   Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
   ЧтениеJSON = Новый ЧтениеJSON;
   ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
   Токен = ПрочитатьJSON(ЧтениеJSON, Ложь).token;
      
КонецПроцедуры


Валится на выполнении вот этой функции в строке:

Код
oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");


Код
Функция ПодписатьТекст(ТекстДляПодписи, sThumbprint, bDetached)
   
   CADESCOM_BASE64_TO_BINARY = 1; // Входные данные пришли в Base64
   CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи
   CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0; // Атрибут штампа времени подписи
   oSigner = Новый COMОбъект("CAdESCOM.CPSigner");
   // Объект, задающий параметры создания и содержащий информацию об усовершенствованной подписи.
   oSigner.Certificate = ПолучитьСертификатПоОтпечатку(sThumbprint);
   oSigningTimeAttr = Новый COMОбъект("CAdESCOM.CPAttribute");
   oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
   oSigningTimeAttr.Value = ТекущаяДата();
   oSigner.AuthenticatedAttributes2.Add(oSigningTimeAttr);
   ТекстДляПодписи = СокрЛП(ТекстДляПодписи);
   oSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
   // Объект CadesSignedData предоставляет свойства и методы для работы с усовершенствованной подписью.
   oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
   oSignedData.Content = СокрЛП(ТекстДляПодписи);
   EncodingType = 0;
   sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE,
   bDetached, EncodingType);
   // Метод добавляет к сообщению усовершенствованную подпись.
   Возврат sSignedMessage; // Подпись в формате Base64
      
КонецФункции


Вводные:
1. Работает на файловой БД.
2. Ошибка появляется при тестировании на серверной БД.

Первый опыт работы с подписанием из 1С, может есть опытные ребята, которые сталкивались с подобной задачей.

Текст Ошибки:
Цитата
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Недопустимый дескриптор окна.
{ВнешняяОбработка.ГИСМТ.Форма.Форма.Форма(130)}: sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_TYPE,
{ВнешняяОбработка.ГИСМТ.Форма.Форма.Форма(64)}: ДанныеДляПолученияТокена = ПодписатьТекст(ЗашифроватьBase64(УИД,"UTF-8"),СертификатДляОбмена,Истина);
{ВнешняяОбработка.ГИСМТ.Форма.Форма.Форма(35)}: ПолучитьТокенНаСервере();

по причине:
Произошла исключительная ситуация (CAdESCOM.CadesSignedData.1): Недопустимый дескриптор окна.
DevПараметры отчета в форму выбора отбора#1 29.06.23 10:55
Ситуация такая:
Имеем Отчет на СКД.
Как мне попасть в событие элемента отбора.
Т.е. на форме есть отбор, нужно, что бы, когда я нажимаю на кнопку выбора открылась форма выбора документов с фильтрами...
не могу сообразить какое событие взять, что бы туда попасть и заполнить параметры списка на форме Выбора Документов.
DevШапка отчета на СКД#3 07.04.23 17:45
(2)да много возни получится...
отчет уже фунциклирует столько времени....
решил проблему так:
Код
// Начальная строка вывода шапки таблицы
   НачальнаяСтрока = 7; 
   // Конечная строка вывода шапки таблицы
   КонечнаяСтрока = 8;  
   // Может менятся в зависимости от схемы компоновки, сейчас влияет на группировку в макете
   // Код, Номенклатура, Контракт, Качество, СпецПоставка (общая)
   КонечныйСтолбец = 5;
   
   Для НачальныйСтолбец = 1 По КонечныйСтолбец Цикл
      Область =  ДокументРезультат.Область(НачальнаяСтрока, НачальныйСтолбец, КонечнаяСтрока, НачальныйСтолбец);
      Область.Разъединить();
      ОбластьНиз = ДокументРезультат.Область(КонечнаяСтрока, НачальныйСтолбец, КонечнаяСтрока, НачальныйСтолбец); 
      ГраницаСнизу = ОбластьНиз.ГраницаСнизу;   
      Область = ДокументРезультат.Область(НачальнаяСтрока, НачальныйСтолбец, НачальнаяСтрока, НачальныйСтолбец);
      Текст = Область.Текст;
      Область.Текст = "";
      Область.ГраницаСнизу = ГраницаСнизу;
      ОбластьНиз.Текст = Текст;
   КонецЦикла;


костыль, но в рамках моей задачи подходит