arefaste/1C_Forums huggingface dataset:
Как подсчитать количество записей с одинаковым значением некоторого поля?
---
```1c
    ВЫБРАТЬ
    Контрагенты.ОсновнойМенеджерПокупателя,
    КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК КоличествоЗакрепленных
    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ГДЕ
    (Контрагенты.ЭтоГруппа = ЛОЖЬ) И (Контрагенты.ОсновнойМенеджерПокупателя <> &НеЗаполненМенеджер)
    СГРУППИРОВАТЬ ПО
    Контрагенты.ОсновнойМенеджерПокупателя
    УПОРЯДОЧИТЬ ПО
    КоличествоЗакрепленных УБЫВ

    Справочники.Пользователи.ПустаяСсылка()
```
---
```1c
    ВЫБРАТЬ
    Контрагенты.ОсновнойМенеджерПокупателя,
    КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК КоличествоЗакрепленных
    ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ГДЕ
    (Контрагенты.ЭтоГруппа = ЛОЖЬ) И (Контрагенты.ОсновнойМенеджерПокупателя <> &НеЗаполненМенеджер)
    СГРУППИРОВАТЬ ПО
    Контрагенты.ОсновнойМенеджерПокупателя
    УПОРЯДОЧИТЬ ПО
    КоличествоЗакрепленных УБЫВ

    Справочники.Пользователи.ПустаяСсылка()
```
Всем привет!

Суть проблемы: после обновления конфигурации при обмене из центра в периферийную базу не выгружаются документы "ЧекККМ".
Обмен идет по правилами между идентичными конф-ми "КА-КА 1.1".

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

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

сразу мысль - а может это правила обмена? но если так, то почему раньше все выгружалось? структура ЧекаККМ при обновлении не изменилась, так что правила обновлять ни к чему.

какие еще варианты, подскажите?

p.s.
и нужны ли они эти чеки ккм вообщще? ведь они при закрытии смены сворачиваются в отчет о розничных продажах, который при обменах ведет себя нормально.
хотя с другой стороны чек ккм двигает остатки, и в принципе клиент не откажется их видеть в течении дня.
---
А сами документы регистрируются в плане обмена для выгрузки?
---
El_Loco, есть правила обмена, а есть правила регистрации объектов. Для чека вполне возможно есть правило регистрации, в к-ром если база центр то объект не регистрируется к переносу.
---
ZergKRSK, чек и не должен выгружаться стандартно если план обмена не "Полный". Возможно они регистрируются, но в правилах не выгружаются. Проверьте для начала таблицу регистрации для этого узла обмена
---
А сами документы регистрируются в плане обмена для выгрузки?
---
спасибо вам, коллеги!
Вы направили меня на нужный путь.

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

для всех остальных, кто возможно найдет этот топик по поиску, я приведу код запроса для просмотра таблицы изменений:

