Ch Alex

215
Рейтинг

cheiser1982



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

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

Друзья
  • Alx Alx
  • Николай Зайцев
  • Лопатина Ирина
  • Альберт Закиев
  • Алексей Заплуталов
  • Анна Харитонова
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Yuriy Kval
  • Сергей
Подписчики 21

Группы

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

Рейтинг 215

Поиск изменений реквизитов по версиям в истории документов и справочников с отбором

Инструменты и обработки Для всех Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешний отчет (ert,erf) Журнал регистрации

В обработке организован поиск изменений выбранного реквизита по версиям отобранных объектов установленного вида. Использование механизма предусматривает ведение истории изменений в системе.

2 стартмани

11.07.2023    928    11    cheiser1982    4       

5

Организация функционала наценок по позициям либо сегментам номенклатуры в УТ 11.4

Статья Программист Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m) Документ XML Адаптация типовых решений

В статье описан один из методов реализации задачи установки скидок/наценок в соответствии с заданным процентом по позициям/сегментам номенклатуры. Так-же продемонстрирован принцип создания произвольного запроса к ИБ в виде цен. Протестировано на релизе Управление торговлей, редакция 11.4.8.92.

1 стартмани

07.08.2019    5984    4    cheiser1982    2       

8

Правила переноса остатков на счетах из "БП КОРП" в "БГУ"

Инструменты и обработки Программист Платформа 1С v8.3 1С:Конвертация данных Россия Абонемент ($m) Архив с данными Перенос данных 1C

Готовые правила переноса остатков на счетах из "Бухгалтерия предприятия КОРП" в "Бухгалтерия Государственного Учреждения" Сформированы и протестированы на релизах систем: "Бухгалтерия предприятия КОРП" релиз 2.0.66.71; "Бухгалтерия Государственного Учреждения" релиз 2.0.61.21; "Конвертация данных" релиз 2.1.8.2.

1 стартмани

10.04.2019    5674    38    cheiser1982    0       

6

Нулевое количество при ненулевых суммах в регистре себестоимости

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

Анализ и автоматизированное создание корректировки регистра при нулевых количествах и ненулевых суммах в регистре себестоимости. Протестировано на "Управление торговлей" редакции релиза 11.4.5.63

2 стартмани

08.08.2018    28479    544    cheiser1982    28       

15

Комментарии

AdminПоиск изменений реквизитов по версиям в истории документов и справочников с отбором#4 03.08.23 5:53
(3)
Цитата
Полезный был бы функционал. Не планируете дорабатывать?
Планировал, но по мере появления времени, либо если возникнет по работе такая необходимость.
AdminПоиск изменений реквизитов по версиям в истории документов и справочников с отбором#2 02.08.23 5:38
(1)
Цитата
А отбор по изменению в реквизитах табличной части невозможен?
Добрый день! Нет. Механизм формировал по производственной необходимости, которая не рассматривала анализ табличных частей, а время на решение было жестко регламентировано.
AdminПоиск изменений реквизитов по версиям в истории документов и справочников с отбором#0 11.07.23 10:00
В обработке организован поиск изменений выбранного реквизита по версиям отобранных объектов установленного вида. Использование механизма предусматривает ведение истории изменений в системе.
UpdateCFПрограммное получение стека вызовов для поиска точек входа#31 19.06.23 7:24
(30)
Цитата
Поэтому, предлагаю не множить хаос, а делать сразу хорошо, а не как проще всего в текущей ситуации. И уж тем более не учить других лепить вот такие вот.. кхм... костыли решения.
Я не понимаю к чему вся эта демагогия. Суть статьи заключается в том, чтобы показать людям что есть возможность программно получить данные стека. И все это как раз и делается для выяснения причины возникновения ошибки и устранения хаоса. А какова реализация данной идеи будет, это уже разработчику решать. Для меня рациональнее, удобнее и проще использовать именно такой подход. Если вы считаете что корректней фиксировать отладочную информацию в журнале - ради бога.
И о каких обработчиках вы речь ведете? У меня задача состоит в получении данных при создании элемента а не при каждом изменении и записи. Читайте внимательней.
UpdateCFПрограммное получение стека вызовов для поиска точек входа#29 19.06.23 6:28
(25) мы к сожалению живем не в идеальном мире, где все доработки описаны, настроена логически правильная структура бизнес процессов и каждый пользователь знает и понимает что он делает. Соответственно порой возникают ошибки, которые достаточно сложно отловить простой отладкой либо другими типовыми методами. Вот и приходится придумывать так называемые "костыли".
Насчет причины - я в самом начале описал что меня на это сподвигло.
И по поводу включения истории версий - это бы не решило проблему, т.к. мне необходимо было отловить точку входа в процедуру записи элемента именно при его создании, а история версий может лишь помочь определить кто и когда изменял те или иные реквизиты.
UpdateCFПрограммное получение стека вызовов для поиска точек входа#28 19.06.23 6:14
(22) полностью согласен насчет подхода с ГУИДами. Однако у нас не все так однозначно ). В управленческой системе ведется множество договоров с различными условиями и периодами действия. Но в бухгалтерском учете эти данные не нужны. Важно лишь различие на договор с поставщиком/покупателем, ну и плюс валюта. Соответственно договора в бухгалтерию залетают именно по вышеуказанным ключевым реквизитам. Такой принцип учета организован еще с 2012 года и что-либо перестраивать касаемо данного НСИ считаю не рациональным.
DevПроверка установленности роли, добавленной в расширении#15 15.06.23 8:41
Лично я вышел из положения, вставив свою функцию проверки доступности роли:

