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

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

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

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

Практика использования существующего типового функционала резервирования товаров в УТ 11 выявила недостатки:

  • отсутствие механизма по контролю за резервами ответственными (нет сводного отчета).
  • отсутствие временных лимитов по резервам и как следствие образование неликвидов (зависшие товары) или недоступность резервирования по актуальным заказам клиентов.
  • два вида резервирования «СоСклада» и «ИзЗаказов» одинаково «минусуют» складской остаток.

Я подумал и пошёл ...шагами.

Шаг 1 - Составление.

Приняты решения:

  • Установить временной лимит для хранения статуса резерва товара (10 дней).
  • По истечении лимита отменять резервирование товаров, как по неактуальным (автоматически).
  • Создать возможность пролонгирования резервов  товаров по заказам (ответственным).
  • Создать отчет для мониторинга остатков сроков по резервам.
  • Разделить доступность остатков при резервировании из наличия и резервирования к дате (СоСклада и ИзЗаказов).


Шаг 2 – Создание скелета.

Созданы объекты:

Регистр сведений «ООО_ПролонгацияРезервов» , где
   измерения: ДатаУстановкиРезерва, ЗаказКлиента, Номенклатура, Склад, ДатаОкончанияРезерва, Ответственный;
   ресурсы: Количество;
   реквизиты: ПричинаПродленияРезерва.

Роль ООО_ ПролонгацияРезервов(для просмотра и изменения менеджерами).

Внешняя обработка «Продлить резервы по заказу»  - Необходима для создания записей в новом регистре сведений «ООО_ПролонгацияРезервов» из формы заказа клиента без вмешательства в типовой код формы документа.

Шаг 3 – Визуализация.

Мониторинг менеджерами и руководством  сроков резервов по созданному внешнему отчету.

Например:

 


 

Ищем сроки резервов запросом по табличным частям «Товары» документов «Заказ клиента», соединяя с  новым регистром сведений («ООО_Пролонгация Резервов»).  Если в регистре данных по срокам нет (не делали продления), то срок равен дата заказа + количество временного лимита (10 дней).

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

В отчете пытался сделать фишку по сворачиванию группировки с «Номенклатурой».

Удалось через условное оформление – через ограничение максимальной высоты и включением/выключением через параметр «Подробно»(Да/НЕТ).  

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

Если возможны варианты с несложной реализацией – буду рад прочитать в комментариях!

Шаг 4 – Автоматизация (или механизация).

Создан код по удалению «просроченных» резервов,  где поиск данных осуществлен аналогично алгоритму в отчете, после по данным с «просрочкой» (относительно текущей даты) в табличной части «Товары» (документов «Заказ клиента»)  изменяется действие обеспечения с «Резервировать на складе» на «Не обеспечивать» (возможно нужно использовать «Отменено») и заказы перепроводятся.

В идеале (автоматизация) код помещается в общий модуль (не типовой) и выполняется регламентированным заданием.

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

Пример обработки приведен на рисунке.

 

Пример запроса:

Запрос.Текст = "ВЫБРАТЬ
	               |	ООО_ПролонгацияРезервов.ЗаказКлиента КАК ЗаказКлиента,
	               |	ООО_ПролонгацияРезервов.Номенклатура КАК Номенклатура,
	               |	ООО_ПролонгацияРезервов.Склад КАК Склад,
	               |	МАКСИМУМ ООО_ПролонгацияРезервов.ДатаУстановкиРезерва) КАК ДатаУстановкиРезерва
	               |ПОМЕСТИТЬ ВТ_Пролонгации
	               |ИЗ
	               |	РегистрСведений. ООО_ПролонгацияРезервов КАК ООО_ПролонгацияРезервов
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ООО_ПролонгацияРезервов.ЗаказКлиента,
	               |	ООО_ПролонгацияРезервов.Номенклатура,
	               |	ООО_ПролонгацияРезервов.Склад
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
	               |	СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК ВРезервеСоСкладаОстаток,
	               |	СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК ВРезервеПодЗаказОстаток,
	               |	СвободныеОстаткиОстатки.Склад КАК Склад
	               |ПОМЕСТИТЬ ВТОстатки
	               |ИЗ
	               |	РегистрНакопления.СвободныеОстатки.Остатки(&ТекущаяДата, ) КАК СвободныеОстаткиОстатки
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	СвободныеОстатки.Регистратор КАК Регистратор,
	               |	СвободныеОстатки.Период КАК Период,
	               |	СвободныеОстатки.Номенклатура КАК Номенклатура,
	               |	СвободныеОстатки.Склад КАК Склад,
	               |	СвободныеОстатки.ВРезервеСоСклада КАК ВРезервеСоСклада,
	               |	ЕСТЬNULL(ВТ_Пролонгации.ДатаУстановкиРезерва, СвободныеОстатки.Регистратор.Дата) КАК ДатаУстановки,
	               |	РАЗНОСТЬДАТ(ЕСТЬNULL(ВТ_Пролонгации.ДатаУстановкиРезерва, СвободныеОстатки.Регистратор.Дата), &ДатаАктуальности, ДЕНЬ) КАК РазностьКоличество
	               |ПОМЕСТИТЬ ВТПриходы
	               |ИЗ
	               |	РегистрНакопления.СвободныеОстатки КАК СвободныеОстатки
	               |		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Пролонгации КАК ВТ_Пролонгации
	               |		ПО СвободныеОстатки.Регистратор = ВТ_Пролонгации.ЗаказКлиента
	               |			И СвободныеОстатки.Номенклатура = ВТ_Пролонгации.Номенклатура
	               |			И СвободныеОстатки.Склад = ВТ_Пролонгации.Склад
	               |ГДЕ
	               |	СвободныеОстатки.ВидДвижения = &ВидДвижения
	               |	И СвободныеОстатки.ВРезервеСоСклада > 0
	               |	И РАЗНОСТЬДАТ(ЕСТЬNULL(ВТ_Пролонгации.ДатаУстановкиРезерва, СвободныеОстатки.Регистратор.Дата), &ДатаАктуальности, ДЕНЬ) > 0
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	ВТОстатки.Номенклатура КАК Номенклатура,
	               |	ВТОстатки.ВРезервеСоСкладаОстаток КАК ВРезервеСоСкладаОстаток,
	               |	ВТОстатки.ВРезервеПодЗаказОстаток КАК ВРезервеПодЗаказОстаток,
	               |	ВТОстатки.Склад КАК Склад,
	               |	ВТПриходы.Регистратор КАК Регистратор,
	               |	ВТПриходы.ВРезервеСоСклада КАК ВРезервеСоСклада,
	               |	ВТПриходы.Период КАК Период,
	               |	ЕСТЬNULL(ВТПриходы.Регистратор.Менеджер, &ПустойПользователь) КАК Менеджер,
	               |	ЕСТЬNULL(ВТПриходы.Регистратор.Контрагент, &ПустойКонтрагент) КАК Контрагент,
	               |	ВТПриходы.ДатаУстановки КАК ДатаУстановки,
	               |	ДОБАВИТЬКДАТЕ(ВТПриходы.ДатаУстановки, ДЕНЬ, 10) КАК ДатаСрока
	               |ИЗ
	               |	ВТОстатки КАК ВТОстатки
	               |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПриходы КАК ВТПриходы
	               |		ПО ВТОстатки.Номенклатура = ВТПриходы.Номенклатура
	               |			И ВТОстатки.Склад = ВТПриходы.Склад
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	Регистратор,
	               |	Номенклатура,
	               |	Период УБЫВ";
	Запрос.УстановитьПараметр("ДатаАктуальности", ТекущаяДата() - 3600 * 24 * Объект.КоличествоДнейАктуальностиРезервов );
	Запрос.УстановитьПараметр("ВидДвижения", ВидДвиженияНакопления.Приход);
	Запрос.УстановитьПараметр("ПустойПользователь", Справочники.Пользователи.ПустаяСсылка());
	Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка());
	Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());

В коде обработки за основу взята таблица «РегистрНакопления.СвободныеОстатки.Остатки», а не табличная часть «Товары», т.к. регистраторы возможны нескольких типов (теоретически) и для выявления возможных вариантов решил задействовать его. На практике записи с количеством «ВРезервеСоСклада» пишутся только по регистратору «Заказ клиента».
 

Шаг 5 – Разделение доступности остатков.

Первая проблема в типовом функционале УТ: Не удается «резервировать на складе» (недоступен вариант), если остаток на складе ещё есть (с учётом других «резервирований на складе»), но количество в заказах с «резервированием к дате» (по заказам поставщикам) превышает имеющийся складской остаток.

На рисунке (пример типового функционала) показано, как конечный остаток в количестве 7 невозможно зарезерировать (не к дате).

 

 

При выборе варианта обеспечения в заказе покупателя вызывается форма перечисления «ВариантыОбеспечения»  - «ВыборВариантаОбеспечения» и варианты возможно выбрать только, если доступное количество больше нуля (а не конечный остаток).

Второй недостаток типового функционала – обратно позволяет «резервировать» и «отгружать» (устанавливать действие в заказе клиента) в отрицательный остаток, что вводит в заблуждение менеджеров (хорошо, если включен «контроль остатков товаров организаций» и проведение дальнейшей реализации не удается) и затрачивается время на разбирательства и исправление.

Команда «ЗаполнитьОбеспечение»  вызывает форму «ИсполнениеЗаказа" (того-же перечисления «ВариантыОбеспечения») , где присутствуют необязательные флаги «К обеспечению» и «Не обеспечивать», не указав которые можно установить «Отгрузить» и «Резервировать на складе» без контроля остатков.

Решение первого недостатка: покопавшись в коде отладчиком находим функцию «ТаблицаДоступныеОстатки» в модуле менеджера Регистра накопления «ГрафикПоступленияТоваров»,  добавляем пару строк.

Пример изменения типового кода (с комментариями  «Доработка ООО») :

Пока ЕстьЗаписи Цикл

        ЗаполнитьЗначенияСвойств(КлючСтроки, Выборка);
        НарастающийИтог          = Выборка.Остаток;
        МинимальноеЗначение      = НарастающийИтог;
        ИзмениласьЗапись         = Ложь;
        // Цикл по сочетанию номенклатура\характеристика\склад.
        Пока Не ИзмениласьЗапись Цикл
            НарастающийИтог = НарастающийИтог - Выборка.Оборот;
            
            // Доработка ООО
            МинимальноеЗначение_ООО      = НарастающийИтог;   
            // Доработка ООО

            Если МинимальноеЗначение > НарастающийИтог И (Не ТолькоПоложительные Или МинимальноеЗначение > 0) Тогда
                СтрокаТаблицы = ДоступныеОстатки.Добавить();
                ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Выборка);
                СтрокаТаблицы.ДатаДоступности = Выборка.Период; //доступно на дату.
                СтрокаТаблицы.Количество = МинимальноеЗначение;
                МинимальноеЗначение = НарастающийИтог;
            КонецЕсли;
            // Переход к следующей записи.
            ЕстьЗаписи = Выборка.Следующий();
            ИзмениласьЗапись = Не ЕстьЗаписи Или ОбеспечениеКлиентСервер.ИзменилсяКлюч(КлючСтроки, Выборка);
        КонецЦикла;                          
        Если Не ТолькоПоложительные Или МинимальноеЗначение > 0 
            // Доработка ООО
            ИЛИ МинимальноеЗначение_ООО > 0 
            // Доработка ООО
            Тогда
            СтрокаТаблицы = ДоступныеОстатки.Добавить();
            ЗаполнитьЗначенияСвойств(СтрокаТаблицы, КлючСтроки);
            СтрокаТаблицы.ДатаДоступности = '00010101'; //доступно сейчас.
            
            СтрокаТаблицы.Количество = МинимальноеЗначение;
            
            // Доработка ООО
            Если Справочники.итЗначенияПоУмолчанию.ИспользоватьНовоеРезервирование.ОсновноеЗначение = Истина Тогда
                СтрокаТаблицы.Количество = МинимальноеЗначение_ООО;
            КонецЕсли; 
            // Доработка ООО
        КонецЕсли;


Пример кода отмены резервов:

Процедура ОтменитьРезервыНаСервере(МассивСтроки)

                ЗаказРезерва = МассивСтроки[0];
                ЗаказОбъект = ЗаказРезерва.ПолучитьОбъект();

                НоменклатураСтроки = МассивСтроки[1];
                СтруктураПоиска = Новый Структура;
                СтруктураПоиска.Вставить("Номенклатура", НоменклатураСтроки);
            
                СтрокиТоваров = ЗаказОбъект.Товары.НайтиСтроки(СтруктураПоиска);

                Для Каждого СтрокаТоваров Из СтрокиТоваров Цикл

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


Решение второго недостатка: изменить форму «ИсполнениеЗаказа», установив при открытии «К обеспечению» и ограничив изменение («ТолькоПросмотр»).

Пример на рисунке ниже.

 


 

Результаты.

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

Жаль, что количественной  (статистической) оценки нет, но зарезервированные и неактуальные завалы товаров прекратились, уменьшилась путаница.

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

Послесловие.

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

Обоснованная критика приветствуется.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. any__uta 19.03.20 10:52 Сейчас в теме
спасибо) тема оказалась полезной)))
2. Igorro82IT 39 19.03.20 11:41 Сейчас в теме
(1) Это радует)
Наздоровье!
any__uta; +1 Ответить
3. andryandry 85 19.03.20 22:08 Сейчас в теме
нужная вещь. вы могли бы реализовать решение в виде расширения конфигурации?
4. Igorro82IT 39 20.03.20 07:17 Сейчас в теме
(3) Я и сделал, только для формы "ИсполнениеЗаказа" перечисления «ВариантыОбеспечения», но в остальных объектах не вижу такой необходимости.
Отчёт и обработки могут часто меняются (зачем их обновлять вместе со всей конфигурацией), в модуле регистра накопления добавлено всего несколько строк.
Это же не было продуктом на продажу..
5. andryandry 85 20.03.20 10:22 Сейчас в теме
(4)выложите расширение и отчеты для скачивания за стартмани, ок?
8. shard 255 23.03.20 13:44 Сейчас в теме
10. Igorro82IT 39 23.03.20 14:47 Сейчас в теме
(8) Ознакомился. Когда искал варианты прошлой осенью -не нашел (может по причине- в наименовании нет резервирования).
По сути реализованы шаги 2 и 4 немного с другим подходом, без использования регистра сведений.
11. shard 255 23.03.20 14:57 Сейчас в теме
(10) отчет по товарам в резерве также имеется и периодически применяется, но публикацию делал исключительно про автозакрытие просроченных заказов. История изменения реквизита срока действия заказа кстати ведется при версионировании заказов, но за все время использования алгоритма (с августа 18го года) ни разу не понадобилась. Отчет по срокам резервов тоже никто ни разу не просил, а вот на какую сумму менеджер резервов держит интересовались.
Igorro82IT; +1 Ответить
6. Igorro82IT 39 20.03.20 11:15 Сейчас в теме
Возможно и соберусь, скомпоную всё в один комплект, но не сегодня.
Чтобы пакет был более универсальным нужно учесть варианты, которые у меня просто не используются (учет по характеристикам и др), иначе будет пакет недоделок, который скачавшим придётся адаптировать, доделывать и.. ругаться на меня).
7. malikov_pro 269 22.03.20 16:50 Сейчас в теме
Тема актуальна, благодарю что опубликовали свои наработки.
Сам немного раскапывал типовой механизм обеспечения https://infostart.ru/public/1188857/, до проблемы при резервировании к дате не дошел.
По формам отображения, отчет не всегда удобен, вывожу на форму список номенклатуры, при активизации строки ниже вывожу расшифровку.
Если интересно можно собрать проект в git и насыщать его наработками.
В планах перед снятием резерва уведомлять клиента, это стимулирует продажи.
Прикрепленные файлы:
9. Igorro82IT 39 23.03.20 14:43 Сейчас в теме
(7) Ознакомился с Вашей публикацией.
Решение формы обработки интересно и да - удобнее варианта с отчетом.
До "собирания проекта" я не готов (если только участником).
12. Cyberhawk 118 31.03.20 13:16 Сейчас в теме
В отчете пытался сделать фишку по сворачиванию группировки с «Номенклатурой»
А чем не устроило включение-отключение нижнего уровня группировки (номенклатура или детальные записи) в настройках структуры отчета, либо управление сворачиванием группировок через ПоказатьУровеньГруппировокСтрок?
14. Igorro82IT 39 01.04.20 20:45 Сейчас в теме
(12)
"включение-отключение нижнего уровня группировки (номенклатура или детальные записи) в настройках структуры отчета"
Не устраивает только тем, что нажатий больше делать, чем при выборе в шапке "Да/НЕт" (но это все от лени).

Про "управление сворачиванием группировок через ПоказатьУровеньГруппировокСтрок" не совсем понял - (это же не в контекстном меню выбирать уровень?) Есть возможность "разжевать"?
15. Cyberhawk 118 01.04.20 20:50 Сейчас в теме
(14)
нажатий больше делать, чем при выборе в шапке "Да/НЕт" (но это все от лени)
Заходишь в настройку структуры отчета, ПКМ по группировке нижнего уровня (по той, выводом или невыводом которой хочется управлять) - Свойства элемента пользовательских настроек - флажок Группировка - профит
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

Пакет из 3-х курсов по 1С-программированию. Основная цель - сформировать у слушателей практические навыки, связанные с реализацией задач обмена для прикладных решений, работающих на платформе “1С:Предприятие”, а также с разработкой прикладных решений, предназначенных для автоматизации расчета заработной платы и задач бухгалтерского учета.

22.04.2020    3326    23    infostart    2    

Состояния заказов клиентов

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

Конфигурация «Управление торговлей, редакция 11 (11.4.11.104)». Регистр сведений «Состояния заказов клиентов». Описание и устройство.

27.05.2020    1571    0    totchaz    11    

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

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

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

12.05.2020    4266    0    SeiOkami    28    

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

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

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

08.05.2020    6654    0    user5300    13    

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

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

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

10.12.2016    34305    0    unichkin    45    

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

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

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

06.05.2020    3095    0    SeiOkami    3    

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

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

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

12.02.2020    2139    0    ipoloskov    27    

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

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

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

04.02.2020    2204    0    shiaju    3    

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

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

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

15.10.2018    26330    0    tormozit    100    

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

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

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

16.01.2020    2739    0    VID1234    2    

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

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

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

15.01.2020    15913    0    John_d    22    

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

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

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

23.12.2019    10672    0    TitanLuchs    23    

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

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

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

20.09.2012    73823    0    tormozit    129    

Подсистема учета характеристик. Стремление к совершенству

Чистка базы Практика программирования v8 v8::ОУ v8::ПВХ УТ10 УУ Бесплатно (free)

Цель - почистить задвоенность характеристик и предотвратить дальнейшее ее появление.

16.12.2019    3419    0    Rustig    0    

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

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

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