```1c
    ВЫБРАТЬ
    Изменения.Узел,
    Изменения.Ссылка
    ИЗ
    Документ.ЧекККМ.Изменения КАК Изменения
    ГДЕ
    Изменения.Ссылка = &Ссылка
```
Как разделить большой файл на несколько файлов определенного размера?
---
```1c
    РазделитьФайл("D:/1/MyFile.xml", 1024*1024, "D:/1/11/");
    ОбъединитьФайлы("D:/1/11/MyFile.xml.*", "D:/1/11/MyProg.exe");
```
---
```1c
    РазделитьФайл("D:/1/MyFile.xml", 1024*1024, "D:/1/11/");
    ОбъединитьФайлы("D:/1/11/MyFile.xml.*", "D:/1/11/MyProg.exe");
```
Как организовать считывание данных из файлов *.xls?
---
```1c
    Док = ПолучитьCOMОбъект(Путь + "ценыконкурентов.xls");
    КоличествоСтраниц = 2;

    Для ТекНомер = 1 По КоличествоСтраниц Цикл
    Контрагент = Док.Sheets(ТекНомер).Cells(1,1).Value;
    Товар = Док.Sheets(ТекНомер).Cells(2,2).Value;
    Цена = Док.Sheets(ТекНомер).Cells(2,3).Value;

    счСтроки = 3;
    Сообщить(Строка(Товар) + "-" + Строка(Цена));

    Пока СокрЛП(Товар) <> " Цикл // можно использовать другой признак окончания данных на листе
    Товар = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;
    Цена = Док.Sheets(ТекНомер).Cells(СчСтроки,3).Value;
    Сообщить(Строка(Товар) + "-" + Строка(Цена));
    счСтроки = счСтроки + 1;
    КонецЦикла;
    КонецЦикла;

    Док.Application.Quit();
```
---
```1c
    Док = ПолучитьCOMОбъект(Путь + "ценыконкурентов.xls");
    КоличествоСтраниц = 2;

    Для ТекНомер = 1 По КоличествоСтраниц Цикл
    Контрагент = Док.Sheets(ТекНомер).Cells(1,1).Value;
    Товар = Док.Sheets(ТекНомер).Cells(2,2).Value;
    Цена = Док.Sheets(ТекНомер).Cells(2,3).Value;

    счСтроки = 3;
    Сообщить(Строка(Товар) + "-" + Строка(Цена));

    Пока СокрЛП(Товар) <> " Цикл // можно использовать другой признак окончания данных на листе
    Товар = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;
    Цена = Док.Sheets(ТекНомер).Cells(СчСтроки,3).Value;
    Сообщить(Строка(Товар) + "-" + Строка(Цена));
    счСтроки = счСтроки + 1;
    КонецЦикла;
    КонецЦикла;

    Док.Application.Quit();
```
---
Малавата будет!
Как связать интервалы диаграммы Ганта?
---
```1c
    // Получить значение диаграммы - дежурство Петрова на вахте.
    Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияНаВахте);

    // В значении определить новый интервал.
    Интервал = Значение.Добавить();

    // Запомнить интервал начала связи.
    СвязьИнтервалНачало = Интервал;

    // Получить значение диаграммы - дежурство Петрова в центральном офисе.
    Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияВЦентре);
    Интервал = Значение.Добавить();

    // Запомнить интервал окончания связи.
    СвязьИнтервалКонец = Интервал;

    // Связать два интервала.
    Связь = СвязьИнтервалНачало.Добавить(СвязьИнтервалКонец);
    Связь.Цвет = WebЦвета.Синий;

    // Получить значение диаграммы - дежурство Сидорова на вахте.
    Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияНаВахте);
    Интервал = Значение.Добавить();
    СвязьИнтервалНачало = Интервал;

    // Получить значение диаграммы - дежурство Сидорова в центральном офисе.
    Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияВЦентре);
    Интервал = Значение.Добавить();
    СвязьИнтервалКонец = Интервал;

    // Связать два интервала.
    Связь = СвязьИнтервалНачало.Добавить(СвязьИнтервалКонец);
    Связь.Цвет = WebЦвета.Синий;
```
---
```1c
    // Получить значение диаграммы - дежурство Петрова на вахте.
    Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияНаВахте);

    // В значении определить новый интервал.
    Интервал = Значение.Добавить();

    // Запомнить интервал начала связи.
    СвязьИнтервалНачало = Интервал;

    // Получить значение диаграммы - дежурство Петрова в центральном офисе.
    Значение = ДГ.ПолучитьЗначение(ТочкаП, СерияВЦентре);
    Интервал = Значение.Добавить();

    // Запомнить интервал окончания связи.
    СвязьИнтервалКонец = Интервал;

    // Связать два интервала.
    Связь = СвязьИнтервалНачало.Добавить(СвязьИнтервалКонец);
    Связь.Цвет = WebЦвета.Синий;

    // Получить значение диаграммы - дежурство Сидорова на вахте.
    Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияНаВахте);
    Интервал = Значение.Добавить();
    СвязьИнтервалНачало = Интервал;

    // Получить значение диаграммы - дежурство Сидорова в центральном офисе.
    Значение = ДГ.ПолучитьЗначение(ТочкаС, СерияВЦентре);
    Интервал = Значение.Добавить();
    СвязьИнтервалКонец = Интервал;

    // Связать два интервала.
    Связь = СвязьИнтервалНачало.Добавить(СвязьИнтервалКонец);
    Связь.Цвет = WebЦвета.Синий;
```
Добрый день.
Сейчас запущен 1С-сервер версии 8.2. На него есть программная лицензия. Установил параллельно 1С-сервер 8.3 через другой порт. Когда запускаю базы на 8.3, то вылетает ошибка, что не найдена лицензия на сервер. Я так понимаю, что при запуске базы на 8.2 она забрала себе файл лицензии на сервер, а когда запускаю базу на 8.3 она пытается найти свободный и не находит? Нужно докупать еще одну лицензию на сервер, чтобы параллельно работали базы на платформе 8.3 и на 8.2? Т.е. по факту надо, чтобы в папке с лицензиями на сервер было 2 файла *.lic ?
---
Проблема не нова, вот инструкция: http://infostart.ru/public/288065/
---
zlakizla,
1) Такие вопросы логичнее задавать франчайзи. Заодно цену вопроса сразу поймете.
2) Мы себе купили usb-ключ. Да, он подороже, зато проблем таких нет.
---
kuzev,
Так USB лицензии на сервер тоже есть на 8.1, 8.2 и 8.3. Получается если купили 1С:Предприятие 8.2. Лицензия на сервер (USB), то 8.3 уже на запустится.
---
zlakizla, у меня работают и 8.2 и 8.3 под одной лицензией на сервер (ключ USB), но у других настраивал и программную, - разницы нет. В твоем случае, как я понимаю, у тебя программная. Просто скопируй файл лицензии из 8.2 в 8.3 и все будет работать (можно еще путь, если не ошибаюсь, указать, но лучше пусть два файла, - они места не занимают) 1С, на сколько я знаю, позволяет пользоваться под одной лицензией разными версиями платформы, что, в принципе, логично.
---
Проблема не нова, вот инструкция: http://infostart.ru/public/288065/
Добрый день!
Хочется понять логику работы УТ 11. Операция оформления ПКО на основании заказа клиента.
Допустим, я кассир, хочу внести предоплату наличными от клиента.
Мне приходится заходить в журнал заказов, делать отбор по клиенту в настройках списка, искать нужный заказ по этому клиенту, нажимать ввести на основании.
Почему нельзя создать ПКО, в поле контрагент ввести с клавиатуру первые буквы контрагента, а потом выбрать из ограниченного списка заказ как основание для заполнения?

