81
Рейтинг

Kindman1980



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

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

Друзья
  • Марат Абсатаров
  • Дмитрий  Лубенец
  • Владислав Рожевский
  • Витaлий Киcлицин
  • Денис Родионов
  • Марина Гололобова
  • Артем Кузнецов
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Аnn Сhopchiyan
  • Андрей Волин
Подписчики 10

Группы

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

Рейтинг 81

Анализ функциональности: где наш код?!

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

Как я анализирую места выполнения кода и собираю статистику. Материал скорее для новичков. Но и для тех, кто хочет быстро постигать функциональность.

02.12.2019    5258    Kindman1980    14       

27

Ввод остатков по УСН материалы (БП 2.0)

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

Обработки по вводу остатков по УСН по ТМЦ (10 счет), в случае перехода с ОСНО в конфигурации БП 2.0. Рассматривался кейс для субсчетов счета 10, когда учет на ОСНО велся по средней.

1 стартмани

24.02.2015    15152    11    Kindman1980    1       

3

Комментарии

DevАнтипаттерны программирования в 1С#64 20.07.21 13:47
Док_МСТ_для_БЛМ БЛМ -это Блэк Лайвз Мэттер видимо ))
DevКак из 1с программно прочитать код модулей конфигурации?#12 27.06.21 13:50
(6) я занят разработкой похожего решения. Можете присоединиться, как раз стоит вопрос отслеживания изменений в расширениях относительно изменений в основной. Наработки можно посмотреть тут https://github.com/Kindman1980/1C_Search_SPPR
DevКак из 1с программно прочитать код модулей конфигурации?#11 27.06.21 13:45
(2) опытным путем выявил что команда getchanges не работает одновременно с update. Детали тут https://github.com/Kindman1980/1C_Search_SPPR/tree/main/IncrementalDumpToFi­les
(2)
DevСоздание произвольной таблицы значений на форме в управляемом приложении программным способом#44 28.04.21 23:06
(16) спасибо, забрал себе ваш код, модифицировал под выгрузку движений любого регистра любого документа.
ПубликацииПрава на объект (расширение, отчет)#25 11.02.21 12:57
(11) если непостредственно смотреть в поля регистра, то видно что с РЛС, а что без РЛС по постфиксу поля "БезОграничения"
ПубликацииПрава на объект (расширение, отчет)#24 11.02.21 12:54
Вопрос! В регистре сведений "Права ролей" тип поля роль "Идентификаторы объектов метаданных", роли, которые добавлены в расширение эта роль не отобразит, ведь так?
AdminУниверсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ)#190 04.12.20 13:24
(144)
Цитата
ЗаполнитьЗначенияСвойств(СтруктураДанных,НаборЗаписей[0]);

спасибо адаптировал вашу идею при переносе независисимых регистров ерп-зуп.

Сделал как-то так

Код
Процедура ЗаписатьРегистрСведенийВJSONНаСервере()
   
   ЗаписьJSON = Новый ЗаписьJSON;
   ЗаписьJSON.УстановитьСтроку();
   
   ИмяФайла = ИмяОбъекта+".json";
   
   ЗаписьJSON.ОткрытьФайл("C:\1"+ИмяФайла);
   
   МетаданныеРегистра = Метаданные.РегистрыСведений[ИмяОбъекта];
    ФиксированнаяСтруктураДанных = СоздатьСтруктуруМетаданныхРегистраСведений(ИмяОбъекта,МетаданныеРегистра);
   
   
   
   НаборЗаписей = РегистрыСведений[ИмяОбъекта].создатьНаборЗаписей();
   НаборЗаписей.прочитать();
   
   СтруктураДанных = Новый Структура(ФиксированнаяСтруктураДанных); 
   
   МассивСсылок = Новый Массив;
   Для каждого запись из НаборЗаписей цикл
      
      ЗаполнитьЗначенияСвойств(СтруктураДанных,запись);
      МассивСсылок.Добавить(структураДанных);
      
   КонецЦикла;
   
   СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON,МассивСсылок,НазначениеТипаXML.Явное);
   сериализованнаястрока = ЗаписьJSON.Закрыть();
   
КонецПроцедуры


&НаСервере
Процедура ПрочитатьРегистрСведенийИзФайлаJSONНаСервере()
   // Вставить содержимое обработчика.
   ЧтениеJSON = Новый ЧтениеJSON;
     //Или из строки
    ЧтениеJSON.УстановитьСтроку("");
    //Или из файла  
   ИмяФайла = ИмяОбъекта+".json";   
    ЧтениеJSON.ОткрытьФайл("C:\1"+ИмяФайла);
   //ЧтениеJSON.Прочитать();
   
   //Структура = ПрочитатьJSON(ЧтениеJSON);
   
   НаборЗаписейРегистра = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON);  
  
     ЧтениеJSON.Закрыть();
   
   
КонецПроцедуры



Сами регистры легко перебираются в цикле по метаданным.
DevПросмотр временных таблиц запроса в отладчике без изменения кода#33 06.10.20 22:58
(10)
Цитата
(5) Как угодно, все зависит от ситуации. Мне проще посмотреть Запрос.МенеджерВременныхТаблиц.Таблицы и посмотреть индекс. Это удобство.

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

Запрос.МенеджерВременныхТаблиц.Таблицы.Найти().ПолучитьДанные().Выгрузить() - когда видишь текст запроса, видишь имя таблицы, а индекс понять сложно.

Своя функция в общем модуле или метод автора - Если 8.2 и ранние 8.3, то метод автора или своя процедура в общем модуле. С появлением расширений в 8.3.6 можно обойтись экспортной функцией в обработке.

Хорошо знать инструменты и использовать их в нужный момент.
P.S. Лично я не догадывался, что можно хитрить с текстом запроса. Буду использовать в других случаях.

Только сейса понял если у вас Запрос.МенеджерВременныхТаблиц = неопределено, тогда вам подойдет только ВыполнитьПакетСПромежуточнымиДанными() . Законспектировал
НовостиINFOSTART MEETUP Питер.Online: расписание готово!#53 26.03.20 15:37
(15) кстати вот та фигня со статистикой в правом нижнем углу не мешает работать? Зачем она?