Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Войти | Зарегистрироваться )



3 страниц V   1 2 3 >

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 12.09.13, 10:42


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Итогом изысканий решение пришло на 6 секунд, взамен 32-ух при полном переборе от Vofka, который, в свою очередь, отправил в утиль тупой 17-ти минутный неправильный полный перебор:

    ТЗ.Колонки.Добавить("Данные1", Новый ОписаниеТипов(Справочники.ТипВсеСсылки(), Документы.ТипВсеСсылки().Типы()));
    ТЗ.ЗагрузитьКолонку(ТЗ.ВыгрузитьКолонку("Данные"), "Данные1");
    ТЗ.Свернуть("Данные1");
    МассУд= ТЗ.НайтиСтроки(новый Структура("Данные1", Неопределено));
    Для каждого Эл из МассУд Цикл
        ТЗ.Удалить(Эл);
    КонецЦикла;


ТЗ действительно работает ооочень быстро! 1С не обманывает, с чем всех и поздравляю! Всем спасибо!
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74427 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 11.09.13, 16:14


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


МВТ = Новый МенеджерВременныхТаблиц;

От этой строки колонки ТЗ не становятся типизированными.


Косяк в самой возвращаемой ТЗ. Если отладчиком смотреть тип колонки, то там описание типов присутствует, но как получить состав описанных типов колонки - я не разобрался. Может, кстати, знаете?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74390 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 11.09.13, 15:30


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Да какой тут код может быть, когда вся задача из двух строк(?)

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



Кхм... кажется - проблема ясна crazy.gif Либо задачу не читаем, либо подразумеваем известным, и потому не освещаем, способ приведения ТЗ из НайтиПоСсылка(...) к ТЗ с типизированными колонками за сложность, не превышающую полный перебор этой самой ТЗ циклом.
?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74382 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 11.09.13, 15:08


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


?

Выбрать * из &ТЗ как ТЗ

А может быть другим этот запрос?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74376 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 11.09.13, 14:26


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(Fynjy @ 11.09.13, 7:18) *
Запросом.


Да, кстати, покажите - какой должен быть запрос? Может, я неверно его напрямки собираю?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74369 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 11.09.13, 13:34


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Запросом, к сожалению, а может - к счастью, не получается - "Тип не может быть выбран в запросе", а красивое и правильное решение в обход данной ошибки не придумалось. А "Метаданные.Справочники.Содержит(МетаданныеИЗТЗ) = Неопределено" - это решение, спасибо!

Всем спасибо! crazy.gif
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74360 · Ответов: 17 · Просмотров: 9896
 

>  Удаление строк из ТЗ по условию
bolobol
Отправлено: 10.09.13, 16:08


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Доброго времени суток!

Задачка тут возникла актуальностью своей поражая:

НайтиПоСсылкам(...) возвращает ТЗ в которой третья колонка - объект метаданных, которому соответствуют данные в которых найдена ссылка.

Я могу использовать только справочники и документы, как из ТЗ правильно удалить всё остальное?

Как создать ТЗ уже без лишних данных, таких как запись регистра?

Спасибо.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #74318 · Ответов: 17 · Просмотров: 9896
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 14:53


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(Vofka @ 22.07.13, 14:29) *
Вариант 2: а собственно, если у вас есть в запросе поле Фамилия, так отбирайте в отборе по нему.


Да, через кнопку "Дополнительно":
Отфильтровать:
Фамилия = Иванов Иван Иваныч
Дополнительно
позволяет выбрать любое поле, но пользователи этому не внемлят. Типа: "Я ткнула в фамилию, зачем мне дополнительно выбирать, что отфильтровать нужно именно по фамилии?"
А в дополнительно - там видно, что подставляется Ссылка, что для расшифровки отрабатывает. Сортировка явно указана в СКД по какому именно полю, а Отбор и Оформление так и остались по ссылке.
  Форум: Система компоновки данных · Просмотр сообщения: #72247 · Ответов: 12 · Просмотров: 8085
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 14:09


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(Vofka @ 22.07.13, 13:40) *
Если сделать всё, что выше написано - то у меня фильтрует именно по фамилии.