Хотелось бы услышать ответ грамотного методолога, который знает как правильно пользоваться УТ 11.
---
Kutuzov, А ну да, разница только в том, что в одной форме есть ссылка на основание и в другой нет, и что?
Вам шашечки или ехать? В 1С документы можно вводить по-разному: нравится вводить на основании заказа ПКО - вводите. Не нравится - работайте из журнала ПКО, формируя в нем новый документ и указывая в нем заказы. В одном случае проще вводить на основании, когда сразу подставляется сумма заказа, в другом, когда оплата сразу по нескольким заказам ввод на основании лишняя операция.

Мне приходится заходить в журнал заказов, делать отбор по клиенту в настройках списка, искать нужный заказ по этому клиенту, нажимать ввести на основании.

Вы уверены что именно приходится, а не я так привык? А если ПКО не заводить на основании, а из журнала кассовых документов, что изменится? Или религия не позволяет нажимать на кнопки "подобрать по остаткам"? :)
---
Kutuzov, Кто сказал, что нельзя? Вообще-то именно так и можно. В ПКО есть даже специально обученная кнопка "Подобрать по остаткам" если надо указать сразу несколько заказов.
---
Africa, вот я вручную добавляю заказ в ПКО (см. рис. 1)
Или делаю на основании (см. рис. 2). Разница есть
---
Kutuzov, А ну да, разница только в том, что в одной форме есть ссылка на основание и в другой нет, и что?
Вам шашечки или ехать? В 1С документы можно вводить по-разному: нравится вводить на основании заказа ПКО - вводите. Не нравится - работайте из журнала ПКО, формируя в нем новый документ и указывая в нем заказы. В одном случае проще вводить на основании, когда сразу подставляется сумма заказа, в другом, когда оплата сразу по нескольким заказам ввод на основании лишняя операция.

Мне приходится заходить в журнал заказов, делать отбор по клиенту в настройках списка, искать нужный заказ по этому клиенту, нажимать ввести на основании.

