Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 04:58

Программно поставить галку "Оплачено"

Автор 0skill, 07 окт 2021, 12:05

0 Пользователей и 1 гость просматривают эту тему.

0skill

Добрый день.
Есть список заявок на кассовый расход, в каждую из которых приходится заходить вручную, переключаться на вкладку Исполнение и нажимать галку Оплачено, после чего рядом автоматом проставляется дата, после чего жму на ОК и все. Таких заявок может быть штук 150 и производить такую процедуру вручную - ну просто дурдом. Данные по заявкам, которые нужно так "отгалчить" получаем из казначейства (файл rtf), который я посредством delphi обработал и на выходе получаю такую структуру (Номер документа, Дата документа и Сумма документа) в текстовом файле, например
...
00004025|28.09.2021|34251,24
00004051|29.09.2021|4454,14
00004085|28.09.2021|74114,38
...
именно эти данные есть в 1с, т.е. по ним можно программно найти документ, нажать эту галку и ОК. Но смысл в том, что иногда (редко, но бывает) при ОК появляется ошибка заполнения данных в Расшифровке (пользователь что то не до ввел или ввел не правильно при создании заявки). Поэтому программно нужно получить сигнал, что данный документ нельзя обработать и показать его пользователю. Я только начинаю разбираться с 1с. Буду признателен любой помощи в реализации этой задачи.

LexaK

самое простое в консоли запросов такие обработки делать
подтягиваете внешние/копируете данные из вашей таблицы
запросом получаете ссылки на нужные/указанные документы
переходите на закладку обработка
там в цикле получаете ДокументОбъект,  меняете все что надо, записываете

еще как вариант использовать обработку ГрупповоеИзменениеРеквизитов
как-то(?) подсунуть в нее ваши номера документов
дальше все тоже самое

один раз настраиваете и потом только кнопку выполнить нажимать остается

и еще вариант, свою собственную обработку сделать ,
принцип тот-же, читаете/помещаете на нее данные с номерами,
запросом получаете данные,
в цикле обрабатываете
если помогло нажмите: Спасибо!

0skill

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

0skill

хм, нашел то что надо и именно по моей теме. Теперь можно начинать. Но как все таки отловить возможную ошибку при проведении?

alexandr_ll

Цитироватьпользователь что то не до ввел или ввел не правильно при создании заявки
Четко определить критерии ошибок и проверять их соответствие при загрузке.

0skill

Цитата: alexandr_ll от 08 окт 2021, 06:45Четко определить критерии ошибок и проверять их соответствие при загрузке.
Это не реально. Нужен общий обработчик. Если ошибка - пропустить документ.

LexaK

самое простое использовать такую конструкцию
Попытка
ВашДок.Записать(РежимЗаписиДокумента.Проведение);
//документ провелся
Исключение
лкОшибка = ОписаниеОшибки();
Сообщить(лкОшибка);
//...Добавить код, по событию Документ - не провелся
КонецПопытки;

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск