"Вы всё сломали!". Разбираемся, кто прав, кто виноват

Публикация № 1125118

Разработка - Практика программирования

Практика анализ исправление баг фича БСП

О том, как "всё испортил" программист, а на самом деле виноват заказчик.

Друзья и уважаемые мэтры 1С!

Скажу сразу: не судите меня строго... я плохо знаю БСП. Мой двухлетний опыт работы программистом пока не дал полностью ознакомиться с этим зверем. Но активно им пользуюсь. Не может пройти ни одной задачи, где я не использую модуль ОбщегоНазначения. Процедура ЗначениеРеквизитаОбъекта() и подобные - самые частоиспользуемые в моей практике. За то, что познакомили меня с этой библиотекой большое спасибо программистам-сеньорам, с которыми я работаю.

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

Пришел как-то заказ сделать внешний отчет для УТ 11.4. Отчет не сложный: смотрит продажи, смотрит остатки, высчитывает среднее количество продаж за рабочий день, прогнозирует необходимое количество товара к заказу. Ну ок, сделал, в тест отдал. Через пару дней приходит письмо счастья: "Вы всё сломали!". На вопрос о том, что же сломалось, ответ меня, мягко говоря, удивил. Суть заключается в том, мой отчет сломал другой внешний отчет. Подключившись, я обнаружил картину Репина: нажимаю

 

 

А открывается:

 

 

То есть, схема компоновки - явно моего отчета, а вариант - от другого!

 

 

Ну что тут сказать, неожиданно... Отступление: если вы сразу поняли, в чем проблема, и если сейчас подумали, какой я нуб, то, в качестве оправдания, сошлюсь на первый абзац своего сочинения.

Итак, для начала я воспользовался первым законом программиста, который я выучил на первом месте работы (во франче): в любой непонятной ситуации чисти кэш. Неее, это было бы слишком легко:) Потом стал думать на хранилище вариантов настроек. Ещё и заказчик сказал, что в тестовой базе всё отлично работает. С хранилищем я тоже сильно не знаком, поэтому решил, что, если ничего больше не поможет, то приступлю к нему. В общем, приступил я к своему самому любимому методу поиска проблем - методу тыка:) Почему любимого? Потому что так очень много чего нового узнаешь.

Ладно, решил я найти старый доп. отчет, который полетел. Ищу, найти не могу. Спрашиваю заказчика - он тоже не знает. Ну ок, что поделать... Теперь ищу этот отчет в дереве отчетов, который можно открыть в любой подсистеме, к примеру в продажах, в меню "продажи/отчеты по продажам/ещё/все отчеты". Нахожу интересную ситуацию:

 

 

Очень любопытно... Пробую снять пометку удаления у неизвестного мне отчета "Ведомость по товарам" - нельзя. Элемент предопределенный.

Здесь я хочу объявить о новой рубрике: "Вопросы мэтрам". Итак, описываю ситуацию:

Хочу заставить принудительно снять пометку удаления. В настройках отладки ставлю остановку по ошибке. Останавливаюсь на команде ВызватьИсключение в обработчике ПередЗаписью. Ставлю точку останова на строке условия, из-за которого проваливаюсь в исключение. Дальше делаю так:

 

 

Теперь вопрос: можно ли так делать? То есть меня значения переменных прямо во время отладки. Штука-то удобная очень, в 8.2 такого нет.

Короче, получилось у меня снять пометку удаления, вышло следующее: появился третий вариант отчета) Только схема компоновки и настройки полностью совпадают с моим новым отчетом. А заголовок - от старого... Облом. Пробую зайти к проблеме с другого конца. Смотрим, что происходит при записи элемента справочника ДополнительныеОтчетыИОбработки. Отладкой проваливаемся в общий модуль ВариантыОтчетов, в процедуру ПриЗаписиДополнительногоОтчета. И вот оно! Тот самый запрос, который, показывает, где собака зарыта!

 

 

Справочник, Карл! В БСП есть справочник вариантов отчетов! Открываю форму список элементов через все функции (синоним этого справочника - "Отчеты"). После увиденного, все пазлы сошлись, но лучше от этого не стало. Вот она - форма списка справочника ВариантыОтчетов в пользовательском режиме:

 

 

Просветление!:) Только такой список никак не информативный... Ладно, пишу внешнюю обработку, вывожу на форму динамический список с колонками "Наименование" и "Отчет". Результат:

 

 

Нашел! Осталось всего-ничего - переопределить у вариантов отчетов "Ведомость по товарам" и "Ведомость по товарам и тому подобное" свойство Отчет на тот, которому эти варианты по факту принадлежат. Здесь мне пригодилась тестовая база заказчика, в которой всё было хорошо. Открыл свою обработку с динамическим списком, смотрим, что там есть:

 

 

Этот вариант принадлежал доп. отчету Ведомость по товарам. А теперь угадайте дальнейший расклад?:) Да, в тестовой базе отчет есть, а в рабочей - нету. Испарился чудесным образом (*сарказм*)! Оказалось, что заказчик случайно накатил на отчет Ведомость по товарам мой новый отчет. Отчет-то изменился, схема компоновки новая, а вот старые привязанные элементы справочника вариантов отчета пометились на удаление. Заказчик снял пометку удаления из варианта отчета, и это вылилось в то, что вы видели выше. В итоге осталось всего-ничего: Стащить из тестовой базы старый отчет, перезалить его в рабочую базу, переопределить пользовательский вариант отчета, удалить безвозвратно ненужный вариант. Всё это сделалось с помощью ещё одного реквизита формы и двух команд:

 

 

Код модуля формы:

 

&НаКлиенте
Процедура Переопределить(Команда)
	ВариантОтчета = Элементы.ВариантыОтчетов.ТекущаяСтрока;
	ПереопределитьНаСервере(ВариантОтчета, Отчет);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПереопределитьНаСервере(ВариантОтчета, Отчет)
	УстановитьПривилегированныйРежим(Истина);
	ВариантОбъект = ВариантОтчета.ПолучитьОбъект();
	ВариантОбъект.Отчет = Отчет;
	ВариантОбъект.Записать();
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

&НаКлиенте
Процедура УдалитьБезВозвратно(Команда)
	ВариантОтчета = Элементы.ВариантыОтчетов.ТекущаяСтрока;
	УдалитьБезВозвратноНаСервере(ВариантОтчета);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура УдалитьБезВозвратноНаСервере(ВариантОтчета)
	УстановитьПривилегированныйРежим(Истина);
	ВариантОтчета.ПолучитьОбъект().Удалить();
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

Готово. Вот так оказалось, что "сломал" я, а виноват заказчик. Вывод: не перезаливайте отчет другим отчетом! Можно перезалить только более свежую версию текущего. Можно, конечно, попробовать написать какую-нибудь защиту, чтобы не давать перезаливать отчет, в котором отличаются идентификаторы вариантов. В связи с этим у меня вопрос к вам, уважаемые мэтры: эта ситуация - баг или фича?

Эту статью я писал по памяти, так как случилось эта ситуация достаточно давно. И снова прошу: не судите меня строго. Да, я не знаток 1С, я только учусь:)

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. alex-l19041 8 20.09.19 08:54 Сейчас в теме
Оказалось, что заказчик случайно накатил на отчет ...
- да уж, лучше не давать заказчику это делать самостоятельно...
2. RomanCrow13 100 20.09.19 08:57 Сейчас в теме +2 $m
3. Sintson 381 20.09.19 09:54 Сейчас в теме
Заказчик оплатил затраченное на разбор время?
4. RomanCrow13 100 20.09.19 10:05 Сейчас в теме
8. Sintson 381 20.09.19 10:46 Сейчас в теме
(4)
...И опыт, сын ошибок трудных,
И гений, парадоксов друг...
user811769; user958854; Tangram; AlenaR; RomanCrow13; +5 Ответить
25. mrd_84 25.09.19 17:52 Сейчас в теме
(4)

Не в деньгах счастье. Зато опыта нажил, нас научил)))
27. &rew 27 22.06.20 10:48 Сейчас в теме
(25)Я так гастрит заработал.
5. AlX0id 20.09.19 10:07 Сейчас в теме
А надо ли было вообще все это расследовать?
Если вопрос стоит как: "Вы все сломали!", то наверное стоило взять бэкап, когда все работало, самому накатить изменения - и сказать, что заказчик криворукий семичлен.
rovenko.n; Raskad; sergathome; +3 Ответить
6. RomanCrow13 100 20.09.19 10:14 Сейчас в теме
(5) Возможно. Вопрос только в том, оплатил бы он тогда работу. Что с меня было взять: фрилансер, не юр. лицо, без предоплаты. Работал за ролтон)
7. AlX0id 20.09.19 10:17 Сейчас в теме
(6)
Ну так работы-то было бы на порядок меньше.. Развернуть бэкап - делается силами заказчика, накатить обработку - 10 минут максимум.. Убедиться в различии результатов - 5 минут..

Я, конечно, понимаю, что знал бы где упасть - соломки бы постелил.. Но все же..
9. akim2040 22 20.09.19 10:54 Сейчас в теме
Я тоже часто наступал на грабли с внешними отчетами.

По поводу обнаруженного Вами справочника, можно было бы без всяких запросов. просто отобразить все поля формы. где сразу бы увидели и имена отчетов, и ключи вариантов
Прикрепленные файлы:
CratosX; A_Max; Raskad; +3 Ответить
10. RomanCrow13 100 20.09.19 10:57 Сейчас в теме
(9) Ну да, моя решение совсем не лаконичное)
11. MikhailDr 20.09.19 12:33 Сейчас в теме
Ну тут и косяк разработчика, что не сделал все сам до конца, а дал залить отчет заказчику.
12. RomanCrow13 100 20.09.19 12:37 Сейчас в теме
(11) Дак у них есть свой штатный программист! Причём это он выступал контактным лицом заказчика. Конечно, были подозрения, что что-то не ладно. Мол, почему бы сам не сделал. Но подумал, что у самого много работы. Кто ж подумал, что так выйдет...
FilimonVl; acanta; +2 Ответить
13. MikhailDr 20.09.19 12:49 Сейчас в теме
14. qwed557 30 20.09.19 13:56 Сейчас в теме
Надо самому до конца выполнять работу. А может сам залил в чужой отчет а тут написал что все сломал сам заказчик ))))
16. RomanCrow13 100 20.09.19 14:08 Сейчас в теме
(14) может быть)) но доказывать точно ничего не буду.
С тем, что нужно самому до конца доводить - согласен. Если работаешь с программистом, которого не знаешь, то доверять ему нельзя.
В любом случае, это был полезный опыт. И интересно было узнать фичу БСП)
17. Fox-trot 125 20.09.19 14:47 Сейчас в теме
(16) погляди еще на параметр запуска "ЗапуститьОбновлениеИнформационнойБазы""
15. _MavR_ 20.09.19 14:01 Сейчас в теме
Ну "штатному программисту" руки оторвать неплохо было бы, а потом пришить на более приличествующее им место :-)
Хотя конечно всякое в жизни бывает и не так еще можно накосячить по запарке.
RomanCrow13; +1 Ответить
18. bulpi 179 21.09.19 20:47 Сейчас в теме
Люди, которые работают с типовыми конфигурациями, с системой отчетов БСП и всем этим - глубоко несчастные люди. Даже если они этого не понимают.
19. severnyj 22.09.19 09:54 Сейчас в теме
(18)Типовые конфигурации придуманы для того чтобы в итоге перейти на нетиповые )
triviumfan; +1 Ответить
22. AlX0id 23.09.19 14:14 Сейчас в теме
(18)
Да - найти спонсора который будет оплачивать время, которое тратится на очередную нетленку - это определенно счастье в наше время.
RomanCrow13; acanta; +2 Ответить
23. bulpi 179 23.09.19 20:36 Сейчас в теме
20. qwinter 628 23.09.19 12:25 Сейчас в теме
Столько проблем, а всего то надо было нажать кнопочку отключить и загрузить заново.
r.zdorkin; +1 Ответить
21. CratosX 109 23.09.19 12:32 Сейчас в теме
Меня тоже как-то подвело неудачное наименование команд "Загрузить" и "Создать". Создать - создаёт новый внешний отчет/обработку, а вот Загрузить - загружает в уже существующий элемент, на котором стоит активность в списке. Как-то затёр предыдущий отчёт, хорошо что было откуда его восстановить :)

