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

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

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

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

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

....

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

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

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

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

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

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

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

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

А можно как-нибудь сделать так что бы при выборе реквизита "Замена" Форма списка (вроде-так) "Справочник.Номенклатура", сразу переходил на вкладку "Услуги" и убирал "Режим ввода списка по группам" или на худой конец открывал группу с определённым именем ?
...
Рейтинг: 0 / 0
Помогите сделать замену в справочнике 1С в7.7
    #37362454
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Помогите сделать замену в справочнике 1С в7.7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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