Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Помогите сделать замену в справочнике 1С в7.7 / 8 сообщений из 8, страница 1 из 1
20.07.2011, 01:46
    #37358608
damned
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
Нужно в Справочнике.Номенклатура сделать соответствие товара, выполняемой работе. Например 1м погонный кабеля (товар) = 1м проложить 1м кабеля (работа), для быстрой оценки стоимости работ. Основная идея такова. Выбираем соответствие каждому товару. В документе Смета (Переделка из объекта счёт) нажимаем кнопочку и у нас все объекты, где есть соответствия, меняются на работу. Встрял на первом этапе. При создании поля "Замена" со значением Справочник.Номенклатура, выбранное в нём значение не сохраняется =(. Есть опыт программирования, но в 1С, очень очень маленький.

Заранее спасибо.
...
Рейтинг: 0 / 0
20.07.2011, 08:47
    #37358699
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
damnedНужно в Справочнике.Номенклатура сделать соответствие товара, выполняемой работе. Например 1м погонный кабеля (товар) = 1м проложить 1м кабеля (работа), для быстрой оценки стоимости работ. Основная идея такова. Выбираем соответствие каждому товару. В документе Смета (Переделка из объекта счёт) нажимаем кнопочку и у нас все объекты, где есть соответствия, меняются на работу. Встрял на первом этапе. При создании поля "Замена" со значением Справочник.Номенклатура, выбранное в нём значение не сохраняется =(. Есть опыт программирования, но в 1С, очень очень маленький.
Заранее спасибо.
Платформу в студию.
Не очень понятно как вы конкретно модифицировали систему и где именно что не сохраняется, напишите по шагам.
Типа добавил реквизит в справочник номенклатура Замена типа СправочникСсылка.Номенклатура.
Разместил на форме поле связанное с реквизитом Замена.
В режиме предприятие на форме диалога справочник Номенклатура выбираю значение поля Замена, сохраняю изменения.
При повторном открытии формы значение поля Замено - пусто.
...
Рейтинг: 0 / 0
20.07.2011, 12:44
    #37359187
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
damned,

Поля формы сами по себе не сохраняются, сохраняются реквизиты объекта (которые могут быть отображые полем формы).
Вам надо в справочнике товар создать реквизит-ссылку на сам справочник товар. В документе при вводе строки, если этот элемент заполнен - добавлять ещё одну строку.

ЗЫ Не забудьте заблокировать возможность у эелемнта справочника ссылаться на самого себя.
...
Рейтинг: 0 / 0
20.07.2011, 12:58
    #37359220
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
Ничего не меняя можно сделать новое свойство замена с типом номенклатура....
...
Рейтинг: 0 / 0
20.07.2011, 14:05
    #37359344
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
Программист 1сНичего не меняя можно сделать новое свойство замена с типом номенклатура....
при условии что в той конфигурации которую вы используете этот механизм для справочника номенклатура реализован...
...
Рейтинг: 0 / 0
21.07.2011, 11:03
    #37360711
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
Лёха, в 7.7!?
...
Рейтинг: 0 / 0
21.07.2011, 20:11
    #37362087
damned
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
Платформа 1С 7.7.
Конфигурация УСН 1.3

Что сделал, по шагам:
Справочник.Номенклатура.
Добавил реквизит "Замена" тип "Справочник.Номенклатура".

....

Всё разобрался. Там есть "Поле" а есть "Реквизит"

Упростить можно или так сойдёт ?

//******************************************************************************
// Процедура замены
//

Процедура Замена()
Ответ = Вопрос ("Заменить все материалы на соответствующие работы ? Обратный процесс не возможен.",4,0);
Если Ответ = 6 тогда // Если согласны
Табло = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(Табло);
Табло.ВыбратьСтроки();

// Перебор по строкам
Пока Табло.ПолучитьСтроку()=1 Цикл
Если СтрДлина(Табло.Товар.Замена.Наименование) > 0 тогда
Сообщить("Меняем " + Табло.Товар + " на " + Табло.Товар.Замена + " стоимость работ " + Табло.Товар.Замена.Цена);

Табло.Цена = Табло.Товар.Замена.Цена;
Табло.Товар = Табло.Товар.Замена;

КонецЕсли
КонецЦикла;

// Возвращаем всё в таблицу
ЗагрузитьТабличнуюЧасть(Табло);
Пересчет("Цена");
КонецЕсли
КонецПроцедуры // Замена()

А можно как-нибудь сделать так что бы при выборе реквизита "Замена" Форма списка (вроде-так) "Справочник.Номенклатура", сразу переходил на вкладку "Услуги" и убирал "Режим ввода списка по группам" или на худой конец открывал группу с определённым именем ?
...
Рейтинг: 0 / 0
22.07.2011, 09:13
    #37362454
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сделать замену в справочнике 1С в7.7
damned,
Есть несколько моментов.
1. Перед вопросом проверим есть ли строки. Если нет вопрос не нужен
2. Перед тем как проверять есть ли замена надо проверить выбран ли Товар
3. Забыли про стоимость. В вашем задании написано "1 м кабеля" заменить на "прокладка 1 м кабеля".
Следовательно нужно также считать стоимость по строке, и итог по стоимости? а не только цену.
Возможно что забыли про НДС (если есть реквизиты).

Мне кажется так будет поизящнее.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Процедура Замена()
  Если КоличествоСтрок() =  0  Тогда
     Возврат;
  КонецЕсли;
  Ответ = Вопрос ("Заменить все материалы на соответствующие работы ? Обратный процесс не возможен.", 4 , 0 );
  Если Ответ <>  6  Тогда	 // Не согласны
     //Не хотите? Тогда просто завершим процедуру.
     Возврат;
  КонецЕсли;
  Табло = СоздатьОбъект("ТаблицаЗначений");
  ВыгрузитьТабличнуюЧасть(Табло);
  //Обработка строк
  Табло.ВыбратьСтроки();
  //Перебор по строкам
  Пока Табло.ПолучитьСтроку() =  1  Цикл
     //Проверим выбран ли товар
     Если Табло.Товар.Выбран() =  0  Тогда 
        //Товар не выбран => менять нечего
        Продолжить;
     КонецЕсли;
     //Проверим выбрана ли для для товара замена
     Если Табло.Товар.Замена.Выбран() =  0  Тогда 
        //Замены нет, эту строку менять не будем
       Продолжить;
     КонецЕсли;      
     Сообщить("Меняем " + Табло.Товар + " на " + Табло.Товар.Замена + " цена работы " + Табло.Товар.Замена.Цена); 
     Табло.Цена  = Табло.Товар.Замена.Цена;
     Табло.Товар = Табло.Товар.Замена;	
     //Здесь вставить строку для расчета стоимости или суммы что там у вас
     //Возможно также что нужно обновить значение реквизита ставка НДС и суммы НДС пересчитать (если есть).
  КонецЦикла; 
  //	Возвращаем всё в таблицу
  ЗагрузитьТабличнуюЧасть(Табло);
  Пересчет("Цена");
КонецПроцедуры // Замена()
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Помогите сделать замену в справочнике 1С в7.7 / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]