24.10.2019    3701    0    darkultro37    4    

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

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

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

20.09.2019    5323    0    RomanCrow13    26    

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

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

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

11.07.2007    44876    0    tormozit    38    

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

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

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

18.09.2019    14980    4    feva    36    

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

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

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

06.09.2019    35228    0    rpgshnik    62    

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

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

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

05.09.2019    37388    0    ids79    52    

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

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

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

10.09.2017    40697    0    tormozit    72    

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

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

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

22.08.2019    12058    0    ids79    7    

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

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

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

08.08.2019    56943    0    ids79    37    

Кодовое создание документа на 8.3, управляемые формы (на примере)

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

В своё время мне нужен был код создания документа через обработку, пол дня потерял пока нашёл гайд по решению данной задачи. Поэтому просто решил поделиться данным решением. Подойдёт только новичкам, опытные программисты могут даже не читать =)

07.08.2019    5031    0    Nefilimus    16    

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

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

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

25.04.2019    14248    0    m-rv    2    

Как проводятся документы в типовых конфигурациях от 1С

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

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    24651    0    skv_79    35    

Чеки ККМ для расчетов с ИП по безналу. Новые обязательные реквизиты в чеке

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

Новые требования законодательства по пробитию чеков ККМ при расчетах с индивидуальными предпринимателями по безналу. Нюансы подключения интеграционной компоненты ДТО 10.5.0 на примере кассы ККТ АТОЛ 11Ф и конфигурации 1С УТ 11.4. Необходимые доработки типовой конфигурации УТ 11.4 для вывода на печать новых обязательных реквизитов: покупатель, ИНН, ГТД, страна происхождения.

22.07.2019    13923    0    ids79    16    

Вставка гиперссылки в форматированный документ

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

Да, форматированный документ это умеет и сам, но возможности можно расширить!

03.06.2019    5510    0    Yashazz    0    

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

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

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

16.04.2019    17845    0    m-rv    17    

Добавление внешних отчетов / обработок в собственные подсистемы

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

Краткая инструкция по добавлению функционала доп обработок/отчетов в собственную подсистему.

24.05.2019    8526    0    login1020    7    

Управление обеспечением товаров в 1С: Управление торговлей 11 (автоматические закупки)

Оптовая торговля Бухгалтерский учет Оптовая торговля v8::ОУ УТ11 Оптовая торговля, дистрибуция, логистика УУ Бесплатно (free)

Настраиваем автоматическое обеспечение товарами в 1С Управление торговлей 11 стандартными средствами.

22.05.2019    9601    0    ogre2007    13    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

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

В данной статье рассмотрим механизм работы с расшифровкой отчета, созданного при помощи системы компоновки данных, в управляемом приложении. Показывать буду на примере реальной задачи. Условие: использовать имеющиеся в конфигурации механизмы БСП, с минимальными и "правильными" изменениями. Расшифровка должны быть двух видов на каждом поле: 1. Открывать ссылочный объект 2. Открывать новую форму с детализацией табличной части документа. Собственно ради второго пункта и писалась статья, в основном для себя, чтобы не забыть.

14.05.2019    16444    0    Viktor_Ermakov    6    

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

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

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

01.06.2018    27521    0    m-rv    21    

Оперативная доработка отчетов без обновления конфигурации или расширения

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

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

12.05.2019    4075    0    samvani    0    

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

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

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

18.04.2019    3232    0    NeSPEC    0    

Этюды по программированию. Хитрости создания расширений для конфигураций на БСП. Часть 2

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

Некоторые нюансы, если вы захотите создавать свои расширения. Продолжение первой части.

16.04.2019    10369    0    milkers    8    

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

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

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

05.12.2017    25808    0    itriot11    34    

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

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

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

26.03.2019    7049    0    independ    6    

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4

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

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

22.03.2019    15831    0    ids79    16    