А у меня в Отфильтровать и Офирмить пишет "Фамилия = Иванов Иван Иваныч", т.е. по ссылке фильтрует... Хелп!!

Вторая часть Марлезонского балета чуть сложна была мне для написания, хотел убедиться что не напрасно оно будет, уж простите - когда решения вот так на раз подсказывают - всё захапать сразу хочется))

Страшно подходить к навороченной системе, а после обуча - кашка в голове!

В заключении вопроса (задача решена, все довольны, а я разбираюсь с тонкостями) - Вам все премного благодарны за оперативную (доходчивую) помощь! (Ща проплюсую везде)


-------------
Вторая часть балета, кстати, выглядит так (может прокомментируете)):

    Перем ВыполненноеДействие;
    СтандартнаяОбработка=Ложь;
    ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    ДополнительныеДействия=Новый СписокЗначений;
    ДополнительныеДействия.Добавить("ОткрытьФЛ","Открыть карточку Физ.лица"); // добавляем свое действие
    ДополнительныеДействия.Добавить("ОткрытьСотр","Открыть карточку Сотрудника"); // добавляем свое действие
    Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,,ДополнительныеДействия);
    Если Настройки<>Неопределено Тогда
        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
        ЭлементыФормы.Результат.Очистить();
        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);
    Иначе
        ИД0= новый ИдентификаторРасшифровкиКомпоновкиДанных(0);
        Для каждого ЭлСтр из ДанныеРасшифровки.Элементы Цикл
            Если ЭлСтр.Идентификатор= ИД0 Тогда
                продолжить;
            КонецЕсли;
            Если ВыполненноеДействие="ОткрытьФЛ" И ЭлСтр.ПолучитьПоля()[0].Поле = "_3Имя" тогда
                ЭлСтр.ПолучитьПоля()[0].Значение.ПолучитьФорму().Открыть();
                прервать;
            ИначеЕсли ВыполненноеДействие="ОткрытьСотр" И ЭлСтр.ПолучитьПоля()[0].Поле = "_4Отчество" тогда
                ЭлСтр.ПолучитьПоля()[0].Значение.ПолучитьФорму().Открыть();
                прервать;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
  Форум: Система компоновки данных · Просмотр сообщения: #72240 · Ответов: 12 · Просмотров: 8085
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 13:30


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(Vofka @ 22.07.13, 12:32) *
Перед тем как писать - надо было потрудиться и попробовать работает ли фильтр. Забегая наперед сообщу, что работает. Пожалуйста, кстати.

Так не томите! Расскажите же КАК? Как заставить его по умолчанию фильтровать по Фамилии, а не по Ссылке, которую заменяет представлением Фамилия?

ОФФ: Один мой знакомый струбциной загонял тормозной поршень в суппорт - суппорт разорвало. А он очень "трудился". Модель была немецкая - поршень закручивающийся. Мораль: трудиться с нужным вектором правильно, иначе это деструкция или "мартышкин труд"))

---
По второй части - я ещё не проверил, какие данные выдаются СКД-ой при замене Представления в ДанныеРасшифровки (их я обозвал "доступные данные")
  Форум: Система компоновки данных · Просмотр сообщения: #72236 · Ответов: 12 · Просмотров: 8085
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 12:11


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Да. Упорядочивание работает. А фильтр по фамилии?

А насчёт "на уровне компоновки" - это ясно, т.к. выбор Обработкой расшифровки дополняется - это понятно. Не понятно, почему в доступных данных ОбработкиРасшифровки есть только выводимые пользователю поля, а ссылки, которые не выводятся - отсутствуют. И вот как вытащить из результатов выполнения запроса не выведенные в отчёт ссылки - тут-то и вопрос. И, не понятно, если подменить ссылку на ФизЛицо представлением Фамилией, а ссылку на Сотрудника представлением Имени, то будет ли в Обработке расшифровки доступны ссылки?
  Форум: Система компоновки данных · Просмотр сообщения: #72233 · Ответов: 12 · Просмотров: 8085
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 11:07


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


++
Замена представления успешно отрабатывается, но при такой реализации перестаёт работать сортировка и отбор по фамилии, работает по объекту, а не по представлению.