Вовсе не фича, а один из многочисленных багов
24. olbir 25.09.19 15:47 Сейчас в теме
Зато опыт приобрел ) Это ценно
26. Abyss17 26.09.19 17:34 Сейчас в теме
История стара как мир, программист виноват ВО ВСЕМ априори.

Заказчик светел и прекрасен и не может быть ни в чем виноват, потому что душа его девственна и не знает пороков, ибо он как ребенок чист и невинен в своих желаниях. Заказчик хочет чтобы ему было комфортно, но, как большинство маленьких детей, сформулировать свои желания не умеет. Поэтому сабж, не владея понятной аргументацией, использует то, что ему доступно - эмоции.
С другой стороны, программисты - зачастую весьма прагматичные люди, и не каждый способен разглядеть рациональное звено в невнятных выкриках "инфанта".

P.S. На всякий случай уточню, что вышеуказанная история про ПРОГРАММИСТОВ, а не про ...кодеров, которые в своей работе используют "древнеиндусский" метод перебора всех возможных вариантов, пока не будет достигнут более менее приемлемый.
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    4294    comol    22    

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Началось все с того, что штатный автоподбор при вводе по строке в поле ввода для некоторых больших справочников устраивать перестал. Вообще, для способа поиска строки "Любая часть" он работает на первый взгляд очень хорошо: работает как полнотекстовый (т.е. по нескольким словам) даже без активации полнотекстового поиска, красиво подсвечивает слова поиска в результатах. Казалось бы, все отлично. Но есть неприятное ограничение - всего лишь 10 значений в результирующем списке (у вас может быть несколько больше, так как платформа неявно добавляет результаты поиска по истории ввода). Для небольших справочников или справочников с разнородным ассортиментом все хорошо. Но не в моей ситуации. А простых путей увеличить количество выдаваемых строк на момент написания статьи мне обнаружить не удалось. Пришлось полностью переопределять автоподбор. Ниже речь пойдет именно об этом. И, к слову, в типовых конфигурациях для некоторых справочников используются похожие приемы для увеличения количества строк результата автоподбора.

21.01.2021    1330    herfis    7    

Программное копирование узла/строки дерева значений на управляемой форме (УФ, ДанныеФормыДерево, ДанныеФормыЭлементДерева) в вариантах на клиенте и на сервере

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

1С при интерактивном копировании строки дерева значений в управляемой форме копирует только саму строку, без его всех вложенных узлов/строк, жаль - решим! А также найдем способ передачи ДанныеФормыЭлементДерева с клиента на сервер при вставке дерева из другого элемента справочника.

11.01.2021    590    SizovE    0    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

Практика программирования Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Пользователи привыкли искать на форме списка, но, вбивая в поиск некорректные данные, могут завесить всю систему, а если еще искать нужно по НЕ полям списка, то решение только в своём поиске - все это решим в публикации с открытым кодом.

14.12.2020    6853    SizovE    2    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    38425    unichkin    74    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

Практика программирования Универсальные функции Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

30.11.2020    2651    SizovE    3    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

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

24.11.2020    672    SizovE    2    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Практика программирования v8 v8::УФ Бесплатно (free)

Зачастую возникает необходимость ограничить вывод элементов какого-нибудь справочника или перечисления при редактировании поля ввода (отфильтровать доступные для выбора элементы) эта публикация показывает простой и эффективный способ реализации этого.

