М Михаил

24
Рейтинг

Crazy Professor
Михаил М



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

  •   Был(а) на сайте: 09.12.2023

Подписчики 1

Рейтинг 24

Свертка незакрытых документов расчета и отрицательных сальдо по 60 и 62 счетам

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

Обработка для свертки незакрытых остатков по документам расчета и сведения их к одному документу (создается ручной документ расчетов с контрагентами на дату обработки). Также переводит итоговое отрицательные сальдо по Дт и Кт на соответствующий субсчет. Работает через счет "000", создает ручную операцию.

1 стартмани

02.09.2013    11878    42    Crazy Professor    5       

5

Проверка заполнения обязательных реквизитов шапки (8.1)

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

Процедура проверяет все реквизиты шапки и табличных частей формы, для которых стоит пометка "АвтоОтметкаНезаполненного" на факт заполнения.

16.02.2012    12126    Crazy Professor    2       

3

Комментарии

ОбменОтмена проведения и проведение документов при переносе данных с использованием конвертации данных.#36 12.07.19 15:13
Все жду, когда кто-нибудь наконец рабочие процедуры "после загрузки данных" выложит, сам все время забываю и уже третий раз их придумываю заново.
Проблема функций в топике, в том, что они не умеют помечать на удаление проведенные документы и проводить помеченные на удаление. В таких случаях действия необходимо выполнять в два этапа.
Ну и, если честно, функции тяжело воспринимаются.

Мой вариант:

Код
ТекстСообщенияЗаписи = "";
ТекстСообщенияОшибки = "";

Для каждого СтрокаТч Из Параметры.ТаблицаДокументов Цикл

   //Отмена провдения и снятие пометки удаления
   Если (СтрокаТч.Действие = "Отмена" или СтрокаТч.Действие = "Проведение") И СтрокаТч.Ссылка.ПометкаУдаления Тогда
       Попытка
           ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
           ДокОбъект.ПометкаУдаления = Ложь;
           ДокОбъект.Записать();
           ТекстСообщенияЗаписи = ТекстСообщенияЗаписи +"(1) Снята пометка удаления " + Строка(СтрокаТч.Ссылка) + Символы.ПС;
       Исключение
         ТекстСообщенияОшибки = ТекстСообщенияОшибки + СтрокаТч.Действие +" - (1) пометка удаления не снята: "+ Строка(СтрокаТч.Ссылка)+ " : "+ОписаниеОшибки()+ Символы.ПС;
         Продолжить;
       КонецПопытки;
       
   ИначеЕсли (СтрокаТч.Действие = "Отмена" или СтрокаТч.Действие = "Удаление") И СтрокаТч.Ссылка.Проведен Тогда
       Попытка
           ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
           ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
           ТекстСообщенияЗаписи = ТекстСообщенияЗаписи +"(1) Отменено проведение " + Строка(СтрокаТч.Ссылка) + Символы.ПС;
      Исключение
         ТекстСообщенияОшибки = ТекстСообщенияОшибки + СтрокаТч.Действие +" - (1) проведение не отменено: "+ Строка(СтрокаТч.Ссылка)+ " : "+ОписаниеОшибки()+ Символы.ПС;
         Продолжить;
       КонецПопытки;
   КонецЕсли;
   //Провденеие и установка пометки удаления
   Если СтрокаТч.Действие = "Проведение" Тогда
      Попытка
          ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
         ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
           ТекстСообщенияЗаписи = ТекстСообщенияЗаписи +"(2) Проведен " + Строка(СтрокаТч.Ссылка) + Символы.ПС;
      Исключение
         ТекстСообщенияОшибки = ТекстСообщенияОшибки + СтрокаТч.Действие +" - (2) не проведен: "+ Строка(СтрокаТч.Ссылка)+ " : "+ОписаниеОшибки()+ Символы.ПС;
         Продолжить;
       КонецПопытки;
   ИначеЕсли СтрокаТч.Действие = "Удаление" и не СтрокаТч.Ссылка.ПометкаУдаления Тогда
      Попытка
          ДокОбъект = СтрокаТч.Ссылка.ПолучитьОбъект();
           ДокОбъект.ПометкаУдаления = Истина;
           ДокОбъект.Записать();    
           ТекстСообщенияЗаписи = ТекстСообщенияЗаписи +"(2) Установлена пометка удаления " + Строка(СтрокаТч.Ссылка) + Символы.ПС;
       Исключение
         ТекстСообщенияОшибки = ТекстСообщенияОшибки + СтрокаТч.Действие +" - (2) пометка удаления не установлена: "+ Строка(СтрокаТч.Ссылка)+ " : "+ОписаниеОшибки()+ Символы.ПС;
         Продолжить;
       КонецПопытки;
   КонецЕсли;   