Вы уверены что именно приходится, а не я так привык? А если ПКО не заводить на основании, а из журнала кассовых документов, что изменится? Или религия не позволяет нажимать на кнопки "подобрать по остаткам"? :)
---
Kutuzov, И даже если заказа нет, а уже есть предоплата, то ПКО можно оформить, просто не указывая в документе "основание платежа".
---
ну надо немного изменить программу...
---
в каком интересно месте надо изменить программу?
Africa прав есть кнопка "Подобрать по остаткам" и надо ей пользоваться. или нужно переименовать кнопку например "выбрать заказ" так чтоли?
ак проверить достаточность остатков товаров на складах, указанных в документе?
---
```1c
    ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Размещение КАК Склад,
    ВложенныйЗапрос.КоличествоСписываемое,
    ТоварыНаСкладахОстатки.КоличествоОстаток
    ИЗ
    (ВЫБРАТЬ
    ВнутреннийЗаказТовары.Номенклатура КАК Номенклатура,
    ВнутреннийЗаказТовары.Размещение КАК Размещение,
    СУММА(ВнутреннийЗаказТовары.Количество *ВнутреннийЗаказТовары.Коэффициент) КАК КоличествоСписываемое
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
    ГДЕ
    ВнутреннийЗаказТовары.Ссылка = &Ссылка
    СГРУППИРОВАТЬ ПО
    ВнутреннийЗаказТовары.Номенклатура,
    ВнутреннийЗаказТовары.Размещение
    ) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремениДокумента,
    Склад В (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады)
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
    ГДЕ
    ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка
    И
    НЕ ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады) ЕСТЬ NULL )
    И
    Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВнутреннийЗаказТоварыДляОтбора.Номенклатура
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
    ГДЕ
    ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки
    ПО
    ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ВложенныйЗапрос.Размещение = ТоварыНаСкладахОстатки.Склад
```
---
```1c
    ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Размещение КАК Склад,
    ВложенныйЗапрос.КоличествоСписываемое,
    ТоварыНаСкладахОстатки.КоличествоОстаток
    ИЗ
    (ВЫБРАТЬ
    ВнутреннийЗаказТовары.Номенклатура КАК Номенклатура,
    ВнутреннийЗаказТовары.Размещение КАК Размещение,
    СУММА(ВнутреннийЗаказТовары.Количество *ВнутреннийЗаказТовары.Коэффициент) КАК КоличествоСписываемое
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
    ГДЕ
    ВнутреннийЗаказТовары.Ссылка = &Ссылка
    СГРУППИРОВАТЬ ПО
    ВнутреннийЗаказТовары.Номенклатура,
    ВнутреннийЗаказТовары.Размещение
    ) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремениДокумента,
    Склад В (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады)
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
    ГДЕ
    ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка
    И
    НЕ ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады) ЕСТЬ NULL )
    И
    Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВнутреннийЗаказТоварыДляОтбора.Номенклатура
    ИЗ
    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
    ГДЕ
    ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки
    ПО
    ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ВложенныйЗапрос.Размещение = ТоварыНаСкладахОстатки.Склад
```
Всем добрый вечер. Пишу отчет Анализ продаж в ERP 2.0. Столкнулся со следующей проблемой:
Под пользователем с ограниченными правами отчет формируется очень долго. Под полными правами моментально.
В запросе есть обращение к регистру сведений АналитикаУчетаНоменклатуры.
Решил проверить, простейший запрос к этому регистру (в котором всего 46 тыс записей), под ограниченным правами выполняется около 40 сек. Под полными опять же мгновенно.
Особенно удивило, что для данного регистра нет ни одной роли(кроме полных прав), имеющей права на чтение, что, тем не менее, не мешает получать его данные запросом.
Может кто разбирался с особенностями работы данного регистра?
З.Ы. Тестирование и исправление делал, не помогло.
---
Там скорее всего RLS, права скорее всего как в УТ11 сделаны, к запросу добавляется жуткое соединение из пользователей, групп, регистров соответствия прав на пользователя, на группу, если посмотреть на довольно простой запрос в SQL - там в конце дикое количество параметров будет, план запроса, соответственно, тоже кошмарный. Гляньте план запроса какой он там рисует, в консоли запроса в последней прямо можно по-моему.
---
mymyka, да, еще разделилтели добавляются, еще там что-то, забыл уже. В общем, скиньте запрос из SQL, лучше в терминах метаданных, посмотрим. Хотя, там, думаю, вы и сами увидите в чем проблема...
---
necropunk, спасибо за совет, а можно ссылку на консоль? моя так не умеет.
Насчет РЛС я уже смотрел, на данный регистр доступ на чтение имеют только полные права(раз 5 проверил), соответственно глянуть шаблон РЛС невозможно. Первый раз такое вижу, если честно.
З.Ы. Ограничение по РЛС выставлено только по организации, которой в этом регистре нет.
---
Там скорее всего RLS, права скорее всего как в УТ11 сделаны, к запросу добавляется жуткое соединение из пользователей, групп, регистров соответствия прав на пользователя, на группу, если посмотреть на довольно простой запрос в SQL - там в конце дикое количество параметров будет, план запроса, соответственно, тоже кошмарный. Гляньте план запроса какой он там рисует, в консоли запроса в последней прямо можно по-моему.
---
http://its.1c.ru/db/metod8dev#content:4500:hdoc