Код
Функция РольРасширенияДоступна(ИмяРоли) Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ПрофилиГруппДоступаРоли.Роль КАК Роль
   |ИЗ
   |   Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
   |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.Роли КАК ПрофилиГруппДоступаРоли
   |      ПО ГруппыДоступаПользователи.Ссылка.Профиль = ПрофилиГруппДоступаРоли.Ссылка
   |ГДЕ
   |   ГруппыДоступаПользователи.Пользователь = &Пользователь
   |   И ПрофилиГруппДоступаРоли.Роль ССЫЛКА Справочник.ИдентификаторыОбъектовРасширений
   |   И ВЫРАЗИТЬ(ПрофилиГруппДоступаРоли.Роль КАК Справочник.ИдентификаторыОбъектовРасширений).Имя = &ИмяРоли";
   
   Запрос.УстановитьПараметр("ИмяРоли",      ИмяРоли);
   Запрос.УстановитьПараметр("Пользователь",   Пользователи.ТекущийПользователь());
   
   УстановитьПривилегированныйРежим(Истина);
   РольНайдена = Не Запрос.Выполнить().Пустой();
   УстановитьПривилегированныйРежим(Ложь);
   
   Возврат РольНайдена;
   
КонецФункции
UpdateCFПрограммное получение стека вызовов для поиска точек входа#12 14.06.23 11:29
(11) возможно справедливо для небольшой компании, где 1 или 2 бухгалтера, которые адекватно реагируют на любую нештатную ситуацию и никуда не торопятся. )) Однако если у тебя с десяток организаций, раскиданных по различным регионам нашей необъятной Родины и плюс в каждом регионе по сети магазинов и все это объединено в единую базу, то когда у кучи бухгалтеров одновременно встает загрузка данных и тебе нужно со всем этим оперативно разобраться, ваш вариант не кажется рациональным. Я дорожу своими нервами и психическим здоровьем... ))
UpdateCFПрограммное получение стека вызовов для поиска точек входа#7 14.06.23 9:26
(5) это уже на ваше усмотрение. Лично у меня все выполнено в расширении для быстрого исправления багов и ловли плавающих ошибок. Т.к. оно обновляется ежедневно, заморачиваться насчет включения/отключения не стал.
UpdateCFПрограммное получение стека вызовов для поиска точек входа#3 14.06.23 7:09
(2) в моем случае потери производительности несущественные, т.к. во-первых выполняется порционный переброс данных, во-вторых получение данных стека происходит лишь при записи нового элемента справочника, что происходит не так часто. Да и наконец после обнаружения проблемы данный механизм можно отключить.