Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Сделать изменения, так чтобы после легко обновить конфигурацию (http://forums.kuban.ru/f1040/sdelat-_izmeneniya_tak_chtoby_posle_legko_obnovit-_konfiguraciyu-2458497.html)

twiny 06.04.2012 10:47

Сделать изменения, так чтобы после легко обновить конфигурацию
 
У меня есть документ (путевой лист), который делает списание материалов (факт.расход ГСМ). Сейчас документ делает списание материалов самостоятельно (расчитываю стоимость, делаю проводки).

Возникла идея, чтобы документ при проведении создавал документ "Требование-накладная". Может это конечно и удаление аппендицита через "одно место"...

Думаю над этой схемой вот еще почему, когда буду собирать задания выполненные по путевкам (чтобы выставить счета заказчикам) мне нужно будет как-то провести опять же это все. А если это будет какой-то новый документ, который при проведении будет создавать "Реализация товаров и услуг" (+с/ф)...

В результате получилась бы конфигурация, которая дополняет ее новыми функциями, однако операции в части БУ и НУ сама не делает, а перепоручает это все "родным" документам конфигурации.

У кого какие мысли? Кто что делал по такой схеме или где можно посмотреть? Ну или аргументы-отговорки.

angro 06.04.2012 10:51

да нормально, только предусмотреть надо если юзеры будут эти породжённые документы править

twiny 06.04.2012 10:59

2- согласен, вроде в подписках на события можно это сделать.

roma n 06.04.2012 11:01

В части организации взаимодействия подсмотреть можно в организации связки документа и подчиненной ему СчФ.
[quote=twiny;24421458]В результате получилась бы конфигурация, которая дополняет ее новыми функциями, однако операции в части БУ и НУ сама не делает, а перепоручает это все "родным" документам конфигурации.[/quote]
Это здравый подход.

ИМХО. Создавать документы при проведении моветон. Обработка, формирующая пакет документов (твои, для собственных учётных механизмов + "родные" и организующая их связку).
PS На каждую поездку делать требование накладную мне лично кажется излишним. Накапливать данные о фактическом расходе ГСМ [u]количестве[/u] на своём учётном регистре, а требования-накладные регламентно в конце месяца на основе накопленных данных. (ИМХО)

twiny 06.04.2012 11:05

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

Uho 06.04.2012 11:19

(5) найдите 10 отличий:
[quote=roma n;24421871]Создавать документы при проведении моветон.[/quote]
[quote=twiny;24421987]создавать документы моветон[/quote]

twiny 06.04.2012 11:27

6 - уточняю:
"Подчиненный" документ буду создавать при записи, проводить при проведении, отменять проведение при отмене проведения. Так правильнее?

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

имхо оба варианта имеют право на жизнь.

VragHorosh 06.04.2012 13:12

добавлял в ут Путевые листы, + ввод на основание требовательной накладной, далее выгрузка в БП . Все гуд, ничего сложного.

VragHorosh 06.04.2012 13:16

[quote=Руки проч от сотки;24425150] добавлял в ут Путевые листы, + ввод на основание требовательной накладной, далее выгрузка в БП . Все гуд, ничего сложного. [/quote]
добавлю что сам док путевой лист у меня ниче не двигал, все проводки через требовательную накладную.

twiny 06.04.2012 13:20

9 - тоже вариант

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

VragHorosh 06.04.2012 13:25

[quote=twiny;24425299] 9 - тоже вариант Может кто встречал подобные по реализации отраслевые решения (не обязательно автотранспорта), которые прикручиваются к стандартным конфигурациям. [/quote]

могу поделиться тем, что делал я

VragHorosh 06.04.2012 13:33

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

twiny 06.04.2012 13:39

12 - спасибо, но подобные вещи уже писал. Тут не совсем устраивает, что нужно снимать галочку с требования при обновлении. Поэтому хотел бы видеть решение, которые было бы лишено подобного минуса.

Управление торговлей 11 07.04.2012 10:33

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

Управление торговлей 11 07.04.2012 10:39

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

Управление торговлей 11 07.04.2012 10:44

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

Helen 1986 07.04.2012 16:17

за (16) - веником по роже
за (15) - нормально, но когда нового функционала много, начнутся напряги
за (14) - еще раз веником

Управление торговлей 11 07.04.2012 17:18

(17) бугого. ты от фонаря ответы пишешь? в (15) и (14) одно и то же написано

twiny 07.04.2012 17:40

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

Управление торговлей 11 07.04.2012 17:43

(19) все в твоих руках

twiny 07.04.2012 17:44

20 спс! а решения по вашей схеме где-нить можно посмотреть?

Управление торговлей 11 07.04.2012 18:43

Сам я это почерпнул это на курсах в УЦ№3. По бизнес-процессам можно почитать в недавней книжке "Решение специальных прикладных задач в "1с:предприятии 8.2"

Управление торговлей 11 07.04.2012 18:54

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

Управление торговлей 11 07.04.2012 19:04

вот сделал примерчик, выжимку из рабочего кода:
&НаСервере
Процедура НекийДокументОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
//существующие получаем подчиненные документы
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПодчиненныйДокумент.Ссылка,
| ПодчиненныйДокумент.НекийПараметр
|ИЗ
| Документ.ПодчиненныйДокумент КАК ПодчиненныйДокумент
|ГДЕ
| ПодчиненныйДокумент.НекийДокументКлиента = &НекийДокументКлиента";

Запрос.УстановитьПараметр("НекийДокументКлиента", Источник.Ссылка);
Результат = Запрос.Выполнить();
ТаблицаПодчиненныхДокументов=Результат.Выгрузить();

//получаем выборку, по которой будем создавать разные документы
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| НекийДокументКлиентаТовары.НекийПараметр
|ИЗ
| Документ.НекийДокументКлиента.Товары КАК НекийДокументКлиентаТовары
|ГДЕ
| НекийДокументКлиентаТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
Результат = Запрос.Выполнить();

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

twiny 08.04.2012 17:04

(24) спасибо!
Значит помимо создания, проведения, пометки удаления, отмены проведения из модуля документа(формы) можно использовать еще и события. Буду посмотреть и такую схему. Правда еще непонятно, что из этого будет лучше/хуже.

Управление торговлей 11 08.04.2012 18:11

можно, работает. еще круче - с бизнес-процессами, но в двух словах уже не объяснить


Текущее время: 02:54. Часовой пояс GMT +3.