И вторая часть задачи не решается этим: при расшифровке (на выбор) предложить открытие объекта справочника Сотрудники или Физические лица

Как с этим быть?
  Форум: Система компоновки данных · Просмотр сообщения: #72231 · Ответов: 12 · Просмотров: 8085
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 10:25


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


У Физического лица нет Фамилии. Есть запись в регистре сведений для Физического лица его ФИО.

Т.е. структура как в ЗУП:
Спр.ФизЛица
Спр.Сотрудники:Рекв.ФизЛицо_Спр.ФизЛица
РегСв.ФИОФизЛиц:Изм.ФизЛицо_Спр.ФизЛица, Рес.(Ф,И,О)_строка
  Форум: Система компоновки данных · Просмотр сообщения: #72228 · Ответов: 12 · Просмотров: 8085
 

>  Окна
bolobol
Отправлено: 22.07.13, 10:10


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Если "для себя", то выбирайте на свой вкус. Уверен, что такие функции как "проветривание" в окнах справочника не избавят просто так этот справочник от ненужных элементов.
Но если речь идёт о коммерческом продукте, то такого плана изыски, как смена оконного интерфейса на "стеклопластик", оценит далеко не каждый потенциальный использователь.
  Форум: Офф-топик · Просмотр сообщения: #72227 · Ответов: 2 · Просмотров: 2110
 

>  Расшифровка по полю, которого нет
bolobol
Отправлено: 22.07.13, 9:51


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Бодрого бремени суток! Есть вопрос:

В СКД собран отчёт по сотрудникам, вывод которого настроен в закладке СКД "Настройки" как детальные записи.
Отчёт вида:
Фамилия | Имя | Отчество | Данные нужные | Данные контрольные

Понятно, что ФИО выбирается из регистра сведений физического лица, но расшифровка требуется как элемента справочников Физические лица и Сотрудники, на выбор.
Но как расшифровать текстовые поля элементами, которые даже в отчёт не выводятся - ума не приложу.

Хелп!
  Форум: Система компоновки данных · Просмотр сообщения: #72225 · Ответов: 12 · Просмотров: 8085
 

>  Запись изменений регистра сведений. 1С8.2.последняя
bolobol
Отправлено: 11.10.11, 14:49


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(logist @ 11.10.11, 12:37) *
"Корректировка записей регистров" как-то выполняет свои функции.

И ведь правда... документ этот выглядит как таблица регистра, причём любого и нескольких даже. Я обкурю этот вариант, спасибо за наводку!

А с фиксацией факта изменения набора записей регистра сведений с ..было.. на ..стало.. - всё глухо, да?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #34102 · Ответов: 8 · Просмотров: 13010
 

>  Запись изменений регистра сведений. 1С8.2.последняя
bolobol
Отправлено: 11.10.11, 12:18


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(logist @ 10.10.11, 11:21) *
Если кто-то боится что деньги уйдут не туда, то это проблема не 1С.

Но мы и не проблемы 1С обсуждаем, а проблемы пользователей 1С. Я, просто, знаю этот приём - использование ломаной логики, как-то так называется ))
Цитата(logist @ 10.10.11, 11:21) *
В конце концов можно сделать документ, так как это реализовано в УПП.

А как Вы себе представляете этот универсальный чудо-документ внесения записи в нужный регистр сведений? Ибо, заблокировать от пользователя все регистры возможно подпиской, а в документе создать неограниченное количество возможных ресурсов, реквизитов, измерений возможно только табличной частью, где всё это будет строками. Одно изменение - одна строка. Как будто приемлемо, но вот с удобством... сколько кода писать придётся, что страшно уже на этапе фантазий. Да и времени никто не даст... А без времени - будет хуже для пользователя, что недопустимо даже для разработки.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #34074 · Ответов: 8 · Просмотров: 13010
 

>  Запись изменений регистра сведений. 1С8.2.последняя
bolobol
Отправлено: 10.10.11, 10:03


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(logist @ 09.10.11, 23:47) *
Мне кажется постановка такой задачи несколько глуповата.
Большинство записей в регистры делают документы, а те регистры в которые идет запись на прямую относятся в основном к настройкам и параметрам, и доступ к их изменению должны иметь люди, действия которых, в данном случае, не требуют логирования.