15.11.2020    3557    Eugen-S    9    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    32015    tormozit    104    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

Работа с интерфейсом Практика программирования v8 v8::УФ v8::СКД Бесплатно (free)

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EDIbot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    962    SizovE    0    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    10772    quazare    33    

Использование флажков в динамических списках

Практика программирования Работа с интерфейсом v8::УФ Бесплатно (free)

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

04.08.2020    5411    nekit_rdx    25    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    79270    tormozit    131    

Использование ПоказатьВопрос() в событии НачалоВыбора()

Практика программирования v8 v8::УФ Бесплатно (free)

На ИТС описано, как избегать использования модальности в событиях ПередЗаписью() и ПередЗакрытием() (можно ознакомиться по ссылке http://its.1c.ru/docs/v8nonmodal/). А что делать, если нужно задать вопрос пользователю в событии НачалоВыбора(). В данной статье приведу пример реализации с использованием асинхронного вызова ПоказатьВопрос(). Статья предназначена в основном для начинающих программистов, недавно столкнувшихся с управляемыми формами.

20.07.2020    1669    biimmap    2    

Открытие управляемой формы 1С 8.3 с измененным несохраненным объектом

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

Как загрузить в управляемую форму программно изменённый несохранённый документ (или элемент справочника).

13.07.2020    3346    plainer    11    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    7573    SeiOkami    34    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    50015    tormozit    48    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    35119    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

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

06.05.2020    6132    SeiOkami    3    

5 шагов по изменению резервирования товаров в УТ 11.4

Оптовая торговля Практика программирования v8::ОУ v8::УФ УТ11 Россия УУ Бесплатно (free)

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

19.03.2020    4993    Igorro82IT    16    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    46681    tormozit    74    

Об обновлениях

Практика программирования v8 v8::УФ Бесплатно (free)

Рассматриваются вопросы комментирования доработок стандартных конфигураций, необходимых для облегчения работы при обновлении конфигурации.

12.02.2020    2699    ipoloskov    27    

Детектор завершения согласования для 1С: Документооборот КОРП

Практика программирования Документооборот и делопроизводство v8::УФ ДО УУ Бесплатно (free)

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

04.02.2020    3310    shiaju    3    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    38800    ids79    26    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16414    m-rv    2    

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4

Практика программирования v8::УФ УТ11 Россия УУ Бесплатно (free)

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    5154    VID1234    6    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    30379    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    23112    kuzyara    38    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20941    m-rv    17    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    14499    TitanLuchs    23    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    18776    YPermitin    60    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    9815    Sibars    19    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    32262    m-rv    21    

Простейший пример создания бизнес-процессов

Практика программирования Управление бизнес-процессами (BPM) v8::Бизнес-процессы 1cv8.cf Бесплатно (free)

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    20749    YPermitin    18    

Изменение макета в карточке номенклатуры(УТ 11, КА 2)

Практика программирования Работа с интерфейсом v8::УФ ERP2 УТ11 КА2 Бесплатно (free)

Краткая памятка по выведению добавленного реквизита в справочнике Номенклатура в стандартную карточку номенклатуры в УТ 11, КА 2, ERP 2.

24.10.2019    4825    darkultro37    4    

Полезные процедуры и функции для программиста

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

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

07.10.2019    33092    HostHost    41    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    28832    itriot11    34    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    39976    Yashazz    50    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    24848    YPermitin    40    

СКД не только для отчетов

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

СКД позволяет получать данные из информационной базы не только для вывода в отчеты, но и для других целей. Пример такого использования рассматривается в настоящей статье.

18.09.2019    20282    YPermitin    36    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    78334    Serginio    113    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

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

18.09.2019    18192    feva    42    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    66688    rpgshnik    68    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    58026    ids79    55    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    37327    ids79    40    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    33126    YPermitin    24    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    27024    YPermitin    80    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    16409    ids79    8    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    30113    grumagargler    31    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    35158    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    106279    ids79    63    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    43744    avalakh    26