вывод данных временных таблиц;
замер времени выполнения запроса и числа строк;
подсветку указанных ячеек в результате запроса;
интерактивное сравнение двух результатов запроса (только в толстом клиенте);
вывод результата запроса в новом окне;
вывод плана выполнения запроса, а также SQL-текст запроса, сформированного в СУБД. Для СУБД Microsoft SQL Server план выполнения выводится в виде дерева, а для остальных СУБД – в текстовом формате технологического журнала. Для упрощения анализа запросов также предусмотрено два режима отображения текстов запросов: с именами таблиц и колонок СУБД или с именами объектов метаданных и реквизитов конфигурации (только в обработке для "1С:Предприятие" версии 8.3).
---
Спасибо, не знал, что на ИТС выложили нормальную консоль.
Вручную создали индекс по регистру. Вроде помогло.
1С:Предприятие 8.3 (8.3.5.1383)конф-бух Бухгалтерия предприятия, редакция 3.0 (3.0.37.36)
В форме списка документа надо в подвале поместить суммы числовых реквизитов документов. Тех которые выведены в Список после применения Пользовательских настроек списка. Имхо лучший алгоритм предложен
http://www.develplatform.com/2013/02/blog-post.html, там есть тестовая конфигурация (конф-тест) в которой всё работает. Перенес модули к себе в конф-бух - не работает. Различия возникают сразу при обращении к значению Список.Отбор
В конф-тест значение=строка условий отбора заданных юзером в Настройках, без учета задания периода и отбора строк поиском. То есть, итоги будут считаться не для тех документов, которые отобрал юзер.
В конф-бух это значение пустое. Строку условий удалось найти только как значение Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0] , также без учета периода и поиска.
Может ли кто ответить на вопросы:
1) Почему может быть такая разница в составе настроек списка в этих конфах. Кстати, и выглядит окно Настроить список в юзеринтерфейсе по разному. Я не понимаю, а отсюда сомнение: ну изменю я немного код, а не придется ли опять менять при обновлении платформы и конфы.
2) Можно ли и как добраться до этих Стандартных команд формы - Поиск и Установка периода, чтобы если не изменить то посмотреть какие они используют реквизиты и алгоритмы. Или надо, как все делают, просто убрать их с формы и пусть юзер использует только отборы в Настройках списка. Или есть вместо них готовые примочки, которые обращаются к Компоновщику Настроек (или надо к Отбору Списка?)
---
Ashaxm, Все проще
http://v8.1c.ru/o7/201404list/index.htm

Но нужно подожать 8.3.6
---
Ashaxm, Все проще
http://v8.1c.ru/o7/201404list/index.htm

Но нужно подожать 8.3.6
---
а сколько надо?
---
1) Почему может быть такая разница в составе настроек списка в этих конфах. Кстати, и выглядит окно Настроить список в юзеринтерфейсе по разному. Я не понимаю, а отсюда сомнение: ну изменю я немного код, а не придется ли опять менять при обновлении платформы и конфы.