КонецЦикла;

Если Не ПустаяСтрока(ТекстСообщенияЗаписи) Тогда
    Сообщить(ТекстСообщенияЗаписи);
КонецЕсли;

Если Не ПустаяСтрока(ТекстСообщенияОшибки) Тогда
    Сообщить("Ошибки: "+ Символы.ПС + ТекстСообщенияОшибки);
КонецЕсли;
Параметры.Удалить("ТаблицаДокументов");
DevЗагрузка классификаторов банков из файлов РБК (в том числе и для ЗУП)#11 22.05.17 6:01
Для БП 3.0 не подходит, даже если запустить под обычными формами
DevКалендарь GOOGLE в 1С#71 05.02.14 8:36
Скажите, планируется ли ввод возможности работать с несколькими календарями? Вернее как-то их идентифицировать при загрузке. А то, ни отфильтровать, ни отсортировать. И при создании не понятно куда попадет.
DevПроверка заполнения обязательных реквизитов шапки (8.1)#0 11.11.13 11:08
Процедура проверяет все реквизиты шапки и табличных частей формы, для которых стоит пометка "АвтоОтметкаНезаполненного" на факт заполнения.
DevФункция получения даты из текста по форматной строке#13 02.10.13 10:03
(11) ildarovich,
Можно вынести в шапку с указанием авторства? Вдруг кому нужно будет.
DevФункция получения даты из текста по форматной строке#12 02.10.13 10:02
(11) ildarovich,
Ну да, я ламмер, очень изящно - преклоняю колено.
DevФункция получения даты из текста по форматной строке#10 24.09.13 10:58
(9) diver.sun, твой метод дал идею по распознаванию месяцев строкового формата.
DevФункция получения даты из текста по форматной строке#8 24.09.13 9:37
(5) diver.sun,
Чего-то я не понял как эта обработка должна отрабатывать при изменении порядка элементов форматной строки или вообще при исчезновении некоторых (например такой "yyMMdd", из данных с которыми я работаю). Но идея занятная - от обратного. В упрощенном варианте можно было перебирать все значения с точностью до секунды от -50 до +50 лет от текущей даты и искать подходящее через запрос :).
DevФункция получения даты из текста по форматной строке#7 24.09.13 9:07
(3) ildarovich,
Предложите готовое решение, пожалуйста - я с радостью его применю для своих целей.
Статья занятная, но не уверен, что универсальное решение будет менее громоздким чем обычный код. Однако, для больших объемов данных применение запроса может увеличить производительность.
DevФункция получения даты из текста по форматной строке#6 24.09.13 8:58
(2) kapustinag,
Кстати да, но я не знаю по какому принципу 1с сама это дело конвертирует у меня переключает на прошлый век с 30 включительно, но я не уверен, что это как-то зависит от текущей даты.

Сделал так:

Код
ТекВек = 100*Цел(Год(ТекущаяДата())/100);
год = ?(Значение>=Год(ТекущаяДата())-текВек+50,ТекВек-100,ТекВек)+Значение;