Иерархия групп и элементов в форме списка справочника как в проводнике. УФ

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

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

20.03.2019    10026    0    rebuzx    11    

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

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

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

27.01.2016    71301    0    Serginio    108    

Остатки в подборе товаров в документ продажи по нескольким складам

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

Остатки в подборе товаров в документ продажи по нескольким складам без включенной опции «Реализация товаров с нескольких складов».

12.03.2019    5166    0    klepser    5    

Добавление отчетов в типовые конфигурации 1С

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

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

07.03.2019    45396    0    ids79    45    

Программное изменение управляемых форм

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

При адаптации типовых конфигураций 1С часто приходится изменять в 1С 8 управляемые формы. Такие адаптации сложно потом поддерживать при обновлении. Такие изменения приходится вносить вручную заново, перепроверять корректность изменений в каждом обновлении. И если таких изменений множество, то каждое обновление может представлять серьезные трудозатраты. Есть несколько решений, которые позволяют упростить поддержку и обновление измененных систем 1С. Одно из них – это программное изменение форм. Вести разработку в таком режиме получается немного дольше, чем прямое изменение формы. Но это хорошо компенсируется в дальнейшем при поддержке и обновлении системы 1С. На самом деле ничего сложного в этом нет, просто нужно привыкнуть. Рассмотрим на примерах, как делать доработку управляемых форм кодом в 1С.

05.03.2019    8424    0    user759624    10    

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

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

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

10.11.2018    30762    0    ids79    40    

Функциональные опции 1С 8.3 – все возможные варианты использования

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

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

22.02.2019    29151    0    ids79    6    

Информирование пользователя. Работа с объектом «СообщениеПользователю»

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

Различные варианты и нюансы использования объекта СообщениеПользователю и другие способы информирования пользователя: без привязки к какой-либо форме и с выводом сообщения в отдельном окне.

15.02.2019    39195    0    ids79    47    

Создание акта сверки для Управления торговлей с факсимиле

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

Создание обработки на основании встроенной печатной формы для формирования акта сверки взаиморасчётов с факсимиле.

11.02.2019    4710    0    zemskov    4    

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

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

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

25.07.2018    26363    0    grumagargler    26    

Установка шрифтов из 1С, управляемые формы

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

При разворачивании своей конфигурации (специализированной) потребовалось автоматически установить необходимые шрифты. Быстрый поиск привел на статью https://infostart.ru/public/355315/ но у меня шрифты устанавливались неправильно - в реестре информация не обновлялась, да и в списке шрифтов данные так же не обновились (Проверял на Windows 10). Пришлось писать свой код.

04.02.2019    5107    0    zsrg    1    

Исправление отрицательных остатков по организациям в УТ 11.4, КА 2.4, ЕРП 2.4. Интеркампани, механизм формирования резервов

Практика программирования Адаптация типовых решений Учет ТМЦ Учет ТМЦ v8 v8::УФ ERP2 УТ11 КА2 УУ Бесплатно (free)

Подробно рассмотрены два способа исправления отрицательных остатков по организациям без использования подсистемы Интеркампани и с использованием. Описан механизм формирования резервов на уровне процедур общего модуля. Доработки механизма и исправление ошибок.

29.01.2019    25297    0    ids79    34    

Отладка дополнительных отчетов и обработок (Управляемые формы 8.3 БСП)

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

Собственно отладка дополнительных отчетов и обработок (Управляемые формы 8.3 БСП).

17.01.2019    11953    0    aagubarev    28    

Добавление ставки НДС 20% на старой УТ 11.0 за 2 шага

Практика программирования v8::ОУ v8::УФ УТ11 Оптовая торговля, дистрибуция, логистика Россия НДС Бесплатно (free)

Предлагаю Вам небольшую инструкцию по добавлению ставки НДС 20% в старую "необновляемую" конфигурацию "Управление торговлей 11.0".

02.01.2019    16398    0    aximo    13