Обсуждаемый пример устарел. В платформе 8.3 разработчики унифицировали работу с механизмами СКД в отчетах и динамических списках, в построении отборов теперь участвуют как пользовательские так и фиксированные настройки компоновки данных. Решать задачу до выхода в релиз версии 8.3.6 - смысла очень мало.
Как прочитать (изменить) записи в регистре сведений, подчиненном регистратору?
---
```1c
    НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();

    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор);

    НаборЗаписей.Прочитать();
    Для Каждого Запись Из НаборЗаписей Цикл

    // Чтение и сообщение данных полей записи.
    Сообщить(Строка(Запись.Период) + " " + Строка(Запись.ТипЦен) +" "+ Строка(Запись.Номенклатура) + " " + Строка(Запись.Цена) + " " + Строка(Запись.ПроцентСкидкиНаценки));

    // Изменение данных полей записи.
    Запись.ПроцентСкидкиНаценки = 0;
    КонецЦикла;

    НаборЗаписей.Записать();
```
---
```1c
    НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();

    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор);

    НаборЗаписей.Прочитать();
    Для Каждого Запись Из НаборЗаписей Цикл

    // Чтение и сообщение данных полей записи.
    Сообщить(Строка(Запись.Период) + " " + Строка(Запись.ТипЦен) +" "+ Строка(Запись.Номенклатура) + " " + Строка(Запись.Цена) + " " + Строка(Запись.ПроцентСкидкиНаценки));

    // Изменение данных полей записи.
    Запись.ПроцентСкидкиНаценки = 0;
    КонецЦикла;

    НаборЗаписей.Записать();
```
Как отобразить на географической схеме выбранный город?
---
```1c
    Схема = ЭлементыФормы.ГеоСхема;
    СписокГородов = Новый СписокЗначений;

    // Запретить перерисовку схемы на время обновления.
    Схема.Обновление = Ложь;

    // Отобразить слой Регионы.
    Схема.Слои.Регионы.Видимость = Истина;

    // Задать тип отображения названий городов.
    СлойГорода = Схема.Слои.Города;
    СлойГорода.Серии.Название.ТипОтображения = ТипОтображенияСерииСлояГеографическойСхемы.Текст;

    // Сформировать список городов и скрыть все города.
    Для Счетчик = 0 По СлойГорода.Объекты.Количество() - 1 Цикл
    Город = СлойГорода.Объекты.Получить(Счетчик);
    Город.Видимость = Ложь;
    НазваниеГорода = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Название);
    НазваниеРегиона = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Регион);
    СписокГородов.Добавить(Счетчик, НазваниеГорода.Значение + " (" + НазваниеРегиона.Значение + ")");
    КонецЦикла;

    СлойГорода.Видимость = Истина; // Отобразить слой Города.

    СписокГородов.СортироватьПоПредставлению();
    ВыбранныйГород = СписокГородов.ВыбратьЭлемент();
    Если ВыбранныйГород <> Неопределено Тогда
    ГородСхемы = СлойГорода.Объекты.Получить(ВыбранныйГород.Значение);
    ГородСхемы.Видимость = Истина; // отобразить выбранный город
    КонецЕсли;

    Схема.Обновление = Истина; // Обновить схему.
```
---
```1c
    Схема = ЭлементыФормы.ГеоСхема;
    СписокГородов = Новый СписокЗначений;

    // Запретить перерисовку схемы на время обновления.
    Схема.Обновление = Ложь;

    // Отобразить слой Регионы.
    Схема.Слои.Регионы.Видимость = Истина;

    // Задать тип отображения названий городов.
    СлойГорода = Схема.Слои.Города;
    СлойГорода.Серии.Название.ТипОтображения = ТипОтображенияСерииСлояГеографическойСхемы.Текст;

    // Сформировать список городов и скрыть все города.
    Для Счетчик = 0 По СлойГорода.Объекты.Количество() - 1 Цикл
    Город = СлойГорода.Объекты.Получить(Счетчик);
    Город.Видимость = Ложь;
    НазваниеГорода = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Название);
    НазваниеРегиона = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Регион);
    СписокГородов.Добавить(Счетчик, НазваниеГорода.Значение + " (" + НазваниеРегиона.Значение + ")");
    КонецЦикла;

    СлойГорода.Видимость = Истина; // Отобразить слой Города.

    СписокГородов.СортироватьПоПредставлению();
    ВыбранныйГород = СписокГородов.ВыбратьЭлемент();
    Если ВыбранныйГород <> Неопределено Тогда
    ГородСхемы = СлойГорода.Объекты.Получить(ВыбранныйГород.Значение);
    ГородСхемы.Видимость = Истина; // отобразить выбранный город
    КонецЕсли;

    Схема.Обновление = Истина; // Обновить схему.
```