Особенно регистр сведений ЛицевыеСчетаРаботниковОрганизации в бухгалтерии, в ЗУП. Как говорил наш любимый шеф, .. .., слон кажется маленьким только издалека и лёгким, только если он чужой ))
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33979 · Ответов: 8 · Просмотров: 13010
 

>  Запись изменений регистра сведений. 1С8.2.последняя
bolobol
Отправлено: 09.10.11, 19:56


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(logist @ 09.10.11, 6:46) *
А спереть стандартное версионирование из какой-то типовой религия не позволяет?

Да. Там версионирование на хранилище значений реализовано, не совсем понятно как из хранилища получить информацию кто поменял это или что именно поменяли в том-то. Да и не видел (может, что плохо смотрел) версионирования изменений регистров. Да и не понятно, зачем проверять дважды изменения: во время записи (а нужно ли версионировать, если ничего не изменилось) И во время поиска изменений, т.к. в хранилище там суётся объект целиком.
Цитата(logist @ 09.10.11, 6:46) *
.Если существующие записи есть то:
..Если это ПЕРЕЗАПИСЬ (Новые записи <> пусто) - сравнение, очистка, запись новых, и запись изменений.
..Иначе - очистка существующих.
.Иначе - записать новые записи.

Вот то-то и оно, что для регистров - всегда два вызова: из набора в пустой набор И из пустого набора в новый. Всегда изменения, а значит - нет решения задачи.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33962 · Ответов: 8 · Просмотров: 13010
 

>  Запись изменений регистра сведений. 1С8.2.последняя
bolobol
Отправлено: 08.10.11, 23:45


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Ещё вопрос.

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

По подписке ко всем регистрам сведений, документам, справочникам на "ПередЗаписью", выполняется выборка записанной версии, сравнение с Источником, запись изменений. Но рассмотрим случай с регистром сведений - перед записью срабатывает по два раза:
1. очистка существующих записей по отбору - сравнение существующих записей с пустым набором
2. запись нового набора - сравнение пустого набора с новым набором

Таким образом, получаю два документа - спёрли все зописи по отбору И записали новый набор. По логике задачи, мне нужен один документ - что _изменили_, т.к. невозможна ситуация только стирания старых записей и отказа в записи нового набора. Но возможны ситуации - только стирания И только записи нового набора, т.е. нельзя гарантировать, что после логирования стирания возникнет обязательно логирование записи. Подскажите, как быть. Как же решить задачку-то?

Спасибо ))
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33940 · Ответов: 8 · Просмотров: 13010
 

>  Регистр сведений. 1С8.2.последняя
bolobol
Отправлено: 08.10.11, 23:25


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Разъясните, пожалуйста, по Регистрам сведений:
Есть настройка прав: Чтение, Изменение, Просмотр, Редактирование. Если снять Изменение, то и редактирование снимается. То есть, я не понимаю, как настроить так, чтобы пользователи не могли изменять существующие записи, но могли добавлять новые (??)

Вопросдва. Если у регистра есть в отборе Регистратор, как только создаётся Набор записей, то отбор пополнить реквизитами, ресурсами как-то возможно?
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33938 · Ответов: 1 · Просмотров: 4234
 

>  Новый регистр, регистраторы на поддержке
bolobol
Отправлено: 08.10.11, 23:17


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Здравствуйте!

Необходимо создать новый регистр, пользователи не должны иметь возможности руками его править, но документами - пожалуйста.
Насколько мне известно, достаточно установить режим записи - подчинение регистратору. Но тут несостыковка. Регистраторами я могу назначить документы, которые на поддержке, а значит, что при обновлении, подчинение регистратору очистится, но не есть гуд. Может, есть другой способ? Т.к., если не назначать регистратора, то и запись этим документом произведена быть не получается - неверное значение пишет мне 1С8.2.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33937 · Ответов: 2 · Просмотров: 2889
 

>  Сворачивать, сортировать набор записей
bolobol
Отправлено: 08.10.11, 22:29


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Здравствуйте.

Не уверен, что делаю всё правильно, поэтому вопросы по правильности решений (задачи переформулированы):
1. В документе имеется табличная часть с реквизитом Товары.
По подписке "обработка проведения" документа, по товару отбирается склад и другие реквизиты и ресурс из периодического регистра:
Стракт= Новый Структура;
Стракт.Вставить("Товар", Источник.ТабЧасть.ВыгрузитьКолонку("Товары"));
СкладыТоваров= РегистрыСведений.СкладыТоваров.СрезПоследних(Источник.Дата, Стракт);


2. В документе нет указания, что он формирует движения по периодическому регистру сведений "РегСв", таким образом, как я понимаю, чистить движения нужно самостоятельно, для того чтобы получить состояние регистра на дату документа:
НаборЗаписей= РегистрыСведений.РегСВ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка);
НаборЗаписей.Записать();


3. Нужно создать таблицу значений аналогичной структуры как РегСВ:
ТЗВсеСклады= НаборЗаписей.Выгрузить();


4. Полученную выборку необходимо отсортировать по реквизиту "Склад":
СкладыТоваров.Сортировать("Склад");

и при определённых условиях остальных реквизитов - опустошить значение ресурса, но так как обход идёт по неизвестному заранее сценарию (надо ли опустошать и несколько записей регистра или одну), то получается такая схема:
ПредыдущийСклад= Неопределено;
ТЗОпустошения= Неопределено;
ВыполнениеУсловияОпустошения= ложь;
Для каждого Стр из СкладыТоваров Цикл
   Если ПредыдущийСклад <> Стр.Склад Тогда
      Если ПредыдущийСклад <> неопределено Тогда
         Если ВыполнениеУсловияОпустошения Тогда

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

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

и повтор кода (здесь сделано через повтор, чтобы не путать текстом оптимизации, типа - зачем добавляется пустая строка в СкладыТоваров):
Если ПредыдущийСклад <> неопределено Тогда ... КонецЕсли;

Получается, что при заполнении по Стр, а затем по вдруг необходимому заполнению по Стр2 (которая может включать в себя отдельные записи Стр, уже добавленные) в ТЗВсеСклады появятся дублирующиеся записи, которые необходимо свернуть по реквизитам и ресурсам РегСВ:
Метаданное= Метаданные.РегистрыСведений.РегСВ;
СтрСвернуть= "";
Для каждого Стр из Метаданное.Реквизиты Цикл
   СтрСвернуть= СтрСвернуть + "," + Стр.Имя;
КонецЦикла;
Для каждого Стр из Метаданное.Ресурсы Цикл
   СтрСвернуть= СтрСвернуть + "," + Стр.Имя;
КонецЦикла;
ТЗВсеСклады.Свернуть(Сред(СтрСвернуть, 2));


5. И когда ТЗВсеСклады подготовлена к записи в регистр РегСВ, ведь с дублирующимися записями регистр не запишется:
НаборЗаписей.Загрузить(ТЗВсеСклады);
НаборЗаписей.Записать();


6. Что нужно изменить, чтобы было правильно? ))

Спасибо.
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #33936 · Ответов: 2 · Просмотров: 5011
 

>  Глобальные переменные общего модуля
bolobol
Отправлено: 28.09.11, 14:36


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


"Повторное использование" - Да! Спасибо за наводку ))
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #32881 · Ответов: 18 · Просмотров: 25936
 

>  Регистр остатков комплектов (проект)
bolobol
Отправлено: 28.09.11, 14:30


Говорящий
***

Группа: Пользователи
Сообщений: 65
Регистрация: 26.08.11
Пользователь №: 11286


Цитата(pablo @ 28.09.11, 11:36) *
"делать согласно приказу об учетной политике".

Точно! Корректировка приказа - через какое время от даты поставки и/или каких факторов - списывать товар по ФИФО, независимо от перекомплектаций )))) Ур-ра! Спасибо!
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #32880 · Ответов: 4 · Просмотров: 3505
 

3 страниц V   1 2 3 >

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 08.06.24, 21:50
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!